Linux-USB Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] USB: serial: option: add support for Quectel RM500Q in QDL mode
@ 2020-01-14 13:29 Reinhard Speyerer
  2020-01-16 15:56 ` Johan Hovold
  2020-01-16 16:00 ` Johan Hovold
  0 siblings, 2 replies; 5+ messages in thread
From: Reinhard Speyerer @ 2020-01-14 13:29 UTC (permalink / raw)
  To: Johan Hovold; +Cc: Kristian Evensen, linux-usb

Add support for Quectel RM500Q in QDL mode.

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 24 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=0800 Rev= 0.00
S:  Manufacturer=Qualcomm CDMA Technologies MSM
S:  Product=QUSB_BULK_SN:xxxxxxxx
S:  SerialNumber=xxxxxxxx
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=  2mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=10 Driver=option
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

It is assumed that the ZLP flag required for other Qualcomm-based
5G devices also applies to Quectel RM500Q.

Signed-off-by: Reinhard Speyerer <rspmn@arcor.de>
---
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 62bad1b2c18e..084cc2fff3ae 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -1107,6 +1107,8 @@ static const struct usb_device_id option_ids[] = {
 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x30) },
 	{ 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(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) },
 	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) },

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

* Re: [PATCH] USB: serial: option: add support for Quectel RM500Q in QDL mode
  2020-01-14 13:29 [PATCH] USB: serial: option: add support for Quectel RM500Q in QDL mode Reinhard Speyerer
@ 2020-01-16 15:56 ` Johan Hovold
  2020-01-16 16:00 ` Johan Hovold
  1 sibling, 0 replies; 5+ messages in thread
From: Johan Hovold @ 2020-01-16 15:56 UTC (permalink / raw)
  To: Reinhard Speyerer; +Cc: Johan Hovold, Kristian Evensen, linux-usb

On Tue, Jan 14, 2020 at 02:29:23PM +0100, Reinhard Speyerer wrote:
> Add support for Quectel RM500Q in QDL mode.
> 
> T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 24 Spd=480  MxCh= 0
> D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=2c7c ProdID=0800 Rev= 0.00
> S:  Manufacturer=Qualcomm CDMA Technologies MSM
> S:  Product=QUSB_BULK_SN:xxxxxxxx
> S:  SerialNumber=xxxxxxxx
> C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=  2mA
> I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=10 Driver=option
> E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> 
> It is assumed that the ZLP flag required for other Qualcomm-based
> 5G devices also applies to Quectel RM500Q.
> 
> Signed-off-by: Reinhard Speyerer <rspmn@arcor.de>

Applied, thanks.

Johan

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

* Re: [PATCH] USB: serial: option: add support for Quectel RM500Q in QDL mode
  2020-01-14 13:29 [PATCH] USB: serial: option: add support for Quectel RM500Q in QDL mode Reinhard Speyerer
  2020-01-16 15:56 ` Johan Hovold
@ 2020-01-16 16:00 ` Johan Hovold
  2020-01-16 22:35   ` Reinhard Speyerer
  1 sibling, 1 reply; 5+ messages in thread
From: Johan Hovold @ 2020-01-16 16:00 UTC (permalink / raw)
  To: Reinhard Speyerer; +Cc: Johan Hovold, Kristian Evensen, linux-usb

On Tue, Jan 14, 2020 at 02:29:23PM +0100, Reinhard Speyerer wrote:
> Add support for Quectel RM500Q in QDL mode.
> 
> T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 24 Spd=480  MxCh= 0
> D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=2c7c ProdID=0800 Rev= 0.00
> S:  Manufacturer=Qualcomm CDMA Technologies MSM
> S:  Product=QUSB_BULK_SN:xxxxxxxx
> S:  SerialNumber=xxxxxxxx
> C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=  2mA
> I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=10 Driver=option
> E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> 
> It is assumed that the ZLP flag required for other Qualcomm-based
> 5G devices also applies to Quectel RM500Q.
> 
> Signed-off-by: Reinhard Speyerer <rspmn@arcor.de>
> ---
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index 62bad1b2c18e..084cc2fff3ae 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -1107,6 +1107,8 @@ static const struct usb_device_id option_ids[] = {
>  	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) },
>  	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x30) },
>  	{ 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 },

By the way, don't you want NCTRL(0) here too (cf. Telit SBL FN980).

>  	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) },
>  	{ USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) },

Johan

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

* Re: [PATCH] USB: serial: option: add support for Quectel RM500Q in QDL mode
  2020-01-16 16:00 ` Johan Hovold
@ 2020-01-16 22:35   ` Reinhard Speyerer
  2020-01-17 10:19     ` Johan Hovold
  0 siblings, 1 reply; 5+ messages in thread
From: Reinhard Speyerer @ 2020-01-16 22:35 UTC (permalink / raw)
  To: Johan Hovold; +Cc: Kristian Evensen, linux-usb

