Re: [OpenWrt-Devel] [PATCH] kernel/generic: 3.18, 4.y: Add support for Quectel EC20 Mini PCIe module

2015-11-21 Thread John Crispin
Thanks, i dropped the 4.0 part as we dont have that in trunk anymore

John

On 11/11/2015 14:18, Petr Štetiar wrote:
> * both patches (qcserial/qmi_wwan) were submitted upstream[1,2]
> * build tested on 3.18 and 4.1
> * run tested on imx6 platform with 4.1
> 
> 1. http://article.gmane.org/gmane.linux.usb.general/132998
> 2. http://article.gmane.org/gmane.linux.usb.general/133113
> 
> Signed-off-by: Petr Štetiar 
> ---
>  ...l-Add-support-for-Quectel-EC20-Mini-PCIe-.patch |  119 
> 
>  ...n-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch |  101 +
>  ...l-Add-support-for-Quectel-EC20-Mini-PCIe-.patch |  119 
> 
>  ...n-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch |  101 +
>  ...l-Add-support-for-Quectel-EC20-Mini-PCIe-.patch |  119 
> 
>  ...n-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch |  101 +
>  ...l-Add-support-for-Quectel-EC20-Mini-PCIe-.patch |  119 
> 
>  ...n-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch |  101 +
>  8 files changed, 880 insertions(+)
>  create mode 100644 
> target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
>  create mode 100644 
> target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
>  create mode 100644 
> target/linux/generic/patches-4.0/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
>  create mode 100644 
> target/linux/generic/patches-4.0/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
>  create mode 100644 
> target/linux/generic/patches-4.1/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
>  create mode 100644 
> target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
>  create mode 100644 
> target/linux/generic/patches-4.3/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
>  create mode 100644 
> target/linux/generic/patches-4.3/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
> 
> diff --git 
> a/target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
>  
> b/target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
> new file mode 100644
> index 000..f56941c
> --- /dev/null
> +++ 
> b/target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
> @@ -0,0 +1,119 @@
> +From 128524b9db3e4f4245226852bee771bd03db75be Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Petr=20=C5=A0tetiar?= 
> +Date: Tue, 3 Nov 2015 11:01:42 +0100
> +Subject: [PATCH 1/2] USB: qcserial: Add support for Quectel EC20 Mini PCIe
> + module
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +It seems like 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 which makes it currently unusable:
> +
> + usbcore: registered new interface driver qcserial
> + usbserial: USB Serial support registered for Qualcomm USB modem
> + usb 2-1.2: unknown number of interfaces: 5
> +
> +lsusb output:
> +
> + Bus 002 Device 003: ID 05c6:9215 Qualcomm, Inc. Acer Gobi 2000 Wireless
> + Device Descriptor:
> +   bLength18
> +   bDescriptorType 1
> +   bcdUSB   2.00
> +   bDeviceClass0 (Defined at Interface level)
> +   bDeviceSubClass 0
> +   bDeviceProtocol 0
> +   bMaxPacketSize064
> +   idVendor   0x05c6 Qualcomm, Inc.
> +   idProduct  0x9215 Acer Gobi 2000 Wireless Modem
> +   bcdDevice2.32
> +   iManufacturer   1 Quectel
> +   iProduct2 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 
> +---
> + drivers/usb/serial/qcserial.c |   39 +++
> + 1 file changed, 39 insertions(+)
> +
> +diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
> +index ebcec8c..d462132 100644
> +--- a/drivers/usb/serial/qcserial.c
>  b/drivers/usb/serial/qcserial.c
> +@@ -22,6 +22,8 @@
> + #define DRIVER_AUTHOR "Qualcomm Inc"
> + #define DRIVER_DESC "Qualcomm USB Serial driver"
> + 
> ++#define QUECTEL_EC20_IDPRODUCT 0x9215
> ++
> + /* standard device layouts supported by this 

[OpenWrt-Devel] [PATCH] kernel/generic: 3.18, 4.y: Add support for Quectel EC20 Mini PCIe module

2015-11-11 Thread Petr Štetiar
* both patches (qcserial/qmi_wwan) were submitted upstream[1,2]
* build tested on 3.18 and 4.1
* run tested on imx6 platform with 4.1

1. http://article.gmane.org/gmane.linux.usb.general/132998
2. http://article.gmane.org/gmane.linux.usb.general/133113

Signed-off-by: Petr Štetiar 
---
 ...l-Add-support-for-Quectel-EC20-Mini-PCIe-.patch |  119 
 ...n-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch |  101 +
 ...l-Add-support-for-Quectel-EC20-Mini-PCIe-.patch |  119 
 ...n-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch |  101 +
 ...l-Add-support-for-Quectel-EC20-Mini-PCIe-.patch |  119 
 ...n-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch |  101 +
 ...l-Add-support-for-Quectel-EC20-Mini-PCIe-.patch |  119 
 ...n-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch |  101 +
 8 files changed, 880 insertions(+)
 create mode 100644 
target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
 create mode 100644 
target/linux/generic/patches-3.18/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
 create mode 100644 
target/linux/generic/patches-4.0/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
 create mode 100644 
target/linux/generic/patches-4.0/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
 create mode 100644 
target/linux/generic/patches-4.1/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
 create mode 100644 
target/linux/generic/patches-4.1/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch
 create mode 100644 
target/linux/generic/patches-4.3/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
 create mode 100644 
target/linux/generic/patches-4.3/193-USB-qmi_wwan-Add-quirk-for-Quectel-EC20-Mini-PCIe-mo.patch

diff --git 
a/target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
 
b/target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
new file mode 100644
index 000..f56941c
--- /dev/null
+++ 
b/target/linux/generic/patches-3.18/192-USB-qcserial-Add-support-for-Quectel-EC20-Mini-PCIe-.patch
@@ -0,0 +1,119 @@
+From 128524b9db3e4f4245226852bee771bd03db75be Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20=C5=A0tetiar?= 
+Date: Tue, 3 Nov 2015 11:01:42 +0100
+Subject: [PATCH 1/2] USB: qcserial: Add support for Quectel EC20 Mini PCIe
+ module
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It seems like 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 which makes it currently unusable:
+
+   usbcore: registered new interface driver qcserial
+   usbserial: USB Serial support registered for Qualcomm USB modem
+   usb 2-1.2: unknown number of interfaces: 5
+
+lsusb output:
+
+   Bus 002 Device 003: ID 05c6:9215 Qualcomm, Inc. Acer Gobi 2000 Wireless
+   Device Descriptor:
+ bLength18
+ bDescriptorType 1
+ bcdUSB   2.00
+ bDeviceClass0 (Defined at Interface level)
+ bDeviceSubClass 0
+ bDeviceProtocol 0
+ bMaxPacketSize064
+ idVendor   0x05c6 Qualcomm, Inc.
+ idProduct  0x9215 Acer Gobi 2000 Wireless Modem
+ bcdDevice2.32
+ iManufacturer   1 Quectel
+ iProduct2 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 
+---
+ drivers/usb/serial/qcserial.c |   39 +++
+ 1 file changed, 39 insertions(+)
+
+diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
+index ebcec8c..d462132 100644
+--- a/drivers/usb/serial/qcserial.c
 b/drivers/usb/serial/qcserial.c
+@@ -22,6 +22,8 @@
+ #define DRIVER_AUTHOR "Qualcomm Inc"
+ #define DRIVER_DESC "Qualcomm USB Serial driver"
+ 
++#define QUECTEL_EC20_IDPRODUCT 0x9215
++
+ /* standard device layouts supported by this driver */
+ enum qcserial_layouts {
+   QCSERIAL_G2K = 0,   /* Gobi 2000 */
+@@ -167,6 +169,38 @@ static const struct usb_device_id id_table[] = {
+ };
+ MODULE_DEVICE_TABLE(usb, id_table);
+ 
++static int handle_quectel_ec20(struct device *dev, int ifnum)
++{
++  int altsetting =