All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] USB: serial: option: add Quectel EM060K modem
@ 2022-07-19 11:28 Yonglin Tan
  2022-07-24  8:41 ` Johan Hovold
  2022-08-29 13:17 ` Johan Hovold
  0 siblings, 2 replies; 6+ messages in thread
From: Yonglin Tan @ 2022-07-19 11:28 UTC (permalink / raw)
  To: johan; +Cc: gregkh, linux-usb, linux-kernel, Yonglin Tan

Add usb product id entry for the Quectel EM060K module.

"MBIM mode": DIAG + NMEA + AT + MODEM + MBIM

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  8 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=030b Rev= 5.04
S:  Manufacturer=Quectel
S:  Product=EM060K-GL
S:  SerialNumber=89fb57db
C:* #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA
A:  FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 8 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
E:  Ad=88(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
I:  If#= 9 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:* If#= 9 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
E:  Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#=12 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=70 Driver=(none)
E:  Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Signed-off-by: Yonglin Tan <yonglin.tan@outlook.com>
---
 drivers/usb/serial/option.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index de59fa9..9c2039e 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -253,6 +253,7 @@ static void option_instat_callback(struct urb *urb);
 #define QUECTEL_PRODUCT_BG96			0x0296
 #define QUECTEL_PRODUCT_EP06			0x0306
 #define QUECTEL_PRODUCT_EM05G			0x030a
+#define QUECTEL_PRODUCT_EM060K			0x030b
 #define QUECTEL_PRODUCT_EM12			0x0512
 #define QUECTEL_PRODUCT_RM500Q			0x0800
 #define QUECTEL_PRODUCT_EC200S_CN		0x6002
@@ -1138,6 +1139,9 @@ static const struct usb_device_id option_ids[] = {
 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0, 0) },
 	{ USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G, 0xff),
 	  .driver_info = RSVD(6) | ZLP },
+	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x40) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x30) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0, 0x40) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0xff, 0xff),
 	  .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 },
 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) },
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] USB: serial: option: add Quectel EM060K modem
  2022-07-19 11:28 [PATCH] USB: serial: option: add Quectel EM060K modem Yonglin Tan
@ 2022-07-24  8:41 ` Johan Hovold
  2022-07-30  7:32   ` 回复: " 谭 永林
  2022-08-29 13:17 ` Johan Hovold
  1 sibling, 1 reply; 6+ messages in thread
From: Johan Hovold @ 2022-07-24  8:41 UTC (permalink / raw)
  To: Yonglin Tan; +Cc: gregkh, linux-usb, linux-kernel

On Tue, Jul 19, 2022 at 07:28:00PM +0800, Yonglin Tan wrote:
> Add usb product id entry for the Quectel EM060K module.
> 
> "MBIM mode": DIAG + NMEA + AT + MODEM + MBIM
> 
> T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  8 Spd=480  MxCh= 0
> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=2c7c ProdID=030b Rev= 5.04
> S:  Manufacturer=Quectel
> S:  Product=EM060K-GL
> S:  SerialNumber=89fb57db
> C:* #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA
> A:  FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
> I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
> E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=option
> E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
> E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
> E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
> E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
> E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
> E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 8 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
> E:  Ad=88(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
> I:  If#= 9 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
> I:* If#= 9 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
> E:  Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#=12 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=70 Driver=(none)
> E:  Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

What's this last interface used for?

Johan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* 回复: [PATCH] USB: serial: option: add Quectel EM060K modem
  2022-07-24  8:41 ` Johan Hovold
@ 2022-07-30  7:32   ` 谭 永林
  2022-08-03  8:20     ` Johan Hovold
  0 siblings, 1 reply; 6+ messages in thread
From: 谭 永林 @ 2022-07-30  7:32 UTC (permalink / raw)
  To: Johan Hovold; +Cc: gregkh, linux-usb, linux-kernel

Dear Johan,

The last interface is used for Qualcomm WWAN module's QDSS(Qualcomm Debug Sub-System) port. Users use the QDSS interface to acquire Modem subsystem log. It is used to work with DIAG port. Therefore, we don't have to bind this interface with any driver.


-----邮件原件-----
发件人: Johan Hovold <johan@kernel.org> 
发送时间: 2022年7月24日 16:41
收件人: Yonglin Tan <yonglin.tan@outlook.com>
抄送: gregkh@linuxfoundation.org; linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org
主题: Re: [PATCH] USB: serial: option: add Quectel EM060K modem

