Re: [PATCH] USB: qmi_wwan: Add quirk for Quectel EC20 Mini PCIe module

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

 



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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux