Petr Štetiar <yn...@true.cz> 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 <yn...@true.cz>
> ---
>  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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to