linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] USB: serial: option: Sierra EM9191 with new firmware
@ 2023-10-02 15:51 Benoît Monin
  2023-10-02 17:48 ` Lars Melin
  2023-10-13  9:37 ` Johan Hovold
  0 siblings, 2 replies; 4+ messages in thread
From: Benoît Monin @ 2023-10-02 15:51 UTC (permalink / raw)
  To: Johan Hovold, linux-usb; +Cc: Greg Kroah-Hartman, Benoît Monin

Following a firmware update of the modem, the interface for the AT
command port changed, so add it back.

T:  Bus=08 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  2 Spd=5000 MxCh= 0
D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
P:  Vendor=1199 ProdID=90d3 Rev=00.06
S:  Manufacturer=Sierra Wireless, Incorporated
S:  Product=Sierra Wireless EM9191
S:  SerialNumber=xxxxxxxxxxxxxxxx
C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=896mA
I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=(none)
I:  If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
Signed-off-by: Benoît Monin <benoit.monin@gmx.fr>
---
 drivers/usb/serial/option.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 7994a4549a6c..73971a3a1897 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -2262,6 +2262,7 @@ static const struct usb_device_id option_ids[] = {
 	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) },			/* GosunCn GM500 ECM/NCM */
 	{ USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x40) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0, 0) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) },
 	{ } /* Terminating entry */

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

* Re: [PATCH] USB: serial: option: Sierra EM9191 with new firmware
  2023-10-02 15:51 [PATCH] USB: serial: option: Sierra EM9191 with new firmware Benoît Monin
@ 2023-10-02 17:48 ` Lars Melin
  2023-10-02 20:00   ` Reinhard Speyerer
  2023-10-13  9:37 ` Johan Hovold
  1 sibling, 1 reply; 4+ messages in thread
From: Lars Melin @ 2023-10-02 17:48 UTC (permalink / raw)
  To: Benoît Monin, Johan Hovold, linux-usb; +Cc: Greg Kroah-Hartman

On 10/2/2023 22:51, Benoît Monin wrote:
> Following a firmware update of the modem, the interface for the AT
> command port changed, so add it back.
> 
> T:  Bus=08 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  2 Spd=5000 MxCh= 0
> D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
> P:  Vendor=1199 ProdID=90d3 Rev=00.06
> S:  Manufacturer=Sierra Wireless, Incorporated
> S:  Product=Sierra Wireless EM9191
> S:  SerialNumber=xxxxxxxxxxxxxxxx
> C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=896mA
> I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
> I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
> I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=(none)
> I:  If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
> Signed-off-by: Benoît Monin <benoit.monin@gmx.fr>
> ---
>   drivers/usb/serial/option.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index 7994a4549a6c..73971a3a1897 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -2262,6 +2262,7 @@ static const struct usb_device_id option_ids[] = {
>   	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) },			/* GosunCn GM500 ECM/NCM */
>   	{ USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) },
>   	{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) },
> +	{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x40) },
>   	{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0, 0) },
>   	{ USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) },
>   	{ } /* Terminating entry */
> 

No need to add additional lines in the driver, the entry can be 
simplified by removing the previous two lines and add a single line 
using the USB_DEVICE_INTERFACE_CLASS macro.


Thanks
Lars

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

* Re: [PATCH] USB: serial: option: Sierra EM9191 with new firmware
  2023-10-02 17:48 ` Lars Melin
