QMI via MBIM for "FCC Authentication" fix
Collin McMillan
cmc at nd.edu
Fri Jul 24 18:21:27 PDT 2015
I power cycled and then changed the configuration to 1 again. Then I ran
lsusb -v (output below), and then ran the AT commands:
AT
OK
AT!ENTERCND="A710"
OK
AT!UDUSBCOMP?
!UDUSBCOMP:
6
OK
And below, here is the output of lsusb -v just after I changed the
configuration.
Bus 001 Device 002: ID 1199:901f Sierra Wireless, Inc.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1199 Sierra Wireless, Inc.
idProduct 0x901f
bcdDevice 0.06
iManufacturer 1
iProduct 2
iSerial 3
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 160
bNumInterfaces 4
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000c 1x 12 bytes
bInterval 9
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
** UNRECOGNIZED: 05 24 00 10 01
** UNRECOGNIZED: 05 24 01 00 00
** UNRECOGNIZED: 04 24 02 02
** UNRECOGNIZED: 05 24 06 00 00
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000c 1x 12 bytes
bInterval 9
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 8
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 EP 7 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x000a 1x 10 bytes
bInterval 9
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x86 EP 6 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
On Fri, Jul 24, 2015 at 7:25 PM, Markus Gothe <nietzsche at lysator.liu.se>
wrote:
> Please after switching it send an ‘lsusb -v’ of the device.
> Either you are in 'QMI-mode’ or you are not.
>
> It is not a tristate…
> However try doing the ‘A710’-trick and then 'AT!UDUSBCOMP?'
>
> //M
>
> On 25 Jul 2015, at 00:55 , Collin McMillan <cmc at nd.edu> wrote:
>
> Hi Folks,
>
> I am poking around with a new Sierra Wireless EM7355 in a Lenovo T440p.
> I've had two big problems getting it to work, one being easily solvable (
> https://bugs.freedesktop.org/show_bug.cgi?id=91351).
>
> The other problem is the "FCC Authentication" trick discussed here:
> https://bugzilla.kernel.org/show_bug.cgi?id=92101
>
> That trick doesn't work on my modem because the EM7355 apparently doesn't
> support a QMI interface. It starts up in MBIM mode. I can switch it to
> QMI mode by setting bConfiguationValue in /sys/bus/usb/devices/1-10 to 1.
> The device reattaches with the proper ttyUSB devices. I can connect to
> ttyUSB2 with minicom and issue AT commands. The password A701 even lets me
> change the maintenance settings just fine. However, no QMI commands are
> possible. Just for example:
>
> =============================================
> # qmicli -d /dev/cdc-wdm0 --dms-get-capabilities --verbose
> [24 Jul 2015, 18:33:31] [Debug] [/dev/cdc-wdm0] Opening device with flags
> 'none'...
> [24 Jul 2015, 18:33:31] [Debug] QMI Device at '/dev/cdc-wdm0' ready
> [24 Jul 2015, 18:33:31] [Debug] [/dev/cdc-wdm0] Assuming service 'dms' is
> supported...
> [24 Jul 2015, 18:33:31] [Debug] [/dev/cdc-wdm0] Allocating new client ID...
> [24 Jul 2015, 18:33:31] [Debug] [/dev/cdc-wdm0] Sent message...
> <<<<<< RAW:
> <<<<<< length = 16
> <<<<<< data = 01:0F:00:00:00:00:00:01:22:00:04:00:01:01:00:02
>
> [24 Jul 2015, 18:33:31] [Debug] [/dev/cdc-wdm0] Sent message
> (translated)...
> <<<<<< QMUX:
> <<<<<< length = 15
> <<<<<< flags = 0x00
> <<<<<< service = "ctl"
> <<<<<< client = 0
> <<<<<< QMI:
> <<<<<< flags = "none"
> <<<<<< transaction = 1
> <<<<<< tlv_length = 4
> <<<<<< message = "Allocate CID" (0x0022)
> <<<<<< TLV:
> <<<<<< type = "Service" (0x01)
> <<<<<< length = 1
> <<<<<< value = 02
> <<<<<< translated = dms
>
> error: couldn't create client for the 'dms' service: CID allocation failed
> in the CTL client: Transaction timed out
> =============================================
>
> In addition, ModemManager reports:
> ....
> ModemManager[2839]: <debug> [1437767847.000186] [mm-port-probe.c:435]
> port_qmi_open_ready(): (usbmisc/cdc-wdm0) error checking QMI support:
> 'Transaction timed out'
> ModemManager[2839]: <debug> [1437767847.000226] [mm-port-probe.c:290]
> mm_port_probe_set_result_qmi(): (usbmisc/cdc-wdm0) port is not QMI-capable
> ....
>
> I have also read reports of some of these modems not supporting QMI, only
> MBIM. I do have the latest firmware from Sierra.
>
> SO, I am now trying to get the QMI over MBIM procedure going, which is
> rumored to exist. :-)
>
> http://lists.freedesktop.org/archives/modemmanager-devel/2015-July/002087.html
>
> Apparently it is straight forward once you know what to do -- just send a
> QMI message to MBIM service d1a30bc2-f97a-6e43-bf65-c7e24fb0f0d3. I can
> verify that my modem has this service with:
> mbimcli -d /dev/cdc-wdm0 --query-device-services
>
> This is where I am stuck. I suppose this is not possible with mbimcli, so
> I am trying to write a utility using libmbim to send the QMI FCC auth
> command through MBIM. Once I figure that out I am looking at adding that
> functionality to mbimcli.
>
> Would anyone on the list have a few more clues? Specifically, do I need
> to create the QMI command to wrap in libqmi first, or can it be done
> manually? Is there a simplified/minimized API usage example somewhere for
> sending MBIM commands? If not, mbimcli's code will do. :-)
>
> Thanks in advance!
>
> Collin
>
> _______________________________________________
> libmbim-devel mailing list
> libmbim-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/libmbim-devel
>
>
> //Markus - The panama-hat hacker
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libmbim-devel/attachments/20150724/7f1a7eed/attachment-0001.html>
More information about the libmbim-devel
mailing list