Message ID | 20200114132923.GA18330@arcor.de (mailing list archive) |
---|---|
State | Mainlined |
Commit | f3eaabbfd093c93d791eb930cc68d9b15246a65e |
Headers | show |
Series | USB: serial: option: add support for Quectel RM500Q in QDL mode | expand |
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
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
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
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
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) },
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> ---