linux-usb.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Reinhard Speyerer <rspmn@arcor.de>
To: Lars Melin <larsm17@gmail.com>
Cc: "Benoît Monin" <benoit.monin@gmx.fr>,
	"Johan Hovold" <johan@kernel.org>,
	linux-usb@vger.kernel.org,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
Subject: Re: [PATCH] USB: serial: option: Sierra EM9191 with new firmware
Date: Mon, 2 Oct 2023 22:00:56 +0200	[thread overview]
Message-ID: <ZRsheA2vPWDHcpGd@arcor.de> (raw)
In-Reply-To: <1e67fdfa-be41-6d8f-4b1a-e26f098a6bfc@gmail.com>

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

  reply	other threads:[~2023-10-02 20:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
2023-10-13  9:37 ` Johan Hovold

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZRsheA2vPWDHcpGd@arcor.de \
    --to=rspmn@arcor.de \
    --cc=benoit.monin@gmx.fr \
    --cc=gregkh@linuxfoundation.org \
    --cc=johan@kernel.org \
    --cc=larsm17@gmail.com \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).