On Tue, Jul 19, 2022 at 07:28:00PM +0800, Yonglin Tan wrote:
> Add usb product id entry for the Quectel EM060K module.
> 
> "MBIM mode": DIAG + NMEA + AT + MODEM + MBIM
> 
> T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  8 Spd=480  MxCh= 0
> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=2c7c ProdID=030b Rev= 5.04
> S:  Manufacturer=Quectel
> S:  Product=EM060K-GL
> S:  SerialNumber=89fb57db
> C:* #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA
> A:  FirstIf#= 8 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
> I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
> E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=option
> E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
> E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
> E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
> E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option
> E:  Ad=87(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
> E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 8 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
> E:  Ad=88(I) Atr=03(Int.) MxPS=  64 Ivl=32ms
> I:  If#= 9 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
> I:* If#= 9 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
> E:  Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#=12 Alt= 0 #EPs= 1 Cls=ff(vend.) Sub=ff Prot=70 Driver=(none)
> E:  Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

What's this last interface used for?

Johan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 回复: [PATCH] USB: serial: option: add Quectel EM060K modem
  2022-07-30  7:32   ` 回复: " 谭 永林
@ 2022-08-03  8:20     ` Johan Hovold
  2022-08-08  6:38       ` 回复: " 谭 永林
  0 siblings, 1 reply; 6+ messages in thread
From: Johan Hovold @ 2022-08-03  8:20 UTC (permalink / raw)
  To: 谭 永林; +Cc: gregkh, linux-usb, linux-kernel

On Sat, Jul 30, 2022 at 07:32:47AM +0000, 谭 永林 wrote:

> The last interface is used for Qualcomm WWAN module's QDSS(Qualcomm
> Debug Sub-System) port. Users use the QDSS interface to acquire Modem
> subsystem log. It is used to work with DIAG port. Therefore, we don't
> have to bind this interface with any driver.

Thanks for the details (I can add QDSS to the summary of the interface
layout in the commit message when applying).

But are you saying that it's not needed because that data is available
also over the DIAG port? Or is there some libusb driver that should be
used to access the QDSS port?

Johan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* 回复: 回复: [PATCH] USB: serial: option: add Quectel EM060K modem
  2022-08-03  8:20     ` Johan Hovold
@ 2022-08-08  6:38       ` 谭 永林
  0 siblings, 0 replies; 6+ messages in thread
From: 谭 永林 @ 2022-08-08  6:38 UTC (permalink / raw)
  To: Johan Hovold; +Cc: gregkh, linux-usb, linux-kernel

Dear Johan,

The QDSS port only be used for capturing modem's log. The user application acquires the modem's log by accessing the BULK_IN EP. And no other operation requirements on this interface. 

Best Regards.

-----邮件原件-----
发件人: Johan Hovold <johan@kernel.org> 
发送时间: 2022年8月3日 16:20
收件人: 谭 永林 <yonglin.tan@outlook.com>
抄送: gregkh@linuxfoundation.org; linux-usb@vger.kernel.org; linux-kernel@vger.kernel.org
主题: Re: 回复: [PATCH] USB: serial: option: add Quectel EM060K modem

On Sat, Jul 30, 2022 at 07:32:47AM +0000, 谭 永林 wrote:

> The last interface is used for Qualcomm WWAN module's QDSS(Qualcomm 
> Debug Sub-System) port. Users use the QDSS interface to acquire Modem 
> subsystem log. It is used to work with DIAG port. Therefore, we don't 
> have to bind this interface with any driver.

Thanks for the details (I can add QDSS to the summary of the interface layout in the commit message when applying).

But are you saying that it's not needed because that data is available also over the DIAG port? Or is there some libusb driver that should be used to access the QDSS port?

Johan

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] USB: serial: option: add Quectel EM060K modem
  2022-07-19 11:28 [PATCH] USB: serial: option: add Quectel EM060K modem Yonglin Tan
  2022-07-24  8:41 ` Johan Hovold
@ 2022-08-29 13:17 ` Johan Hovold
  1 sibling, 0 replies; 6+ messages in thread
From: Johan Hovold @ 2022-08-29 13:17 UTC (permalink / raw)
  To: Yonglin Tan; +Cc: gregkh, linux-usb, linux-kernel

On Tue, Jul 19, 2022 at 07:28:00PM +0800, Yonglin Tan wrote:
> Add usb product id entry for the Quectel EM060K module.
> 
> "MBIM mode": DIAG + NMEA + AT + MODEM + MBIM

> Signed-off-by: Yonglin Tan <yonglin.tan@outlook.com>

Now applied with an added comment about the QDSS interface and the
id-entries sorted.

Johan

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-08-29 13:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-19 11:28 [PATCH] USB: serial: option: add Quectel EM060K modem Yonglin Tan
2022-07-24  8:41 ` Johan Hovold
2022-07-30  7:32   ` 回复: " 谭 永林
2022-08-03  8:20     ` Johan Hovold
2022-08-08  6:38       ` 回复: " 谭 永林
2022-08-29 13:17 ` Johan Hovold

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.