Quectel: more specific GUID
Quectel seems to re-use USB VID & PIDs between some modems like the EG20, EC21, EC25, EG25 which results in the same GUIDs for these devices. For firmware updates we need to have 100% unique GUIDs to avoid that firmware for the EG25 is installed on an EG20 for example.
As suggested by @hughsient, the GUID should include the modem name:
Yes, but please do something like:
USB\VID_2C7C&PID_0125&REV_0001&NAME_EC25GGB
as then we know what it is.
(https://github.com/fwupd/fwupd/pull/4076#issuecomment-994569955)
Questions:
- How should we get this name? We cannot base ourselves on the VID & PID because they are re-used between similar models.
- This should end up in the Quectel plugin, but I haven't found any example in other plugins. I think it boils down to overwriting
mm_firmware_update_settings_get_device_ids
in the plugin (source: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/blob/main/src/mm-iface-modem-firmware.c#L425)? - If we overwrite the device ids method in the plugin, should we still add the generic device ids? I think we don't have to, but that might break some LVFS vendor setups? Can we call this
add_generic_device_ids
method from the plugin then? I think we need to make it part of the public API first then?