@ 2023-10-02 20:00   ` Reinhard Speyerer
  0 siblings, 0 replies; 4+ messages in thread
From: Reinhard Speyerer @ 2023-10-02 20:00 UTC (permalink / raw)
  To: Lars Melin; +Cc: Benoît Monin, Johan Hovold, linux-usb, Greg Kroah-Hartman

On Tue, Oct 03, 2023 at 12:48:39AM +0700, Lars Melin wrote:
> On 10/2/2023 22:51, Benoît Monin wrote:
> > Following a firmware update of the modem, the interface for the AT
> > command port changed, so add it back.
> > 
> > T:  Bus=08 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  2 Spd=5000 MxCh= 0
> > D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
> > P:  Vendor=1199 ProdID=90d3 Rev=00.06
> > S:  Manufacturer=Sierra Wireless, Incorporated
> > S:  Product=Sierra Wireless EM9191
> > S:  SerialNumber=xxxxxxxxxxxxxxxx
> > C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=896mA
> > I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
> > I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
> > I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=(none)
> > I:  If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
> > Signed-off-by: Benoît Monin <benoit.monin@gmx.fr>
> > ---
> >   drivers/usb/serial/option.c | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> > index 7994a4549a6c..73971a3a1897 100644
> > --- a/drivers/usb/serial/option.c
> > +++ b/drivers/usb/serial/option.c
> > @@ -2262,6 +2262,7 @@ static const struct usb_device_id option_ids[] = {
> >   	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) },			/* GosunCn GM500 ECM/NCM */
> >   	{ USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) },
> >   	{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) },
> > +	{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x40) },
> >   	{ USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0, 0) },
> >   	{ USB_DEVICE_AND_INTERFACE_INFO(UNISOC_VENDOR_ID, TOZED_PRODUCT_LT70C, 0xff, 0, 0) },
> >   	{ } /* Terminating entry */
> > 
> 
> No need to add additional lines in the driver, the entry can be simplified
> by removing the previous two lines and add a single line using the
> USB_DEVICE_INTERFACE_CLASS macro.
> 

Hi Lars,

such a simplification can only be applied if you know that the USB
composition does not provide e.g. ADB, DPL or QDSS interfaces which also
use vendor class.

Most newer Sierra Wireless devices based on a Qualcomm chipset with a Linux
AP contain support for an optional ADB interface in production firmware as
this example from a WP7607 shows:

at!usbcomp?
Config Index: 1
Config Type:  1 (Generic)
Interface bitmask: 0009014F (diag,adb,nmea,modem,rmnet0,audio,ecm,rawdat) 

OK

T:  Bus=02 Lev=03 Prnt=08 Port=01 Cnt=02 Dev#= 11 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1199 ProdID=68c0 Rev= 4.14
S:  Manufacturer=Sierra Wireless, Incorporated
S:  Product=Sierra Wireless WP7607
S:  SerialNumber=12345678
...
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Regards,
Reinhard

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

* Re: [PATCH] USB: serial: option: Sierra EM9191 with new firmware
  2023-10-02 15:51 [PATCH] USB: serial: option: Sierra EM9191 with new firmware Benoît Monin
  2023-10-02 17:48 ` Lars Melin
@ 2023-10-13  9:37 ` Johan Hovold
  1 sibling, 0 replies; 4+ messages in thread
From: Johan Hovold @ 2023-10-13  9:37 UTC (permalink / raw)
  To: Benoît Monin; +Cc: linux-usb, Greg Kroah-Hartman

On Mon, Oct 02, 2023 at 05:51:40PM +0200, Benoît Monin wrote:
> Following a firmware update of the modem, the interface for the AT
> command port changed, so add it back.
> 
> T:  Bus=08 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  2 Spd=5000 MxCh= 0
> D:  Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs=  1
> P:  Vendor=1199 ProdID=90d3 Rev=00.06
> S:  Manufacturer=Sierra Wireless, Incorporated
> S:  Product=Sierra Wireless EM9191
> S:  SerialNumber=xxxxxxxxxxxxxxxx
> C:  #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=896mA
> I:  If#=0x0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
> I:  If#=0x1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
> I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=(none)
> I:  If#=0x4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option
> Signed-off-by: Benoît Monin <benoit.monin@gmx.fr>

Now applied, thanks.

Johan

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

end of thread, other threads:[~2023-10-13  9:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-02 15:51 [PATCH] USB: serial: option: Sierra EM9191 with new firmware Benoît Monin
2023-10-02 17:48 ` Lars Melin
2023-10-02 20:00   ` Reinhard Speyerer
2023-10-13  9:37 ` Johan Hovold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).