On Thu, Jan 16, 2020 at 05:00:16PM +0100, Johan Hovold wrote:
> On Tue, Jan 14, 2020 at 02:29:23PM +0100, Reinhard Speyerer wrote:
> > Add support for Quectel RM500Q in QDL mode.
> > 
> > T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 24 Spd=480  MxCh= 0
> > D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> > P:  Vendor=2c7c ProdID=0800 Rev= 0.00
> > S:  Manufacturer=Qualcomm CDMA Technologies MSM
> > S:  Product=QUSB_BULK_SN:xxxxxxxx
> > S:  SerialNumber=xxxxxxxx
> > C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=  2mA
> > I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=10 Driver=option
> > E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> > E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> > 
> > It is assumed that the ZLP flag required for other Qualcomm-based
> > 5G devices also applies to Quectel RM500Q.
> > 
> > Signed-off-by: Reinhard Speyerer <rspmn@arcor.de>
> > ---
> > diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> > index 62bad1b2c18e..084cc2fff3ae 100644
> > --- a/drivers/usb/serial/option.c
> > +++ b/drivers/usb/serial/option.c
> > @@ -1107,6 +1107,8 @@ static const struct usb_device_id option_ids[] = {
> >  	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) },
> >  	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x30) },
> >  	{ 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 },
> 
> By the way, don't you want NCTRL(0) here too (cf. Telit SBL FN980).

Hi Johan,

NCTRL(0) is also used for the diag port of the Telit FN980 while it
is not used for the diag port of the RM500Q in Kristian's patch.

So far I have not observed any problems when using the diag and the QDL
ports of the RM500Q without NCTRL(0).

Unless you or Kristian would prefer to have this changed I would suggest
to keep it as is now.

Regards,
Reinhard

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

* Re: [PATCH] USB: serial: option: add support for Quectel RM500Q in QDL mode
  2020-01-16 22:35   ` Reinhard Speyerer
@ 2020-01-17 10:19     ` Johan Hovold
  0 siblings, 0 replies; 5+ messages in thread
From: Johan Hovold @ 2020-01-17 10:19 UTC (permalink / raw)
  To: Reinhard Speyerer; +Cc: Johan Hovold, Kristian Evensen, linux-usb

On Thu, Jan 16, 2020 at 11:35:42PM +0100, Reinhard Speyerer wrote:
> On Thu, Jan 16, 2020 at 05:00:16PM +0100, Johan Hovold wrote:
> > On Tue, Jan 14, 2020 at 02:29:23PM +0100, Reinhard Speyerer wrote:
> > > Add support for Quectel RM500Q in QDL mode.
> > > 
> > > T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 24 Spd=480  MxCh= 0
> > > D:  Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> > > P:  Vendor=2c7c ProdID=0800 Rev= 0.00
> > > S:  Manufacturer=Qualcomm CDMA Technologies MSM
> > > S:  Product=QUSB_BULK_SN:xxxxxxxx
> > > S:  SerialNumber=xxxxxxxx
> > > C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=  2mA
> > > I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=10 Driver=option
> > > E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> > > E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> > > 
> > > It is assumed that the ZLP flag required for other Qualcomm-based
> > > 5G devices also applies to Quectel RM500Q.
> > > 
> > > Signed-off-by: Reinhard Speyerer <rspmn@arcor.de>
> > > ---
> > > diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> > > index 62bad1b2c18e..084cc2fff3ae 100644
> > > --- a/drivers/usb/serial/option.c
> > > +++ b/drivers/usb/serial/option.c
> > > @@ -1107,6 +1107,8 @@ static const struct usb_device_id option_ids[] = {
> > >  	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) },
> > >  	{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x30) },
> > >  	{ 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 },
> > 
> > By the way, don't you want NCTRL(0) here too (cf. Telit SBL FN980).
> 
> Hi Johan,
> 
> NCTRL(0) is also used for the diag port of the Telit FN980 while it
> is not used for the diag port of the RM500Q in Kristian's patch.

But that's not necessarily the same firmware implementation running for
diag and QDL, right?
 
> So far I have not observed any problems when using the diag and the QDL
> ports of the RM500Q without NCTRL(0).
> 
> Unless you or Kristian would prefer to have this changed I would suggest
> to keep it as is now.

Fair enough. We can always add that later if someone confirms it isn't
needed or even incorrect (we should probably at least add a debug
statement for the return value of that control request).

Johan

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

end of thread, back to index

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-14 13:29 [PATCH] USB: serial: option: add support for Quectel RM500Q in QDL mode Reinhard Speyerer
2020-01-16 15:56 ` Johan Hovold
2020-01-16 16:00 ` Johan Hovold
2020-01-16 22:35   ` Reinhard Speyerer
2020-01-17 10:19     ` Johan Hovold

Linux-USB Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-usb/0 linux-usb/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-usb linux-usb/ https://lore.kernel.org/linux-usb \
		linux-usb@vger.kernel.org
	public-inbox-index linux-usb

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-usb


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git