umsm(4) and umb(4) separate loading for the same composite USB modem device

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

umsm(4) and umb(4) separate loading for the same composite USB modem device

Denis Lapshin-2
Hello there,

Most of modern modems have serial discipline ports and USB Mobile
Broadband Interface Model (MBIM) interface in some port compositions
simultaneously. It seems very useful to have different disciplines
supported by umsm(4) and umb(4) drivers on the same device.

For instance, Sierra Wireless MC7304 EM/MC7455 wireless cards can be
configured to have both MBIM + AT + NMEA ports (AT!UDUSBCOMP=8):

AT!UDUSBCOMP=?
...
8  - DM   NMEA  AT    MBIM                        SUPPORTED
9  - MBIM                                         SUPPORTED
10 - NMEA MBIM                                    SUPPORTED
11 - DM   MBIM                                    SUPPORTED
12 - DM   NMEA  MBIM                              SUPPORTED
...

Currently in OpenBSD 6.3 if AT!UDUSBCOMP=8 was enabled for MC7304 all
the ports recognized by umsm(4) driver, so MBIM port return error in
this case.

If AT!UDUSBCOMP=9 so MBIM interface recognized successfully by umb(4)
driver but there is no NMEA+AT ports enabled.

Does it possible to have simultaneously operated AT + NMEA ports by
umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
device in 6.3?




Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Bryan Vyhmeister-3
On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
> Most of modern modems have serial discipline ports and USB Mobile
> Broadband Interface Model (MBIM) interface in some port compositions
> simultaneously. It seems very useful to have different disciplines
> supported by umsm(4) and umb(4) drivers on the same device.
>
<snip>
>
> Does it possible to have simultaneously operated AT + NMEA ports by
> umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
> device in 6.3?

What is the advantage in having a device attach to both umsm(4) and
umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
with umb(4) until your previous umsm(4) diff and now it only attaches as
umsm(4). Are you wanting to send SMS messages or something like that
with your devices?

Bryan

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Theo de Raadt-2
Bryan Vyhmeister <[hidden email]> wrote:

> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
> > Most of modern modems have serial discipline ports and USB Mobile
> > Broadband Interface Model (MBIM) interface in some port compositions
> > simultaneously. It seems very useful to have different disciplines
> > supported by umsm(4) and umb(4) drivers on the same device.
> >
> <snip>
> >
> > Does it possible to have simultaneously operated AT + NMEA ports by
> > umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
> > device in 6.3?
>
> What is the advantage in having a device attach to both umsm(4) and
> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
> with umb(4) until your previous umsm(4) diff and now it only attaches as
> umsm(4). Are you wanting to send SMS messages or something like that
> with your devices?

umb is better.

If this causes a regression, it should be backed out.

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Stuart Henderson
In reply to this post by Bryan Vyhmeister-3
On 2018/08/14 18:43, Bryan Vyhmeister wrote:

> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
> > Most of modern modems have serial discipline ports and USB Mobile
> > Broadband Interface Model (MBIM) interface in some port compositions
> > simultaneously. It seems very useful to have different disciplines
> > supported by umsm(4) and umb(4) drivers on the same device.
> >
> <snip>
> >
> > Does it possible to have simultaneously operated AT + NMEA ports by
> > umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
> > device in 6.3?
>
> What is the advantage in having a device attach to both umsm(4) and
> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
> with umb(4) until your previous umsm(4) diff and now it only attaches as
> umsm(4). Are you wanting to send SMS messages or something like that
> with your devices?
>
> Bryan
>

Denis has a good point because umsm is needed for GPS and as you
suggest SMS.

What determines which driver attaches when a device is supported by
multiple drivers? Perhaps the simplest option without more complex work
to support different interfaces on different drivers would be to have
the device attach to umb by default but attach to umsm instead if umb is
disabled in the kernel. Then at least a standard kernel could be used
with "disable umb" from boot config.

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Stuart Henderson
On 2018/08/15 09:56, Stuart Henderson wrote:

> On 2018/08/14 18:43, Bryan Vyhmeister wrote:
> > On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
> > > Most of modern modems have serial discipline ports and USB Mobile
> > > Broadband Interface Model (MBIM) interface in some port compositions
> > > simultaneously. It seems very useful to have different disciplines
> > > supported by umsm(4) and umb(4) drivers on the same device.
> > >
> > <snip>
> > >
> > > Does it possible to have simultaneously operated AT + NMEA ports by
> > > umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
> > > device in 6.3?
> >
> > What is the advantage in having a device attach to both umsm(4) and
> > umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
> > with umb(4) until your previous umsm(4) diff and now it only attaches as
> > umsm(4). Are you wanting to send SMS messages or something like that
> > with your devices?
> >
> > Bryan
> >
>
> Denis has a good point because umsm is needed for GPS and as you
> suggest SMS.
>
> What determines which driver attaches when a device is supported by
> multiple drivers? Perhaps the simplest option without more complex work
> to support different interfaces on different drivers would be to have
> the device attach to umb by default but attach to umsm instead if umb is
> disabled in the kernel. Then at least a standard kernel could be used
> with "disable umb" from boot config.
>

(In case it's not clear I definitely agree with backing out the change
for now, the above is me considering ways forward because it definitely
seems reasonable to want to use the GPS ..)

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Denis Lapshin-2
In reply to this post by Bryan Vyhmeister-3
umsm(4) patch is needed to recognize MC7304 by umsm(4) and to have both
NMEA and AT ports enabled.

Especially, I'm using MC7304's (MC7455 on another platform) NMEA port
for NTP time corrections from GLO/GPS. AT port is needed for mode
changes by AT commands. Very useful.

umb(4) is a good one for modern fast data transmit over MBIM port.
So the advantages of simultaneous running umsm(4) and umb(4) drivers for
single physical device are:

- having NMEA + AT serial discipline working by umsm(4);
(any rather 'old' serial discipline functionality can be used like SMS,
modem's mode changes by AT commands etc.)
- MBIM for fast LTE Cat-3 / Cat-6 data connections by modern umb(4) driver.

Denis

On 8/15/2018 4:43 AM, Bryan Vyhmeister wrote:

> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
>> Most of modern modems have serial discipline ports and USB Mobile
>> Broadband Interface Model (MBIM) interface in some port compositions
>> simultaneously. It seems very useful to have different disciplines
>> supported by umsm(4) and umb(4) drivers on the same device.
>>
> <snip>
>>
>> Does it possible to have simultaneously operated AT + NMEA ports by
>> umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
>> device in 6.3?
>
> What is the advantage in having a device attach to both umsm(4) and
> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
> with umb(4) until your previous umsm(4) diff and now it only attaches as
> umsm(4). Are you wanting to send SMS messages or something like that
> with your devices?
>
> Bryan
>

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Mark Kettenis
In reply to this post by Stuart Henderson
> Date: Wed, 15 Aug 2018 09:56:50 +0100
> From: Stuart Henderson <[hidden email]>
>
> On 2018/08/14 18:43, Bryan Vyhmeister wrote:
> > On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
> > > Most of modern modems have serial discipline ports and USB Mobile
> > > Broadband Interface Model (MBIM) interface in some port compositions
> > > simultaneously. It seems very useful to have different disciplines
> > > supported by umsm(4) and umb(4) drivers on the same device.
> > >
> > <snip>
> > >
> > > Does it possible to have simultaneously operated AT + NMEA ports by
> > > umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
> > > device in 6.3?
> >
> > What is the advantage in having a device attach to both umsm(4) and
> > umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
> > with umb(4) until your previous umsm(4) diff and now it only attaches as
> > umsm(4). Are you wanting to send SMS messages or something like that
> > with your devices?
> >
> > Bryan
> >
>
> Denis has a good point because umsm is needed for GPS and as you
> suggest SMS.
>
> What determines which driver attaches when a device is supported by
> multiple drivers? Perhaps the simplest option without more complex work
> to support different interfaces on different drivers would be to have
> the device attach to umb by default but attach to umsm instead if umb is
> disabled in the kernel. Then at least a standard kernel could be used
> with "disable umb" from boot config.

The return value from the "match" function determines which driver
attaches.  The driver that returns the highest value wins.

However, matching for USB devices is complicated.  Drivers already use
different return values (the UMATCH_* constants).  On top of that
drivers can claim a whole device or claim just a particular interface
of a device.  This requires some careful though to make sure the right
driver attaches.

What we really need is a full dump of the usb device descriptors,
preferably in all the different UDUSBCOMP modes.

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Denis Lapshin-2
I can change AT!UDUSBCOMP modes for MC7304 and MC7455 I have in production.

But how to make full dump of all the USB device descriptors for each
UDUSBCOMP mode? Can I make it by usbdevs -vvvv or how?

Denis

On 8/15/2018 5:41 PM, Mark Kettenis wrote:

>> Date: Wed, 15 Aug 2018 09:56:50 +0100
>> From: Stuart Henderson <[hidden email]>
>>
>> On 2018/08/14 18:43, Bryan Vyhmeister wrote:
>>> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
>>>> Most of modern modems have serial discipline ports and USB Mobile
>>>> Broadband Interface Model (MBIM) interface in some port compositions
>>>> simultaneously. It seems very useful to have different disciplines
>>>> supported by umsm(4) and umb(4) drivers on the same device.
>>>>
>>> <snip>
>>>>
>>>> Does it possible to have simultaneously operated AT + NMEA ports by
>>>> umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
>>>> device in 6.3?
>>>
>>> What is the advantage in having a device attach to both umsm(4) and
>>> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
>>> with umb(4) until your previous umsm(4) diff and now it only attaches as
>>> umsm(4). Are you wanting to send SMS messages or something like that
>>> with your devices?
>>>
>>> Bryan
>>>
>>
>> Denis has a good point because umsm is needed for GPS and as you
>> suggest SMS.
>>
>> What determines which driver attaches when a device is supported by
>> multiple drivers? Perhaps the simplest option without more complex work
>> to support different interfaces on different drivers would be to have
>> the device attach to umb by default but attach to umsm instead if umb is
>> disabled in the kernel. Then at least a standard kernel could be used
>> with "disable umb" from boot config.
>
> The return value from the "match" function determines which driver
> attaches.  The driver that returns the highest value wins.
>
> However, matching for USB devices is complicated.  Drivers already use
> different return values (the UMATCH_* constants).  On top of that
> drivers can claim a whole device or claim just a particular interface
> of a device.  This requires some careful though to make sure the right
> driver attaches.
>
> What we really need is a full dump of the usb device descriptors,
> preferably in all the different UDUSBCOMP modes.
>

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Gerhard Roth-2
On Thu, 16 Aug 2018 13:56:13 +0300 Denis <[hidden email]> wrote:
> I can change AT!UDUSBCOMP modes for MC7304 and MC7455 I have in production.
>
> But how to make full dump of all the USB device descriptors for each
> UDUSBCOMP mode? Can I make it by usbdevs -vvvv or how?

Hi Denis,

no that won't work. You could switch the module to each one of the supported
modes and query the descriptors. Unfortunately, some of the modes are one
way streets, i.e. for the offered APIs of the mode there is no known method
to change it back again to some different mode (although I'm quite sure that
Sierra Wireless knows how to do it).

So to get that information, it's much easier to read the documentation:
https://source.sierrawireless.com/resources/airprime/minicard/airprime_mc73xx_usb_driver_developers_guide/# (registration required).
In chapter 3.1 "AirPrime MC73xx USB Interfaces" you'll find what you're
looking for.

Gerhard

>
> Denis
>
> On 8/15/2018 5:41 PM, Mark Kettenis wrote:
> >> Date: Wed, 15 Aug 2018 09:56:50 +0100
> >> From: Stuart Henderson <[hidden email]>
> >>
> >> On 2018/08/14 18:43, Bryan Vyhmeister wrote:  
> >>> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:  
> >>>> Most of modern modems have serial discipline ports and USB Mobile
> >>>> Broadband Interface Model (MBIM) interface in some port compositions
> >>>> simultaneously. It seems very useful to have different disciplines
> >>>> supported by umsm(4) and umb(4) drivers on the same device.
> >>>>  
> >>> <snip>  
> >>>>
> >>>> Does it possible to have simultaneously operated AT + NMEA ports by
> >>>> umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
> >>>> device in 6.3?  
> >>>
> >>> What is the advantage in having a device attach to both umsm(4) and
> >>> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
> >>> with umb(4) until your previous umsm(4) diff and now it only attaches as
> >>> umsm(4). Are you wanting to send SMS messages or something like that
> >>> with your devices?
> >>>
> >>> Bryan
> >>>  
> >>
> >> Denis has a good point because umsm is needed for GPS and as you
> >> suggest SMS.
> >>
> >> What determines which driver attaches when a device is supported by
> >> multiple drivers? Perhaps the simplest option without more complex work
> >> to support different interfaces on different drivers would be to have
> >> the device attach to umb by default but attach to umsm instead if umb is
> >> disabled in the kernel. Then at least a standard kernel could be used
> >> with "disable umb" from boot config.  
> >
> > The return value from the "match" function determines which driver
> > attaches.  The driver that returns the highest value wins.
> >
> > However, matching for USB devices is complicated.  Drivers already use
> > different return values (the UMATCH_* constants).  On top of that
> > drivers can claim a whole device or claim just a particular interface
> > of a device.  This requires some careful though to make sure the right
> > driver attaches.
> >
> > What we really need is a full dump of the usb device descriptors,
> > preferably in all the different UDUSBCOMP modes.
> >  

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Denis Lapshin-2
In reply to this post by Denis Lapshin-2
Sierra Wireless MC7304 ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

0  - reserved                                     NOT SUPPORTED
1  - DM   AT                                      SUPPORTED
2  - reserved                                     NOT SUPPORTED
3  - reserved                                     NOT SUPPORTED
4  - reserved                                     NOT SUPPORTED
5  - reserved                                     NOT SUPPORTED
6  - DM   NMEA  AT    QMI                         SUPPORTED
7  - DM   NMEA  AT    RMNET1 RMNET2 RMNET3        SUPPORTED
8  - DM   NMEA  AT    MBIM                        SUPPORTED
9  - MBIM                                         SUPPORTED
10 - NMEA MBIM                                    SUPPORTED
11 - DM   MBIM                                    SUPPORTED
12 - DM   NMEA  MBIM                              SUPPORTED
13 - Config1: comp6    Config2: comp8             NOT SUPPORTED
14 - Config1: comp6    Config2: comp9             SUPPORTED
15 - Config1: comp6    Config2: comp10            NOT SUPPORTED
16 - Config1: comp6    Config2: comp11            NOT SUPPORTED
17 - Config1: comp6    Config2: comp12            NOT SUPPORTED
18 - Config1: comp7    Config2: comp8             NOT SUPPORTED
19 - Config1: comp7    Config2: comp9             SUPPORTED
20 - Config1: comp7    Config2: comp10            NOT SUPPORTED
21 - Config1: comp7    Config2: comp11            NOT SUPPORTED
22 - Config1: comp7    Config2: comp12            NOT SUPPORTED

***************************
AT!UDUSBCOMP=8 (DM, NMEA, MODEM/AT, MBIM) - required preferred configuration

MC7304 VID=0x1199 PID=0x68C0
Ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   ""
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x00D8 wTotalLength   (216 bytes)
0x05 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x09 bInterval         (256 microframes)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x00D8 wTotalLength   (216 bytes)
0x05 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x20 bInterval         (32 frames)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  ""

***************************
AT!UDUSBCOMP=1 (DM, MODEM/AT)

Ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   ""
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x0082 wTotalLength   (130 bytes)
0x03 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x0082 wTotalLength   (130 bytes)
0x03 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  ""

***************************
AT!UDUSBCOMP=6 (DM, NMEA, MODEM/AT, QMI)

Ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   ""
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x00A0 wTotalLength   (160 bytes)
0x04 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x00A0 wTotalLength   (160 bytes)
0x04 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  ""

***************************
AT!UDUSBCOMP=7 (DIAG, NMEA, MODEM/AT, RMNET1, RMNET2, RMNET3)

Ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   ""
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x00DC wTotalLength   (220 bytes)
0x06 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0A bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x89 bEndpointAddress  (IN endpoint 9)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x88 bEndpointAddress  (IN endpoint 8)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0B bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8B bEndpointAddress  (IN endpoint 11)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8A bEndpointAddress  (IN endpoint 10)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x06 bEndpointAddress  (OUT endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x00DC wTotalLength   (220 bytes)
0x06 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0A bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x89 bEndpointAddress  (IN endpoint 9)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x88 bEndpointAddress  (IN endpoint 8)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0B bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8B bEndpointAddress  (IN endpoint 11)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8A bEndpointAddress  (IN endpoint 10)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x06 bEndpointAddress  (OUT endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  ""

***************************
AT!UDUSBCOMP=9 (MBIM)

Ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   ""
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x005F wTotalLength   (95 bytes)
0x02 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x09 bInterval         (256 microframes)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x005F wTotalLength   (95 bytes)
0x02 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x20 bInterval         (32 frames)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  ""

On 8/16/2018 1:56 PM, Denis wrote:

> I can change AT!UDUSBCOMP modes for MC7304 and MC7455 I have in production.
>
> But how to make full dump of all the USB device descriptors for each
> UDUSBCOMP mode? Can I make it by usbdevs -vvvv or how?
>
> Denis
>
> On 8/15/2018 5:41 PM, Mark Kettenis wrote:
>>> Date: Wed, 15 Aug 2018 09:56:50 +0100
>>> From: Stuart Henderson <[hidden email]>
>>>
>>> On 2018/08/14 18:43, Bryan Vyhmeister wrote:
>>>> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
>>>>> Most of modern modems have serial discipline ports and USB Mobile
>>>>> Broadband Interface Model (MBIM) interface in some port compositions
>>>>> simultaneously. It seems very useful to have different disciplines
>>>>> supported by umsm(4) and umb(4) drivers on the same device.
>>>>>
>>>> <snip>
>>>>>
>>>>> Does it possible to have simultaneously operated AT + NMEA ports by
>>>>> umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
>>>>> device in 6.3?
>>>>
>>>> What is the advantage in having a device attach to both umsm(4) and
>>>> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
>>>> with umb(4) until your previous umsm(4) diff and now it only attaches as
>>>> umsm(4). Are you wanting to send SMS messages or something like that
>>>> with your devices?
>>>>
>>>> Bryan
>>>>
>>>
>>> Denis has a good point because umsm is needed for GPS and as you
>>> suggest SMS.
>>>
>>> What determines which driver attaches when a device is supported by
>>> multiple drivers? Perhaps the simplest option without more complex work
>>> to support different interfaces on different drivers would be to have
>>> the device attach to umb by default but attach to umsm instead if umb is
>>> disabled in the kernel. Then at least a standard kernel could be used
>>> with "disable umb" from boot config.
>>
>> The return value from the "match" function determines which driver
>> attaches.  The driver that returns the highest value wins.
>>
>> However, matching for USB devices is complicated.  Drivers already use
>> different return values (the UMATCH_* constants).  On top of that
>> drivers can claim a whole device or claim just a particular interface
>> of a device.  This requires some careful though to make sure the right
>> driver attaches.
>>
>> What we really need is a full dump of the usb device descriptors,
>> preferably in all the different UDUSBCOMP modes.
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Denis Lapshin-2
In reply to this post by Denis Lapshin-2
Sierra Wireless EM/MC7455

AT!USBCOMP=?
!USBCOMP:
AT!USBCOMP=<Config Index>,<Config Type>,<Interface bitmask>
  <Config Index>      - configuration index to which the composition
applies, sould be 1

  <Config Type>       - 1:Generic, 2:USBIF-MBIM, 3:RNDIS
                        config type 2/3 should only be used for specific
SierraPIDs: 68B1, 9068
                        customized VID/PID should use config type 1

  <Interface bitmask> - DIAG     - 0x00000001,
                        NMEA     - 0x00000004,
                        MODEM    - 0x00000008,
                        RMNET0   - 0x00000100,
                        RMNET1   - 0x00000400,
                        MBIM     - 0x00001000,

***************************
AT!USBCOMP=1,1,100D (DIAG, NMEA, MODEM/AT, MBIM) - required preferred
configuration

Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A
VID=0x1199 PID=0x9071

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0210 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x9071 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A"
0x03 iSerialNumber   "LQ63925174367653"
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0210 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x00D8 wTotalLength   (216 bytes)
0x05 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xA0 bmAttributes   (Bus-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0x00
0x08 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x09 bInterval         (256 microframes)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x00D8 wTotalLength   (216 bytes)
0x05 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xA0 bmAttributes   (Bus-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0x00
0x08 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x20 bInterval         (32 frames)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Binary Device Object Store Descriptor:
------------------------------
0x05 bLength
0x0F bDescriptorType
0x000C wTotalLength   (12 bytes)
0x01 bNumDeviceCaps

Device Capability USB 2.0 Extension Descriptor:
------------------------------
0x07 bLength
0x10 bDescriptorType
0x02 bDevCapabilityType
0x00000000 bmAttributes

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A"
0x03   0x0409  "LQ63925174367653"

***************************
AT!USBCOMP=1,1,D (DIAG, NMEA, MODEM/AT)

Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A
VID=0x1199 PID=0x9071

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0210 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x9071 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A"
0x03 iSerialNumber   "LQ63925174367653"
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0210 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x0082 wTotalLength   (130 bytes)
0x03 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xA0 bmAttributes   (Bus-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x0082 wTotalLength   (130 bytes)
0x03 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xA0 bmAttributes   (Bus-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Binary Device Object Store Descriptor:
------------------------------
0x05 bLength
0x0F bDescriptorType
0x000C wTotalLength   (12 bytes)
0x01 bNumDeviceCaps

Device Capability USB 2.0 Extension Descriptor:
------------------------------
0x07 bLength
0x10 bDescriptorType
0x02 bDevCapabilityType
0x00000000 bmAttributes

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A"
0x03   0x0409  "LQ63925174367653"

***************************
AT!USBCOMP=1,1,50D (DIAG, NMEA, MODEM/AT, RMNET0, RMNET1)

Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A
VID=0x1199 PID=0x9071

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0210 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x9071 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A"
0x03 iSerialNumber   "LQ63925174367653"
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0210 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x00BE wTotalLength   (190 bytes)
0x05 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xA0 bmAttributes   (Bus-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0A bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x89 bEndpointAddress  (IN endpoint 9)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x88 bEndpointAddress  (IN endpoint 8)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x00BE wTotalLength   (190 bytes)
0x05 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xA0 bmAttributes   (Bus-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0A bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x89 bEndpointAddress  (IN endpoint 9)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x88 bEndpointAddress  (IN endpoint 8)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Binary Device Object Store Descriptor:
------------------------------
0x05 bLength
0x0F bDescriptorType
0x000C wTotalLength   (12 bytes)
0x01 bNumDeviceCaps

Device Capability USB 2.0 Extension Descriptor:
------------------------------
0x07 bLength
0x10 bDescriptorType
0x02 bDevCapabilityType
0x00000000 bmAttributes

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A"
0x03   0x0409  "LQ63925174367653"

***************************
AT!USBCOMP=1,1,10D (DIAG, NMEA, MODEM/AT, RMNET0) - default factory
configuration

Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A
VID=0x1199 PID=0x9071

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0210 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x9071 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A"
0x03 iSerialNumber   "LQ63925174367653"
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0210 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x00A0 wTotalLength   (160 bytes)
0x04 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xA0 bmAttributes   (Bus-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x00A0 wTotalLength   (160 bytes)
0x04 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xA0 bmAttributes   (Bus-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0008 wMaxPacketSize    (1 x 8 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Binary Device Object Store Descriptor:
------------------------------
0x05 bLength
0x0F bDescriptorType
0x000C wTotalLength   (12 bytes)
0x01 bNumDeviceCaps

Device Capability USB 2.0 Extension Descriptor:
------------------------------
0x07 bLength
0x10 bDescriptorType
0x02 bDevCapabilityType
0x00000000 bmAttributes

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "Sierra Wireless MC7455 Qualcomm® Snapdragon™ X7 LTE-A"
0x03   0x0409  "LQ63925174367653"


On 8/16/2018 1:56 PM, Denis wrote:

> I can change AT!UDUSBCOMP modes for MC7304 and MC7455 I have in production.
>
> But how to make full dump of all the USB device descriptors for each
> UDUSBCOMP mode? Can I make it by usbdevs -vvvv or how?
>
> Denis
>
> On 8/15/2018 5:41 PM, Mark Kettenis wrote:
>>> Date: Wed, 15 Aug 2018 09:56:50 +0100
>>> From: Stuart Henderson <[hidden email]>
>>>
>>> On 2018/08/14 18:43, Bryan Vyhmeister wrote:
>>>> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
>>>>> Most of modern modems have serial discipline ports and USB Mobile
>>>>> Broadband Interface Model (MBIM) interface in some port compositions
>>>>> simultaneously. It seems very useful to have different disciplines
>>>>> supported by umsm(4) and umb(4) drivers on the same device.
>>>>>
>>>> <snip>
>>>>>
>>>>> Does it possible to have simultaneously operated AT + NMEA ports by
>>>>> umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
>>>>> device in 6.3?
>>>>
>>>> What is the advantage in having a device attach to both umsm(4) and
>>>> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
>>>> with umb(4) until your previous umsm(4) diff and now it only attaches as
>>>> umsm(4). Are you wanting to send SMS messages or something like that
>>>> with your devices?
>>>>
>>>> Bryan
>>>>
>>>
>>> Denis has a good point because umsm is needed for GPS and as you
>>> suggest SMS.
>>>
>>> What determines which driver attaches when a device is supported by
>>> multiple drivers? Perhaps the simplest option without more complex work
>>> to support different interfaces on different drivers would be to have
>>> the device attach to umb by default but attach to umsm instead if umb is
>>> disabled in the kernel. Then at least a standard kernel could be used
>>> with "disable umb" from boot config.
>>
>> The return value from the "match" function determines which driver
>> attaches.  The driver that returns the highest value wins.
>>
>> However, matching for USB devices is complicated.  Drivers already use
>> different return values (the UMATCH_* constants).  On top of that
>> drivers can claim a whole device or claim just a particular interface
>> of a device.  This requires some careful though to make sure the right
>> driver attaches.
>>
>> What we really need is a full dump of the usb device descriptors,
>> preferably in all the different UDUSBCOMP modes.
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Denis Lapshin-2
In reply to this post by Denis Lapshin-2
... continuation for AT!UDUSBCOMP=[10-12,14,19]

Sierra Wireless MC7304 ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

0  - reserved                                     NOT SUPPORTED
1  - DM   AT                                      SUPPORTED
2  - reserved                                     NOT SUPPORTED
3  - reserved                                     NOT SUPPORTED
4  - reserved                                     NOT SUPPORTED
5  - reserved                                     NOT SUPPORTED
6  - DM   NMEA  AT    QMI                         SUPPORTED
7  - DM   NMEA  AT    RMNET1 RMNET2 RMNET3        SUPPORTED
8  - DM   NMEA  AT    MBIM                        SUPPORTED
9  - MBIM                                         SUPPORTED
10 - NMEA MBIM                                    SUPPORTED
11 - DM   MBIM                                    SUPPORTED
12 - DM   NMEA  MBIM                              SUPPORTED
13 - Config1: comp6    Config2: comp8             NOT SUPPORTED
14 - Config1: comp6    Config2: comp9             SUPPORTED
15 - Config1: comp6    Config2: comp10            NOT SUPPORTED
16 - Config1: comp6    Config2: comp11            NOT SUPPORTED
17 - Config1: comp6    Config2: comp12            NOT SUPPORTED
18 - Config1: comp7    Config2: comp8             NOT SUPPORTED
19 - Config1: comp7    Config2: comp9             SUPPORTED
20 - Config1: comp7    Config2: comp10            NOT SUPPORTED
21 - Config1: comp7    Config2: comp11            NOT SUPPORTED
22 - Config1: comp7    Config2: comp12            NOT SUPPORTED

***************************
AT!UDUSBCOMP=10 (NMEA, MBIM)

MC7304 VID=0x1199 PID=0x68C0
Ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   ""
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x0090 wTotalLength   (144 bytes)
0x03 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x09 bInterval         (256 microframes)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x0090 wTotalLength   (144 bytes)
0x03 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x20 bInterval         (32 frames)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  ""

***************************
AT!UDUSBCOMP=11 (DM, MBIM)

MC7304 VID=0x1199 PID=0x68C0
Ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   ""
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x0076 wTotalLength   (118 bytes)
0x03 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x09 bInterval         (256 microframes)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x0076 wTotalLength   (118 bytes)
0x03 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x20 bInterval         (32 frames)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  ""

***************************
AT!UDUSBCOMP=12 (DM, NMEA, MBIM)

MC7304 VID=0x1199 PID=0x68C0
Ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   ""
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x00A7 wTotalLength   (167 bytes)
0x04 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x09 bInterval         (256 microframes)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x00A7 wTotalLength   (167 bytes)
0x04 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x20 bInterval         (32 frames)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  ""

***************************
AT!UDUSBCOMP=14 (Config1: comp6    Config2: comp9)

MC7304 VID=0x1199 PID=0x68C0
Ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   ""
0x02 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x02 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x00A0 wTotalLength   (160 bytes)
0x04 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x005F wTotalLength   (95 bytes)
0x02 bNumInterfaces
0x02 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x09 bInterval         (256 microframes)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x00A0 wTotalLength   (160 bytes)
0x04 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x005F wTotalLength   (95 bytes)
0x02 bNumInterfaces
0x02 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x20 bInterval         (32 frames)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Microsoft OS Descriptor:
------------------------------
0x12 bLength
0x03 bDescriptorType
Hex dump:
0x12 0x03 0x4D 0x00 0x53 0x00 0x46 0x00 0x54 0x00
0x31 0x00 0x30 0x00 0x30 0x00 0x20 0x00

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  ""

***************************
AT!UDUSBCOMP=19 (19 - Config1: comp7    Config2: comp9)

MC7304 VID=0x1199 PID=0x68C0
Ordinary firmware (no voice support):
SWI9X15C_05.05.67.00 r31378 CARMD-EV-FRMWR1 2016/03/11 14:58:53

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   ""
0x02 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x02 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x00DC wTotalLength   (220 bytes)
0x06 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0A bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x89 bEndpointAddress  (IN endpoint 9)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x88 bEndpointAddress  (IN endpoint 8)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0B bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8B bEndpointAddress  (IN endpoint 11)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8A bEndpointAddress  (IN endpoint 10)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x06 bEndpointAddress  (OUT endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x005F wTotalLength   (95 bytes)
0x02 bNumInterfaces
0x02 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x09 bInterval         (256 microframes)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x00DC wTotalLength   (220 bytes)
0x06 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0A bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x89 bEndpointAddress  (IN endpoint 9)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x88 bEndpointAddress  (IN endpoint 8)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0B bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8B bEndpointAddress  (IN endpoint 11)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8A bEndpointAddress  (IN endpoint 10)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x06 bEndpointAddress  (OUT endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x005F wTotalLength   (95 bytes)
0x02 bNumInterfaces
0x02 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Association Descriptor:
------------------------------
0x08 bLength
0x0B bDescriptorType
0x0C bFirstInterface
0x02 bInterfaceCount
0x02 bFunctionClass      (Communication Device Class)
0x0E bFunctionSubClass
0x00 bFunctionProtocol
0x00 iFunction

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0C bInterfaceNumber
0x00 bAlternateSetting
0x01 bNumEndPoints
0x02 bInterfaceClass      (Communication Device Class)
0x0E bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

CDC Header Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x00 bDescriptorSubtype
0x0110 bcdCDC

CDC Union Functional Descriptor:
------------------------------
0x05 bFunctionalLength
0x24 bDescriptorType
0x06 bDescriptorSubtype
0x0C bControlInterface
0x0D bSubordinateInterface(0)

Unknown Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
Hex dump:
0x0C 0x24 0x1B 0x00 0x01 0x00 0x10 0x20 0x80 0xDC
0x05 0x20

Unknown Descriptor:
------------------------------
0x08 bLength
0x24 bDescriptorType
Hex dump:
0x08 0x24 0x1C 0x00 0x01 0x40 0xDC 0x05

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (1 x 64 bytes)
0x20 bInterval         (32 frames)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0D bInterfaceNumber
0x01 bAlternateSetting
0x02 bNumEndPoints
0x0A bInterfaceClass      (CDC Data)
0x00 bInterfaceSubClass
0x02 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Microsoft OS Descriptor:
------------------------------
0x12 bLength
0x03 bDescriptorType
Hex dump:
0x12 0x03 0x4D 0x00 0x53 0x00 0x46 0x00 0x54 0x00
0x31 0x00 0x30 0x00 0x30 0x00 0x20 0x00

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  ""

On 8/16/2018 1:56 PM, Denis wrote:

> I can change AT!UDUSBCOMP modes for MC7304 and MC7455 I have in production.
>
> But how to make full dump of all the USB device descriptors for each
> UDUSBCOMP mode? Can I make it by usbdevs -vvvv or how?
>
> Denis
>
> On 8/15/2018 5:41 PM, Mark Kettenis wrote:
>>> Date: Wed, 15 Aug 2018 09:56:50 +0100
>>> From: Stuart Henderson <[hidden email]>
>>>
>>> On 2018/08/14 18:43, Bryan Vyhmeister wrote:
>>>> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
>>>>> Most of modern modems have serial discipline ports and USB Mobile
>>>>> Broadband Interface Model (MBIM) interface in some port compositions
>>>>> simultaneously. It seems very useful to have different disciplines
>>>>> supported by umsm(4) and umb(4) drivers on the same device.
>>>>>
>>>> <snip>
>>>>>
>>>>> Does it possible to have simultaneously operated AT + NMEA ports by
>>>>> umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
>>>>> device in 6.3?
>>>>
>>>> What is the advantage in having a device attach to both umsm(4) and
>>>> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
>>>> with umb(4) until your previous umsm(4) diff and now it only attaches as
>>>> umsm(4). Are you wanting to send SMS messages or something like that
>>>> with your devices?
>>>>
>>>> Bryan
>>>>
>>>
>>> Denis has a good point because umsm is needed for GPS and as you
>>> suggest SMS.
>>>
>>> What determines which driver attaches when a device is supported by
>>> multiple drivers? Perhaps the simplest option without more complex work
>>> to support different interfaces on different drivers would be to have
>>> the device attach to umb by default but attach to umsm instead if umb is
>>> disabled in the kernel. Then at least a standard kernel could be used
>>> with "disable umb" from boot config.
>>
>> The return value from the "match" function determines which driver
>> attaches.  The driver that returns the highest value wins.
>>
>> However, matching for USB devices is complicated.  Drivers already use
>> different return values (the UMATCH_* constants).  On top of that
>> drivers can claim a whole device or claim just a particular interface
>> of a device.  This requires some careful though to make sure the right
>> driver attaches.
>>
>> What we really need is a full dump of the usb device descriptors,
>> preferably in all the different UDUSBCOMP modes.
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Denis Lapshin-2
In reply to this post by Denis Lapshin-2
Sierra Wireless MC7304 firmware with voice support (VoLTE):
SWI9X15C_06.03.32.02 r26426 CNSHZ-AR-BUILD 2015/01/16 01:32:41

AT!UDUSBCOMP=?

1   - DM AT
23  - DM NMEA MODEM RMNET1 RMNET2 RMNET3 AUDIO
24  - DM NMEA MODEM RMNET1 RMNET2 RMNET3
25  - DM NMEA MODEM AT AUDIO

***************************
AT!UDUSBCOMP=1 (DM, AT)

MC7304 VID=0x1199 PID=0x68C0
firmware with voice support (VoLTE)
SWI9X15C_06.03.32.02 r26426 CNSHZ-AR-BUILD 2015/01/16 01:32:41

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   "0123456789ABCDEF"
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x0051 wTotalLength   (81 bytes)
0x02 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x04 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x0051 wTotalLength   (81 bytes)
0x02 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x04 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  "0123456789ABCDEF"

***************************
AT!UDUSBCOMP=23 (DM, NMEA, MODEM, RMNET1, RMNET2, RMNET3, AUDIO)

MC7304 VID=0x1199 PID=0x68C0
firmware with voice support (VoLTE)
SWI9X15C_06.03.32.02 r26426 CNSHZ-AR-BUILD 2015/01/16 01:32:41

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   "0123456789ABCDEF"
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x0167 wTotalLength   (359 bytes)
0x09 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0A bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x88 bEndpointAddress  (IN endpoint 8)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0B bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8A bEndpointAddress  (IN endpoint 10)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x89 bEndpointAddress  (IN endpoint 9)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x06 bEndpointAddress  (OUT endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x10 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x01 bInterfaceSubClass   (Audio Control Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AC Interface Header Descriptor:
------------------------------
0x0A bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x0100 bcdADC
0x0034 wTotalLength   (52 bytes)
0x02 bInCollection
0x11 baInterfaceNr(1)
0x12 baInterfaceNr(2)

AC Input Terminal Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bTerminalID
0x0201 wTerminalType   (Microphone)
0x02 bAssocTerminal
0x01 bNrChannels   (1 channels)
0x0003 wChannelConfig
0x00 iChannelNames
0x00 iTerminal

AC Output Terminal Descriptor:
------------------------------
0x09 bLength
0x24 bDescriptorType
0x03 bDescriptorSubtype
0x02 bTerminalID
0x0101 wTerminalType   (USB Streaming)
0x01 bAssocTerminal
0x01 bSourceID
0x00 iTerminal

AC Input Terminal Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x03 bTerminalID
0x0101 wTerminalType   (USB Streaming)
0x04 bAssocTerminal
0x02 bNrChannels   (2 channels)
0x0003 wChannelConfig
0x00 iChannelNames
0x00 iTerminal

AC Output Terminal Descriptor:
------------------------------
0x09 bLength
0x24 bDescriptorType
0x03 bDescriptorSubtype
0x04 bTerminalID
0x0301 wTerminalType   (Speaker)
0x03 bAssocTerminal
0x03 bSourceID
0x00 iTerminal

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x11 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x11 bInterfaceNumber
0x01 bAlternateSetting
0x01 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AS Interface Descriptor:
------------------------------
0x07 bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x02 bTerminalLink
0x01 bDelay
0x0001 wFormatTag   (PCM)

AS Format Type 1 Descriptor:
------------------------------
0x0B bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bFormatType   (FORMAT_TYPE_1)
0x01 bNrChannels   (1 channels)
0x02 bSubframeSize
0x10 bBitResolution   (16 bits per sample)
0x01 bSamFreqType   (Discrete sampling frequencies)
0x001F40 tSamFreq(1)   (8000 Hz)

Endpoint Descriptor (Audio/MIDI 1.0):
------------------------------
0x09 bLength
0x05 bDescriptorType
0x8B bEndpointAddress  (IN endpoint 11)
0x05 bmAttributes      (Transfer: Isochronous / Synch: Asynchronous /
Usage: Data)
0x0010 wMaxPacketSize    (1 x 16 bytes)
0x04 bInterval         (8 microframes)
0x00 bRefresh
0x00 bSynchAddress

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x07 bLength
0x25 bDescriptorType
0x01 bDescriptorSubtype
0x01 bmAttributes   (Sampling Frequency)
0x01 bLockDelayUnits   (milliseconds)
0x0001 wLockDelay

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x12 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x12 bInterfaceNumber
0x01 bAlternateSetting
0x01 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AS Interface Descriptor:
------------------------------
0x07 bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x03 bTerminalLink
0x01 bDelay
0x0001 wFormatTag   (PCM)

AS Format Type 1 Descriptor:
------------------------------
0x0B bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bFormatType   (FORMAT_TYPE_1)
0x02 bNrChannels   (2 channels)
0x02 bSubframeSize
0x10 bBitResolution   (16 bits per sample)
0x01 bSamFreqType   (Discrete sampling frequencies)
0x001F40 tSamFreq(1)   (8000 Hz)

Endpoint Descriptor (Audio/MIDI 1.0):
------------------------------
0x09 bLength
0x05 bDescriptorType
0x07 bEndpointAddress  (OUT endpoint 7)
0x09 bmAttributes      (Transfer: Isochronous / Synch: Adaptive / Usage:
Data)
0x0020 wMaxPacketSize    (1 x 32 bytes)
0x04 bInterval         (8 microframes)
0x00 bRefresh
0x00 bSynchAddress

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x07 bLength
0x25 bDescriptorType
0x01 bDescriptorSubtype
0x01 bmAttributes   (Sampling Frequency)
0x01 bLockDelayUnits   (milliseconds)
0x0001 wLockDelay

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x0167 wTotalLength   (359 bytes)
0x09 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0A bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x88 bEndpointAddress  (IN endpoint 8)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0B bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8A bEndpointAddress  (IN endpoint 10)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x89 bEndpointAddress  (IN endpoint 9)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x06 bEndpointAddress  (OUT endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x10 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x01 bInterfaceSubClass   (Audio Control Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AC Interface Header Descriptor:
------------------------------
0x0A bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x0100 bcdADC
0x0034 wTotalLength   (52 bytes)
0x02 bInCollection
0x11 baInterfaceNr(1)
0x12 baInterfaceNr(2)

AC Input Terminal Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bTerminalID
0x0201 wTerminalType   (Microphone)
0x02 bAssocTerminal
0x01 bNrChannels   (1 channels)
0x0003 wChannelConfig
0x00 iChannelNames
0x00 iTerminal

AC Output Terminal Descriptor:
------------------------------
0x09 bLength
0x24 bDescriptorType
0x03 bDescriptorSubtype
0x02 bTerminalID
0x0101 wTerminalType   (USB Streaming)
0x01 bAssocTerminal
0x01 bSourceID
0x00 iTerminal

AC Input Terminal Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x03 bTerminalID
0x0101 wTerminalType   (USB Streaming)
0x04 bAssocTerminal
0x02 bNrChannels   (2 channels)
0x0003 wChannelConfig
0x00 iChannelNames
0x00 iTerminal

AC Output Terminal Descriptor:
------------------------------
0x09 bLength
0x24 bDescriptorType
0x03 bDescriptorSubtype
0x04 bTerminalID
0x0301 wTerminalType   (Speaker)
0x03 bAssocTerminal
0x03 bSourceID
0x00 iTerminal

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x11 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x11 bInterfaceNumber
0x01 bAlternateSetting
0x01 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AS Interface Descriptor:
------------------------------
0x07 bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x02 bTerminalLink
0x01 bDelay
0x0001 wFormatTag   (PCM)

AS Format Type 1 Descriptor:
------------------------------
0x0B bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bFormatType   (FORMAT_TYPE_1)
0x01 bNrChannels   (1 channels)
0x02 bSubframeSize
0x10 bBitResolution   (16 bits per sample)
0x01 bSamFreqType   (Discrete sampling frequencies)
0x001F40 tSamFreq(1)   (8000 Hz)

Endpoint Descriptor (Audio/MIDI 1.0):
------------------------------
0x09 bLength
0x05 bDescriptorType
0x8B bEndpointAddress  (IN endpoint 11)
0x05 bmAttributes      (Transfer: Isochronous / Synch: Asynchronous /
Usage: Data)
0x0010 wMaxPacketSize    (1 x 16 bytes)
0x04 bInterval         (8 frames)
0x00 bRefresh
0x00 bSynchAddress

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x07 bLength
0x25 bDescriptorType
0x01 bDescriptorSubtype
0x01 bmAttributes   (Sampling Frequency)
0x01 bLockDelayUnits   (milliseconds)
0x0001 wLockDelay

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x12 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x12 bInterfaceNumber
0x01 bAlternateSetting
0x01 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AS Interface Descriptor:
------------------------------
0x07 bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x03 bTerminalLink
0x01 bDelay
0x0001 wFormatTag   (PCM)

AS Format Type 1 Descriptor:
------------------------------
0x0B bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bFormatType   (FORMAT_TYPE_1)
0x02 bNrChannels   (2 channels)
0x02 bSubframeSize
0x10 bBitResolution   (16 bits per sample)
0x01 bSamFreqType   (Discrete sampling frequencies)
0x001F40 tSamFreq(1)   (8000 Hz)

Endpoint Descriptor (Audio/MIDI 1.0):
------------------------------
0x09 bLength
0x05 bDescriptorType
0x07 bEndpointAddress  (OUT endpoint 7)
0x09 bmAttributes      (Transfer: Isochronous / Synch: Adaptive / Usage:
Data)
0x0020 wMaxPacketSize    (1 x 32 bytes)
0x04 bInterval         (8 frames)
0x00 bRefresh
0x00 bSynchAddress

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x07 bLength
0x25 bDescriptorType
0x01 bDescriptorSubtype
0x01 bmAttributes   (Sampling Frequency)
0x01 bLockDelayUnits   (milliseconds)
0x0001 wLockDelay

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  "0123456789ABCDEF"

***************************
AT!UDUSBCOMP=24 (DM, NMEA, MODEM, RMNET1, RMNET2, RMNET3)

MC7304 VID=0x1199 PID=0x68C0
firmware with voice support (VoLTE)
SWI9X15C_06.03.32.02 r26426 CNSHZ-AR-BUILD 2015/01/16 01:32:41

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   "0123456789ABCDEF"
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x00C2 wTotalLength   (194 bytes)
0x06 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0A bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x88 bEndpointAddress  (IN endpoint 8)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0B bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8A bEndpointAddress  (IN endpoint 10)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x89 bEndpointAddress  (IN endpoint 9)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x06 bEndpointAddress  (OUT endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x00C2 wTotalLength   (194 bytes)
0x06 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x08 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0A bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x88 bEndpointAddress  (IN endpoint 8)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x0B bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x8A bEndpointAddress  (IN endpoint 10)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000A wMaxPacketSize    (1 x 10 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x89 bEndpointAddress  (IN endpoint 9)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x06 bEndpointAddress  (OUT endpoint 6)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  "0123456789ABCDEF"

***************************
AT!UDUSBCOMP=25 (DM, NMEA, MODEM, AT, AUDIO)

MC7304 VID=0x1199 PID=0x68C0
firmware with voice support (VoLTE)
SWI9X15C_06.03.32.02 r26426 CNSHZ-AR-BUILD 2015/01/16 01:32:41

Device Descriptor:
------------------------------
0x12 bLength
0x01 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x1199 idVendor
0x68C0 idProduct
0x0006 bcdDevice
0x01 iManufacturer   "Sierra Wireless, Incorporated"
0x02 iProduct   "MC7304"
0x03 iSerialNumber   "0123456789ABCDEF"
0x01 bNumConfigurations

Device Qualifier Descriptor:
------------------------------
0x0A bLength
0x06 bDescriptorType
0x0200 bcdUSB
0x00 bDeviceClass
0x00 bDeviceSubClass
0x00 bDeviceProtocol
0x40 bMaxPacketSize0   (64 bytes)
0x01 bNumConfigurations
0x00 bReserved

Configuration Descriptor:
------------------------------
0x09 bLength
0x02 bDescriptorType
0x013E wTotalLength   (318 bytes)
0x07 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x04 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x09 bInterval         (256 microframes)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0200 wMaxPacketSize    (512 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x10 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x01 bInterfaceSubClass   (Audio Control Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AC Interface Header Descriptor:
------------------------------
0x0A bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x0100 bcdADC
0x0034 wTotalLength   (52 bytes)
0x02 bInCollection
0x11 baInterfaceNr(1)
0x12 baInterfaceNr(2)

AC Input Terminal Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bTerminalID
0x0201 wTerminalType   (Microphone)
0x02 bAssocTerminal
0x01 bNrChannels   (1 channels)
0x0003 wChannelConfig
0x00 iChannelNames
0x00 iTerminal

AC Output Terminal Descriptor:
------------------------------
0x09 bLength
0x24 bDescriptorType
0x03 bDescriptorSubtype
0x02 bTerminalID
0x0101 wTerminalType   (USB Streaming)
0x01 bAssocTerminal
0x01 bSourceID
0x00 iTerminal

AC Input Terminal Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x03 bTerminalID
0x0101 wTerminalType   (USB Streaming)
0x04 bAssocTerminal
0x02 bNrChannels   (2 channels)
0x0003 wChannelConfig
0x00 iChannelNames
0x00 iTerminal

AC Output Terminal Descriptor:
------------------------------
0x09 bLength
0x24 bDescriptorType
0x03 bDescriptorSubtype
0x04 bTerminalID
0x0301 wTerminalType   (Speaker)
0x03 bAssocTerminal
0x03 bSourceID
0x00 iTerminal

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x11 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x11 bInterfaceNumber
0x01 bAlternateSetting
0x01 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AS Interface Descriptor:
------------------------------
0x07 bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x02 bTerminalLink
0x01 bDelay
0x0001 wFormatTag   (PCM)

AS Format Type 1 Descriptor:
------------------------------
0x0B bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bFormatType   (FORMAT_TYPE_1)
0x01 bNrChannels   (1 channels)
0x02 bSubframeSize
0x10 bBitResolution   (16 bits per sample)
0x01 bSamFreqType   (Discrete sampling frequencies)
0x001F40 tSamFreq(1)   (8000 Hz)

Endpoint Descriptor (Audio/MIDI 1.0):
------------------------------
0x09 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x05 bmAttributes      (Transfer: Isochronous / Synch: Asynchronous /
Usage: Data)
0x0010 wMaxPacketSize    (1 x 16 bytes)
0x04 bInterval         (8 microframes)
0x00 bRefresh
0x00 bSynchAddress

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x07 bLength
0x25 bDescriptorType
0x01 bDescriptorSubtype
0x01 bmAttributes   (Sampling Frequency)
0x01 bLockDelayUnits   (milliseconds)
0x0001 wLockDelay

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x12 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x12 bInterfaceNumber
0x01 bAlternateSetting
0x01 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AS Interface Descriptor:
------------------------------
0x07 bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x03 bTerminalLink
0x01 bDelay
0x0001 wFormatTag   (PCM)

AS Format Type 1 Descriptor:
------------------------------
0x0B bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bFormatType   (FORMAT_TYPE_1)
0x02 bNrChannels   (2 channels)
0x02 bSubframeSize
0x10 bBitResolution   (16 bits per sample)
0x01 bSamFreqType   (Discrete sampling frequencies)
0x001F40 tSamFreq(1)   (8000 Hz)

Endpoint Descriptor (Audio/MIDI 1.0):
------------------------------
0x09 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x09 bmAttributes      (Transfer: Isochronous / Synch: Adaptive / Usage:
Data)
0x0020 wMaxPacketSize    (1 x 32 bytes)
0x04 bInterval         (8 microframes)
0x00 bRefresh
0x00 bSynchAddress

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x07 bLength
0x25 bDescriptorType
0x01 bDescriptorSubtype
0x01 bmAttributes   (Sampling Frequency)
0x01 bLockDelayUnits   (milliseconds)
0x0001 wLockDelay

Other Speed Configuration Descriptor:
------------------------------
0x09 bLength
0x07 bDescriptorType
0x013E wTotalLength   (318 bytes)
0x07 bNumInterfaces
0x01 bConfigurationValue
0x00 iConfiguration
0xE0 bmAttributes   (Self-powered Device, Remote-Wakeup)
0xFA bMaxPower      (500 mA)

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x00 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0xFF bInterfaceSubClass
0xFF bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x81 bEndpointAddress  (IN endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x01 bEndpointAddress  (OUT endpoint 1)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x02 bInterfaceNumber
0x00 bAlternateSetting
0x02 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x82 bEndpointAddress  (IN endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x02 bEndpointAddress  (OUT endpoint 2)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x03 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x84 bEndpointAddress  (IN endpoint 4)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x83 bEndpointAddress  (IN endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x03 bEndpointAddress  (OUT endpoint 3)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x04 bInterfaceNumber
0x00 bAlternateSetting
0x03 bNumEndPoints
0xFF bInterfaceClass      (Vendor specific)
0x00 bInterfaceSubClass
0x00 bInterfaceProtocol
0x00 iInterface

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x00 0x10 0x01

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x01 0x00 0x00

Unknown Descriptor:
------------------------------
0x04 bLength
0x24 bDescriptorType
Hex dump:
0x04 0x24 0x02 0x02

Unknown Descriptor:
------------------------------
0x05 bLength
0x24 bDescriptorType
Hex dump:
0x05 0x24 0x06 0x00 0x00

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x86 bEndpointAddress  (IN endpoint 6)
0x03 bmAttributes      (Transfer: Interrupt / Synch: None / Usage: Data)
0x000C wMaxPacketSize    (1 x 12 bytes)
0x20 bInterval         (32 frames)

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x85 bEndpointAddress  (IN endpoint 5)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Endpoint Descriptor:
------------------------------
0x07 bLength
0x05 bDescriptorType
0x04 bEndpointAddress  (OUT endpoint 4)
0x02 bmAttributes      (Transfer: Bulk / Synch: None / Usage: Data)
0x0040 wMaxPacketSize    (64 bytes)
0x00 bInterval

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x10 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x01 bInterfaceSubClass   (Audio Control Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AC Interface Header Descriptor:
------------------------------
0x0A bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x0100 bcdADC
0x0034 wTotalLength   (52 bytes)
0x02 bInCollection
0x11 baInterfaceNr(1)
0x12 baInterfaceNr(2)

AC Input Terminal Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bTerminalID
0x0201 wTerminalType   (Microphone)
0x02 bAssocTerminal
0x01 bNrChannels   (1 channels)
0x0003 wChannelConfig
0x00 iChannelNames
0x00 iTerminal

AC Output Terminal Descriptor:
------------------------------
0x09 bLength
0x24 bDescriptorType
0x03 bDescriptorSubtype
0x02 bTerminalID
0x0101 wTerminalType   (USB Streaming)
0x01 bAssocTerminal
0x01 bSourceID
0x00 iTerminal

AC Input Terminal Descriptor:
------------------------------
0x0C bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x03 bTerminalID
0x0101 wTerminalType   (USB Streaming)
0x04 bAssocTerminal
0x02 bNrChannels   (2 channels)
0x0003 wChannelConfig
0x00 iChannelNames
0x00 iTerminal

AC Output Terminal Descriptor:
------------------------------
0x09 bLength
0x24 bDescriptorType
0x03 bDescriptorSubtype
0x04 bTerminalID
0x0301 wTerminalType   (Speaker)
0x03 bAssocTerminal
0x03 bSourceID
0x00 iTerminal

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x11 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x11 bInterfaceNumber
0x01 bAlternateSetting
0x01 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AS Interface Descriptor:
------------------------------
0x07 bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x02 bTerminalLink
0x01 bDelay
0x0001 wFormatTag   (PCM)

AS Format Type 1 Descriptor:
------------------------------
0x0B bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bFormatType   (FORMAT_TYPE_1)
0x01 bNrChannels   (1 channels)
0x02 bSubframeSize
0x10 bBitResolution   (16 bits per sample)
0x01 bSamFreqType   (Discrete sampling frequencies)
0x001F40 tSamFreq(1)   (8000 Hz)

Endpoint Descriptor (Audio/MIDI 1.0):
------------------------------
0x09 bLength
0x05 bDescriptorType
0x87 bEndpointAddress  (IN endpoint 7)
0x05 bmAttributes      (Transfer: Isochronous / Synch: Asynchronous /
Usage: Data)
0x0010 wMaxPacketSize    (1 x 16 bytes)
0x04 bInterval         (8 frames)
0x00 bRefresh
0x00 bSynchAddress

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x07 bLength
0x25 bDescriptorType
0x01 bDescriptorSubtype
0x01 bmAttributes   (Sampling Frequency)
0x01 bLockDelayUnits   (milliseconds)
0x0001 wLockDelay

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x12 bInterfaceNumber
0x00 bAlternateSetting
0x00 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

Interface Descriptor:
------------------------------
0x09 bLength
0x04 bDescriptorType
0x12 bInterfaceNumber
0x01 bAlternateSetting
0x01 bNumEndPoints
0x01 bInterfaceClass      (Audio Device Class)
0x02 bInterfaceSubClass   (Audio Streaming Interface)
0x00 bInterfaceProtocol
0x00 iInterface

AS Interface Descriptor:
------------------------------
0x07 bLength
0x24 bDescriptorType
0x01 bDescriptorSubtype
0x03 bTerminalLink
0x01 bDelay
0x0001 wFormatTag   (PCM)

AS Format Type 1 Descriptor:
------------------------------
0x0B bLength
0x24 bDescriptorType
0x02 bDescriptorSubtype
0x01 bFormatType   (FORMAT_TYPE_1)
0x02 bNrChannels   (2 channels)
0x02 bSubframeSize
0x10 bBitResolution   (16 bits per sample)
0x01 bSamFreqType   (Discrete sampling frequencies)
0x001F40 tSamFreq(1)   (8000 Hz)

Endpoint Descriptor (Audio/MIDI 1.0):
------------------------------
0x09 bLength
0x05 bDescriptorType
0x05 bEndpointAddress  (OUT endpoint 5)
0x09 bmAttributes      (Transfer: Isochronous / Synch: Adaptive / Usage:
Data)
0x0020 wMaxPacketSize    (1 x 32 bytes)
0x04 bInterval         (8 frames)
0x00 bRefresh
0x00 bSynchAddress

AS Isochronous Data Endpoint Descriptor:
------------------------------
0x07 bLength
0x25 bDescriptorType
0x01 bDescriptorSubtype
0x01 bmAttributes   (Sampling Frequency)
0x01 bLockDelayUnits   (milliseconds)
0x0001 wLockDelay

String Descriptor Table
--------------------------------
Index  LANGID  String
0x00   0x0000  0x0409
0x01   0x0409  "Sierra Wireless, Incorporated"
0x02   0x0409  "MC7304"
0x03   0x0409  "0123456789ABCDEF"

On 8/16/2018 1:56 PM, Denis wrote:

> I can change AT!UDUSBCOMP modes for MC7304 and MC7455 I have in production.
>
> But how to make full dump of all the USB device descriptors for each
> UDUSBCOMP mode? Can I make it by usbdevs -vvvv or how?
>
> Denis
>
> On 8/15/2018 5:41 PM, Mark Kettenis wrote:
>>> Date: Wed, 15 Aug 2018 09:56:50 +0100
>>> From: Stuart Henderson <[hidden email]>
>>>
>>> On 2018/08/14 18:43, Bryan Vyhmeister wrote:
>>>> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
>>>>> Most of modern modems have serial discipline ports and USB Mobile
>>>>> Broadband Interface Model (MBIM) interface in some port compositions
>>>>> simultaneously. It seems very useful to have different disciplines
>>>>> supported by umsm(4) and umb(4) drivers on the same device.
>>>>>
>>>> <snip>
>>>>>
>>>>> Does it possible to have simultaneously operated AT + NMEA ports by
>>>>> umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
>>>>> device in 6.3?
>>>>
>>>> What is the advantage in having a device attach to both umsm(4) and
>>>> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
>>>> with umb(4) until your previous umsm(4) diff and now it only attaches as
>>>> umsm(4). Are you wanting to send SMS messages or something like that
>>>> with your devices?
>>>>
>>>> Bryan
>>>>
>>>
>>> Denis has a good point because umsm is needed for GPS and as you
>>> suggest SMS.
>>>
>>> What determines which driver attaches when a device is supported by
>>> multiple drivers? Perhaps the simplest option without more complex work
>>> to support different interfaces on different drivers would be to have
>>> the device attach to umb by default but attach to umsm instead if umb is
>>> disabled in the kernel. Then at least a standard kernel could be used
>>> with "disable umb" from boot config.
>>
>> The return value from the "match" function determines which driver
>> attaches.  The driver that returns the highest value wins.
>>
>> However, matching for USB devices is complicated.  Drivers already use
>> different return values (the UMATCH_* constants).  On top of that
>> drivers can claim a whole device or claim just a particular interface
>> of a device.  This requires some careful though to make sure the right
>> driver attaches.
>>
>> What we really need is a full dump of the usb device descriptors,
>> preferably in all the different UDUSBCOMP modes.
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Denis Lapshin-2
In reply to this post by Mark Kettenis
I've done USB descriptors dump for MC7304 with two firmware variants:
- modem SWI9X15C_05.05.67.00
- voice enambled SWI9X15C_06.03.32.02

as well as descriptors for EM/MC7455 modem firmware.

Denis

On 8/15/2018 5:41 PM, Mark Kettenis wrote:

>> Date: Wed, 15 Aug 2018 09:56:50 +0100
>> From: Stuart Henderson <[hidden email]>
>>
>> On 2018/08/14 18:43, Bryan Vyhmeister wrote:
>>> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
>>>> Most of modern modems have serial discipline ports and USB Mobile
>>>> Broadband Interface Model (MBIM) interface in some port compositions
>>>> simultaneously. It seems very useful to have different disciplines
>>>> supported by umsm(4) and umb(4) drivers on the same device.
>>>>
>>> <snip>
>>>>
>>>> Does it possible to have simultaneously operated AT + NMEA ports by
>>>> umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
>>>> device in 6.3?
>>>
>>> What is the advantage in having a device attach to both umsm(4) and
>>> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
>>> with umb(4) until your previous umsm(4) diff and now it only attaches as
>>> umsm(4). Are you wanting to send SMS messages or something like that
>>> with your devices?
>>>
>>> Bryan
>>>
>>
>> Denis has a good point because umsm is needed for GPS and as you
>> suggest SMS.
>>
>> What determines which driver attaches when a device is supported by
>> multiple drivers? Perhaps the simplest option without more complex work
>> to support different interfaces on different drivers would be to have
>> the device attach to umb by default but attach to umsm instead if umb is
>> disabled in the kernel. Then at least a standard kernel could be used
>> with "disable umb" from boot config.
>
> The return value from the "match" function determines which driver
> attaches.  The driver that returns the highest value wins.
>
> However, matching for USB devices is complicated.  Drivers already use
> different return values (the UMATCH_* constants).  On top of that
> drivers can claim a whole device or claim just a particular interface
> of a device.  This requires some careful though to make sure the right
> driver attaches.
>
> What we really need is a full dump of the usb device descriptors,
> preferably in all the different UDUSBCOMP modes.
>

Reply | Threaded
Open this post in threaded view
|

Fwd: Re: umsm(4) and umb(4) separate loading for the same composite USB modem device

Denis Lapshin-2
In reply to this post by Denis Lapshin-2
Any progress in OpenBSD 6.5 to have umsm(4) and umb(4) recognition for
the same composite USB device according to USB descriptors dumped for
MC7304 and MC7455?

6.4 doesn't recognize mbim device umb(4) when umsm(4) ports enabled on
one physical device simultaneously.

I'm getting messages like below:

umsm8: missing endpoint
umsm9: missing endpoint

for each umb(4) port on MC7304.

Denis


-------- Forwarded Message --------
Subject: Re: umsm(4) and umb(4) separate loading for the same composite
USB modem device
Date: Wed, 15 Aug 2018 16:51:23 +0300
From: Denis <[hidden email]>
To: Bryan Vyhmeister <[hidden email]>
CC: [hidden email]

umsm(4) patch is needed to recognize MC7304 by umsm(4) and to have both
NMEA and AT ports enabled.

Especially, I'm using MC7304's (MC7455 on another platform) NMEA port
for NTP time corrections from GLO/GPS. AT port is needed for mode
changes by AT commands. Very useful.

umb(4) is a good one for modern fast data transmit over MBIM port.
So the advantages of simultaneous running umsm(4) and umb(4) drivers for
single physical device are:

- having NMEA + AT serial discipline working by umsm(4);
(any rather 'old' serial discipline functionality can be used like SMS,
modem's mode changes by AT commands etc.)
- MBIM for fast LTE Cat-3 / Cat-6 data connections by modern umb(4) driver.

Denis

On 8/15/2018 4:43 AM, Bryan Vyhmeister wrote:

> On Tue, Aug 14, 2018 at 05:53:43PM +0300, Denis wrote:
>> Most of modern modems have serial discipline ports and USB Mobile
>> Broadband Interface Model (MBIM) interface in some port compositions
>> simultaneously. It seems very useful to have different disciplines
>> supported by umsm(4) and umb(4) drivers on the same device.
>>
> <snip>
>>
>> Does it possible to have simultaneously operated AT + NMEA ports by
>> umsm(4)driver and MBIM interface by umb(4) driver on the same MC7304
>> device in 6.3?
>
> What is the advantage in having a device attach to both umsm(4) and
> umb(4)? What are you trying to accomplish? The EM7455 worked perfectly
> with umb(4) until your previous umsm(4) diff and now it only attaches as
> umsm(4). Are you wanting to send SMS messages or something like that
> with your devices?
>
> Bryan
>