Re: [PATCH] MM: Wavecom: Forbidden Sierra Wireless MC7750



Aleksander Morgado <aleksander lanedo com> writes:
On 05/27/2013 04:07 AM, Heiher wrote:
Hello,

When I disable qmi-wwan kernel module, the default plugin for MC7750 is
'wavecom' in ModemManager. The Sierra Wireless MC7750 (0x114f:0x68a2) is
not wavecom complatible device. Should be forbidden it?


That's completely unexpected.

Shouldn't be.  The qcserial and qmi_wwan drivers expected it :)

Did the MC7750 really report itself with
the Wavecom USB vendor ID? It should have been Sierra Wireless' vendor
ID (0x1199) not the Wavecom one (0x114f). Truth is that Sierra Wireless
bought Wavecom, so I guess they can do whatever they want with the USB
IDs, but this is just unfortunate :)

Yes, it is a bit unfortunate, but it seems they use different vendor IDs
for the MC7700, MC7710 and MC7750 based on looking at the drivers Lenovo
provide.  That's why we have this:

bjorn nemi:/usr/local/src/git/linux$ git grep MC77 drivers/usb/serial/
drivers/usb/serial/qcserial.c:  {USB_DEVICE(0x1199, 0x901b)},   /* Sierra Wireless MC7770 */
drivers/usb/serial/qcserial.c:  {USB_DEVICE_INTERFACE_NUMBER(0x0f3d, 0x68a2, 0)},       /* Sierra Wireless 
MC7700 Device Management */
drivers/usb/serial/qcserial.c:  {USB_DEVICE_INTERFACE_NUMBER(0x0f3d, 0x68a2, 2)},       /* Sierra Wireless 
MC7700 NMEA */
drivers/usb/serial/qcserial.c:  {USB_DEVICE_INTERFACE_NUMBER(0x0f3d, 0x68a2, 3)},       /* Sierra Wireless 
MC7700 Modem */
drivers/usb/serial/qcserial.c:  {USB_DEVICE_INTERFACE_NUMBER(0x114f, 0x68a2, 0)},       /* Sierra Wireless 
MC7750 Device Management */
drivers/usb/serial/qcserial.c:  {USB_DEVICE_INTERFACE_NUMBER(0x114f, 0x68a2, 2)},       /* Sierra Wireless 
MC7750 NMEA */
drivers/usb/serial/qcserial.c:  {USB_DEVICE_INTERFACE_NUMBER(0x114f, 0x68a2, 3)},       /* Sierra Wireless 
MC7750 Modem */
drivers/usb/serial/qcserial.c:  {USB_DEVICE_INTERFACE_NUMBER(0x1199, 0x68a2, 0)},       /* Sierra Wireless 
MC7710 Device Management */
drivers/usb/serial/qcserial.c:  {USB_DEVICE_INTERFACE_NUMBER(0x1199, 0x68a2, 2)},       /* Sierra Wireless 
MC7710 NMEA */
drivers/usb/serial/qcserial.c:  {USB_DEVICE_INTERFACE_NUMBER(0x1199, 0x68a2, 3)},       /* Sierra Wireless 
MC7710 Modem */


I assume the reason is related to their magic PID changing.  By varying
the VID they can provide unique device IDs while still allowing the same
firmware to change between the same set of PIDs.

A not-so-nice side effect of this is that the Lenovo BIOS whitelisting
of MC7750 doesn't apply to MC7710 modules.  They need a separate
whitelist entry.  This might be an intentional side effect for all I
know...



Bjørn


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]