Re: Problems with Sierra LTE MC7710 Device



Harald Jung <support ecos de> writes:

> Hi,
>
> further informations about the device:
>
> lsusb -v output:
> http://pastebin.com/9u2wR3zs

|  bDeviceClass          239 Miscellaneous Device
|  bDeviceSubClass         2 ?
|  bDeviceProtocol         1 Interface Association

These are new (previously they were 00/00/00).  This is a Microsoft
Windows 8 thingy. I expect the device will respond to requests for
string descriptor 0xee and all the associated vendor specific control
requests as well. We don't care.

|  bNumConfigurations      2

And this is new and important.  The device now presents two alternate
configurations:
 #1 is the same as before (known as ""Windows 7 compatibility") and
 fully supported in Linux by the qcserial and qmi_wwan drivers in
 cooperation with NM and MM.

 Interfaces/functions are as before (in the default composition - there
 may be others):
  0: ff/ff/ff diag
  2: ff/ff/ff nmea
  3: ff/ff/ff at cmd
  8: ff/ff/ff qmi net

 #2 is the interesting new part, implementing the CDC MBIM spec.  This
 should be supported by the cdc_mbim driver (Linux v3.8+), but is not
 yet supported by any Linux userspace application.

 Comments to some parts of it.

    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface        12
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass      14 
      bFunctionProtocol       0 
      iFunction               0 

 The IAD descriptor is required by Microsoft I believe.  Not something
 we normally care about.  But we may have to in the cdc_mbim driver -
 see below.
 

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber       12
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass     14 
      bInterfaceProtocol      0 
      iInterface              0 
      CDC Header:
        bcdCDC               1.10
      UNRECOGNIZED CDC:  0c 24 1b 00 01 00 10 10 80 e0 0f 20
 
 This is pretty much what I expect from a CDC MBIM function.  The
 "UNRECOGNIZED CDC" descriptor is the MBIM descriptor (very new lsusb
 versions, i.e. from git, will decode this).

 But there is one notable exception:  There is no CDC Union descriptor
 here!  That's a spec violation.  The MBIM v1.0 spec requires the
 Header, Union and MBIM CDC functional descriptors.  Quoting section
 "6.3 COMMUNICATION CLASS INTERFACE DESCRIPTORS":

 <quote>
    Interfaces must implement the following functional descriptor
    described in [USBCDC12]:

     - Header Functional Descriptor (describing the level of compliance
       to [USBCDC12] Interface and the Data interface).
     - Union Functional Descriptor (containing the interface numbers of
       the Communications Interface and the Data interface).

     MBIM functions shall supply an MBIM Functional Descriptor, as
     defined in Table 6‐3: MB
 </quote>

 This means that the current cdc_mbim driver won't work with this
 device.  We may possibly work around that issue by side-looking at the
 IAD descriptor (or just guessing that the data interface is the next
 one), but this should really be fixed up in the firmware.  I'll try to
 contact Sierra about it...

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber       13
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber       13
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 
      iInterface              0 

This looks good.  No NCM fallback, just plain MBIM, which is sensible
given that an alternate legacy mode is defined by configuration #1.


I'll see if I can code up a quick and dirty workaround for the missing
Union descriptor if you want to start testing the MBIM function.  Just
let me know.  It would be good to have the workaround in v3.8 so I'd
really appreciate it if you are willing to test this.


> Modem Info:
> Manufacturer: Sierra Wireless, Incorporated
> Model: MC7710
> Revision: SWI9200X_03.05.19.04ap r5475 carmd-en-10527 2012/09/17 17:57:14

Thanks, so that looks like a newer revision of the same firmware version
I am currently running:

 Revision: SWI9200X_03.05.08.00AP R4430 CARMD-EN-10527 2012/01/23 15:28:10

Makes sense.  There is a "Windows 8" setting in my firmware, but it is
documented to be non-functional so I haven't dared testing it...

I will ask my supplier for the same version you have got.


Bjørn


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]