Petr Štetiar <ynezz@xxxxxxx> writes: > This device has same vendor and product IDs as G2K devices, but it has > different number of interfaces(4 vs 5) and also different interface > layout where EC20 has QMI on interface 4 instead of 0. > > lsusb output: > > Bus 002 Device 003: ID 05c6:9215 Qualcomm, Inc. Acer Gobi 2000 > Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 2.00 > bDeviceClass 0 (Defined at Interface level) > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 64 > idVendor 0x05c6 Qualcomm, Inc. > idProduct 0x9215 Acer Gobi 2000 Wireless Modem > bcdDevice 2.32 > iManufacturer 1 Quectel > iProduct 2 Quectel LTE Module > iSerial 0 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 209 > bNumInterfaces 5 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0xa0 > (Bus Powered) > Remote Wakeup > MaxPower 500mA > > Signed-off-by: Petr Štetiar <ynezz@xxxxxxx> > --- > drivers/net/usb/qmi_wwan.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c > index 2a7c1be..385b5e3 100644 > --- a/drivers/net/usb/qmi_wwan.c > +++ b/drivers/net/usb/qmi_wwan.c > @@ -822,6 +822,7 @@ static const struct usb_device_id products[] = { > {QMI_GOBI_DEVICE(0x05c6, 0x9245)}, /* Samsung Gobi 2000 Modem device (VL176) */ > {QMI_GOBI_DEVICE(0x03f0, 0x251d)}, /* HP Gobi 2000 Modem device (VP412) */ > {QMI_GOBI_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */ > + {QMI_FIXED_INTF(0x05c6, 0x9215, 4)}, /* Quectel EC20 Mini PCIe */ > {QMI_GOBI_DEVICE(0x05c6, 0x9265)}, /* Asus Gobi 2000 Modem device (VR305) */ > {QMI_GOBI_DEVICE(0x05c6, 0x9235)}, /* Top Global Gobi 2000 Modem device (VR306) */ > {QMI_GOBI_DEVICE(0x05c6, 0x9275)}, /* iRex Technologies Gobi 2000 Modem device (VR307) */ > @@ -853,10 +854,24 @@ static const struct usb_device_id products[] = { > }; > MODULE_DEVICE_TABLE(usb, products); > > +static int quectel_ec20_detected(struct usb_interface *intf) > +{ > + struct usb_device *dev = interface_to_usbdev(intf); > + > + if (dev->actconfig && > + le16_to_cpu(dev->descriptor.idVendor) == 0x05c6 && > + le16_to_cpu(dev->descriptor.idProduct) == 0x9215 && > + dev->actconfig->desc.bNumInterfaces == 5) > + return 1; > + > + return 0; > +} make this function return bool. And the patch should go to netdev. With those changes it looks good to me. But I haven't tested it, so I trust your testing :) 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