Dan Williams <dcbw@xxxxxxxxxx> writes: > On Wed, 2012-05-16 at 22:41 +0200, Thomas Schäfer wrote: >> >> The device 12d1:14c3 -->usb_modeswitch --> 12d1:14c8 >> >> >> should be added to the ID-list of "option" and "qmi_wwan". > > qmi_wwan and option are mutually exclusive. Any device that needs IDs > in qmi_wwan should also have IDs in qcserial, not option. I think you are a little too strict here. Any *Gobi* device should have IDs in qcserial. But there are QMI devices which do not qualify as Gobi devices (the Huawei E392 is one example). These are not supported by the qcserial driver and should probably be handled by the option driver instead. The device Thomas has, is obviously also such a device. It has bNumInterfaces 7 so it cannot be supported by the qcserial driver. It also has the same strange nearly-cdc-ether descriptors as the E392: Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 1 bInterfaceProtocol 57 iInterface 0 ** UNRECOGNIZED: 05 24 00 10 01 ** UNRECOGNIZED: 0d 24 0f 01 00 00 00 00 08 06 01 00 00 ** UNRECOGNIZED: 05 24 06 03 04 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x85 EP 5 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 5 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 Vendor Specific Class [cut] The UNRECOGNIZED descriptors are CDC descriptors. The last one is CDC Union referring to these two interfaces (3 and 4). This device should be handled like the E392, which means that we need to add if #3 to cdc-wdm and if #4 to qmi_wwan. > And vice-versa: if it's got IDs in qcserial, it should also have them > in qmi_wwan. Let's hope that is correct as we've made that assumption for 3.4 :-) > (except for those devices where the OEM has modified the firmware > descriptors so the device actually exports a standard network interface > like cdc-ether; but in this case option still is the wrong choice) Why? The option driver with appropriate blacklisting of non-serial interfaces should work OK for such devices. Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html