Skip to contentSkip to conversation

USB: serial: option: add Quectel EC200S-CN module support

PATCH In review Yu-Tung Chang 2 participants 4 messages Sep 30, 2021 – Oct 11, 2021 2 messages not in the archive

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 USB: serial: option: add Quectel EC200S-CN module support

Add usb product id of the Quectel EC200S-CN module.

usb-devices output for 0x6002:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=6002 Rev=03.18
S:  Manufacturer=Android
S:  Product=Android
S:  SerialNumber=0000
C:  #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
---
 drivers/usb/serial/option.c | 2 ++
 1 file changed, 2 insertions(+)
drivers/usb/serial/option.c +2 -0
index 6cfb5d33609f..f65a2e7699bf 100644
@@ -251,6 +251,7 @@ static void option_instat_callback(struct urb *urb);
 #define QUECTEL_PRODUCT_EP06			0x0306
 #define QUECTEL_PRODUCT_EM12			0x0512
 #define QUECTEL_PRODUCT_RM500Q			0x0800
+#define QUECTEL_PRODUCT_EC200S_CN		0x6002
 #define QUECTEL_PRODUCT_EC200T			0x6026
 
 #define CMOTECH_VENDOR_ID			0x16d8
@@ -1128,6 +1129,7 @@ static const struct usb_device_id option_ids[] = {
 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0, 0) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x10),
 	  .driver_info = ZLP },
+	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) },
 
 	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) },
Signature · 1 line
2.33.0
maintainer
#1 lore raw
Quoted 15 lines · Yu-Tung Chang

Add usb product id of the Quectel EC200S-CN module.

usb-devices output for 0x6002:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=6002 Rev=03.18
S:  Manufacturer=Android
S:  Product=Android
S:  SerialNumber=0000
C:  #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)

Looks good now, but for completeness, could you also mention here what the three ports are used for (and which is which)?

Johan

maintainer
#2 lore raw
Quoted 17 lines · Johan Hovold
Quoted 15 lines · Yu-Tung Chang

Add usb product id of the Quectel EC200S-CN module.

usb-devices output for 0x6002:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=6002 Rev=03.18
S:  Manufacturer=Android
S:  Product=Android
S:  SerialNumber=0000
C:  #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
Quoted 2 lines

Looks good now, but for completeness, could you also mention here what the three ports are used for (and which is which)?

I've applied the patch now, so no need to resend, but please list the three ports in a reply if you have that information.

Johan

A message that is not in the archive (sent off-list or not yet received): CAHRgzyNcmhTJHC9vzS-1mbxMLVHw5bYWHVy1+KCvUF61tRnr=A@mail.gmail.com

A message that is not in the archive (sent off-list or not yet received): CAHRgzyO=VOCAV8oGSR15hiifp7NqHCu13KjcTrv3aA2QiURz_g@mail.gmail.com

maintainer
#5 lore raw

[ Adding back the lists on CC so that this gets archived. ]

Quoted 43 lines · Yu-Tung Chang
Quoted 21 lines · Yu-Tung Chang <[email protected]> 于2021年10月9日周六 下午1:39写道:
Quoted 19 lines · Johan Hovold <[email protected]> 于2021年10月7日周四 下午3:57写道:
Quoted 17 lines · Johan Hovold
Quoted 15 lines · Yu-Tung Chang

Add usb product id of the Quectel EC200S-CN module.

usb-devices output for 0x6002:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=6002 Rev=03.18
S:  Manufacturer=Android
S:  Product=Android
S:  SerialNumber=0000
C:  #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether
I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:  If#=0x2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#=0x4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
Quoted 8 lines
Quoted 5 lines
Quoted 2 lines

Looks good now, but for completeness, could you also mention here what the three ports are used for (and which is which)?

I've applied the patch now, so no need to resend, but please list the three ports in a reply if you have that information.

ttyUSB0 used for debugging, ttyUSB1 used for AT commands, ttyUSB2 used for PPP dialing.

and lsusb.py -i -e output info:
1-1 2c7c:6002 ef 5IFs [USB 2.00, 480 Mbps, 500mA]
(Android Android 0000)

                      (EP) 00: Control attr 00 len 07 max 040
    1-1:1.0           (IF) 02:06:00 1EP  (Communications) cdc_ether net/usb0
                        (EP) 87: Interrupt (4096ms) attr 03 len 07 max 040
    1-1:1.1           (IF) 0a:00:00 2EPs (CDC Data) cdc_ether
                        (EP) 83: Bulk attr 02 len 07 max 200
                        (EP) 0c: Bulk attr 02 len 07 max 200
    1-1:1.2           (IF) ff:00:00 2EPs (Vendor Specific Class) option ttyUSB0
                        (EP) 0b: Bulk attr 02 len 07 max 200
                        (EP) 82: Bulk attr 02 len 07 max 200
Quoted 8 lines
    1-1:1.3           (IF) ff:00:00 3EPs (Vendor Specific Class) option ttyUSB1
                        (EP) 89: Interrupt (4096ms) attr 03 len 07 max 040
                        (EP) 86: Bulk attr 02 len 07 max 200
                        (EP) 0f: Bulk attr 02 len 07 max 200
    1-1:1.4           (IF) ff:00:00 3EPs (Vendor Specific Class) option ttyUSB2
                        (EP) 81: Bulk attr 02 len 07 max 200
                        (EP) 0a: Bulk attr 02 len 07 max 200
                        (EP) 88: Interrupt (4096ms) attr 03 len 07 max 040

Perfect, thanks for the details.

Johan