[ltp] 2nd gen X1 carbon 3g/lte Sierra Wireless EM7345 4G LTE

morten linux-thinkpad@linux-thinkpad.org
Tue, 01 Apr 2014 21:47:22 +0200


Hello

I have tested libmbim (git-ref: b1ae81a75a1a68ea1c7316047528e79092bf0d37)=

on Ubuntu 12.04 (Linux thinkpad 3.11.0-18-generic #32~precise1-Ubuntu=20
SMP Thu Feb 20 17:52:10 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux)
with the Sierra Wireless EM7345 modem module.

I am capable of querying the device of various properties e.g.

sudo mbimcli -d /dev/cdc-wdm0 --query-device-caps
[/dev/cdc-wdm0] Device capabilities retrieved:
           Device type: 'embedded'
        Cellular class: 'gsm'
           Voice class: 'no-voice'
             Sim class: 'removable'
            Data class: 'gprs, edge, umts, hsdpa, hsupa, lte'
              SMS caps: 'pdu-receive, pdu-send'
             Ctrl caps: 'reg-manual'
          Max sessions: '8'
     Custom data class: 'unknown'
             Device ID: '013937000188621'
         Firmware info: 'FIH7160_V1.1_MODEM_01.1349.12'
         Hardware info: 'XMM7160_V1.1_MBIM_GNSS_NAND_RE'

sudo mbimcli -d /dev/cdc-wdm0 --query-radio-state
[/dev/cdc-wdm0] Radio state retrieved:
          Hardware Radio State: 'on'
          Software Radio State: 'on'

sudo mbimcli -d /dev/cdc-wdm0 --query-subscriber-ready-status
[/dev/cdc-wdm0] Subscriber ready status retrieved:
           Ready state: 'initialized'
         Subscriber ID: '=3D=3DREDACTED=3D=3D'
             SIM ICCID: '=3D=3DREDACTED=3D=3D'
            Ready info: 'unknown'
     Telephone numbers: (0) 'unknown'

but the following command times-out at some point

sudo mbimcli -d /dev/cdc-wdm0 --query-device-services
[/dev/cdc-wdm0] Device services retrieved:
     Max DSS sessions: '0'
             Services: (14)

                   Service: 'basic-connect'
                      UUID: [a289cc33-bcbb-8b4f-b6b0-133ec2aae6df]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: device-caps (1),
                            subscriber-ready-status (2),
                            radio-state (3),
                            pin (4),
                            pin-list (5),
                            register-state (9),
                            home-provider (6),
                            signal-state (11),
                            visible-providers (8),
                            preferred-providers (7),
                            network-idle-hint (21),
                            packet-service (10),
                            ip-configuration (15),
                            connect (12),
                            device-services (16),
                            device-service-subscribe-list (19),
                            ip-packet-filters (23),
                            provisioned-contexts (13)

                   Service: 'sms'
                      UUID: [533fbeeb-14fe-4467-9f90-33a223e56c3f]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: configuration (1),
                            read (2),
                            send (3),
                            delete (4),
                            message-store-status (5)

                   Service: 'ussd'
                      UUID: [e550a0c8-5e82-479e-82f7-10abf4c3351f]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: ussd (1)

                   Service: 'phonebook'
                      UUID: [4bf38476-1e6a-41db-b1d8-bed289c25bdb]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: configuration (1),
                            read (2),
                            delete (3),
                            write (4)

                   Service: 'auth'
                      UUID: [1d2b5ff7-0aa1-48b2-aa52-50f15767174e]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: aka (1),
                            sim (3)

                   Service: 'unknown'
                      UUID: [10e40d69-375a-42ce-a297-906164f2754c]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: 1

                   Service: 'unknown'
                      UUID: [59a7f323-fe5a-4301-b185-b8ea9e6167b7]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: 1

                   Service: 'unknown'
                      UUID: [fdc22af2-f441-4d46-af8d-259fcdde4635]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: 33554688

                   Service: 'ms-host-shutdown'
                      UUID: [883b7c26-985f-43fa-9804-27d7fb80959c]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: notify (1)

                   Service: 'unknown'
                      UUID: [5967bdcc-7fd2-49a2-9f5c-b2e70e527db3]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: 2, 3, 1, 11, 4, 10, 9

                   Service: 'unknown'
                      UUID: [0ed374cb-f835-4474-bc11-3b3fd76f5641]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: 1

                   Service: 'unknown'
                      UUID: [ed19555d-a6ac-4327-8eb1-fc022e5e2388]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: 33554448

                   Service: 'unknown'
                      UUID: [fa142322-166b-4fd9-89f0-99be90ae8e3d]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: 1

                   Service: 'unknown'
                      UUID: [6a2a8150-abca-4b11-a4e2-f2fc879f5481]:
               DSS payload: 0
         Max DSS instances: 0
                      CIDs: 1
error: couldn't close device: Transaction timed out

Furtermore when I try to connect using sudo mbim-network /dev/cdc-wdm0 st=
art
it is unable to connect giving a timeout as a reason. It should be=20
noted, that after the first timeout occurs, all of the following query=20
gives an error similar to this:

[01 Apr 2014, 15:53:07] -Error ** mbim_message_open_done_get_result:=20
assertion `MBIM_MESSAGE_GET_MESSAGE_TYPE (self) =3D=3D=20
MBIM_MESSAGE_TYPE_OPEN_DONE' failed

(mbimcli:3189): GLib-GIO-CRITICAL **: g_simple_async_result_take_error:=20
assertion `error !=3D NULL' failed

A verbose example of the --query-device-services command

sudo mbimcli -d /dev/cdc-wdm0 --query-device-services -v
[01 Apr 2014, 21:38:59] [Debug] [/dev/cdc-wdm0] Queried max control=20
message size: 512
[01 Apr 2014, 21:38:59] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length =3D 16
<<<<<<   data   =3D 01:00:00:00:10:00:00:00:01:00:00:00:00:02:00:00

[01 Apr 2014, 21:38:59] [Debug] [/dev/cdc-wdm0] Sent message (translated)=
=2E..
<<<<<< Header:
<<<<<<   length      =3D 16
<<<<<<   type        =3D open (0x00000001)
<<<<<<   transaction =3D 1
<<<<<< Contents:
<<<<<<   max_control_transfer =3D 512

[01 Apr 2014, 21:38:59] [Debug] [/dev/cdc-wdm0] Received message...
 >>>>>> RAW:
 >>>>>>   length =3D 16
 >>>>>>   data   =3D 01:00:00:80:10:00:00:00:01:00:00:00:00:00:00:00

[01 Apr 2014, 21:38:59] [Debug] MBIM Device at '/dev/cdc-wdm0' ready
[01 Apr 2014, 21:38:59] [Debug] Asynchronously querying device services..=
=2E
[01 Apr 2014, 21:38:59] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length =3D 48
<<<<<<   data   =3D=20
03:00:00:00:30:00:00:00:02:00:00:00:01:00:00:00:00:00:00:00:A2:89:CC:33:B=
C:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:10:00:00:00:00:00:00:00:00:00:00:00

[01 Apr 2014, 21:38:59] [Debug] [/dev/cdc-wdm0] Sent message (translated)=
=2E..
<<<<<< Header:
<<<<<<   length      =3D 48
<<<<<<   type        =3D command (0x00000003)
<<<<<<   transaction =3D 2
<<<<<< Fragment header:
<<<<<<   total   =3D 1
<<<<<<   current =3D 0
<<<<<< Contents:
<<<<<<   service =3D 'basic-connect' (a289cc33-bcbb-8b4f-b6b0-133ec2aae6d=
f)
<<<<<<   cid     =3D 'device-services' (0x00000010)
<<<<<<   type    =3D 'query' (0x00000000)

[01 Apr 2014, 21:38:59] [Debug] [/dev/cdc-wdm0] Received message...=20
(partial fragment)
 >>>>>> RAW:
 >>>>>>   length =3D 512
 >>>>>>   data   =3D=20
03:00:00:80:00:02:00:00:02:00:00:00:02:00:00:00:00:00:00:00:A2:89:CC:33:B=
C:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:10:00:00:00:00:00:00:00:B4:02:00:00:0E=
:00:00:00:00:00:00:00:78:00:00:00:64:00:00:00:DC:00:00:00:30:00:00:00:0C:=
01:00:00:20:00:00:00:2C:01:00:00:2C:00:00:00:58:01:00:00:24:00:00:00:7C:0=
1:00:00:20:00:00:00:9C:01:00:00:20:00:00:00:BC:01:00:00:20:00:00:00:DC:01=
:00:00:20:00:00:00:FC:01:00:00:38:00:00:00:34:02:00:00:20:00:00:00:54:02:=
00:00:20:00:00:00:74:02:00:00:20:00:00:00:94:02:00:00:20:00:00:00:A2:89:C=
C:33:BC:BB:8B:4F:B6:B0:13:3E:C2:AA:E6:DF:00:00:00:00:00:00:00:00:12:00:00=
:00:01:00:00:00:02:00:00:00:03:00:00:00:04:00:00:00:05:00:00:00:09:00:00:=
00:06:00:00:00:0B:00:00:00:08:00:00:00:07:00:00:00:15:00:00:00:0A:00:00:0=
0:0F:00:00:00:0C:00:00:00:10:00:00:00:13:00:00:00:17:00:00:00:0D:00:00:00=
:53:3F:BE:EB:14:FE:44:67:9F:90:33:A2:23:E5:6C:3F:00:00:00:00:00:00:00:00:=
05:00:00:00:01:00:00:00:02:00:00:00:03:00:00:00:04:00:00:00:05:00:00:00:E=
5:50:A0:C8:5E:82:47:9E:82:F7:10:AB:F4:C3:35:1F:00:00:00:00:00:00:00:00:01=
:00:00:00:01:00:00:00:4B:F3:84:76:1E:6A:41:DB:B1:D8:BE:D2:89:C2:5B:DB:00:=
00:00:00:00:00:00:00:04:00:00:00:01:00:00:00:02:00:00:00:03:00:00:00:04:0=
0:00:00:1D:2B:5F:F7:0A:A1:48:B2:AA:52:50:F1:57:67:17:4E:00:00:00:00:00:00=
:00:00:02:00:00:00:01:00:00:00:03:00:00:00:10:E4:0D:69:37:5A:42:CE:A2:97:=
90:61:64:F2:75:4C:00:00:00:00:00:00:00:00:01:00:00:00:01:00:00:00:59:A7:F=
3:23:FE:5A:43:01:B1:85:B8:EA:9E:61:67:B7:00:00:00:00:00:00:00:00:01:00:00=
:00:01:00:00:00:FD:C2:2A:F2:F4:41:4D:46:AF:8D:25:9F:CD:DE:46:35:00:00:00:=
00

[01 Apr 2014, 21:38:59] [Debug] [/dev/cdc-wdm0] Received message=20
fragment (translated)...
 >>>>>> Header:
 >>>>>>   length      =3D 512
 >>>>>>   type        =3D command-done (0x80000003)
 >>>>>>   transaction =3D 2
 >>>>>> Fragment header:
 >>>>>>   total   =3D 2
 >>>>>>   current =3D 0

error: operation failed: Fragment timed out
[01 Apr 2014, 21:39:09] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length =3D 12
<<<<<<   data   =3D 02:00:00:00:0C:00:00:00:03:00:00:00

[01 Apr 2014, 21:39:09] [Debug] [/dev/cdc-wdm0] Sent message (translated)=
=2E..
<<<<<< Header:
<<<<<<   length      =3D 12
<<<<<<   type        =3D close (0x00000002)
<<<<<<   transaction =3D 3

[01 Apr 2014, 21:39:09] [Debug] [/dev/cdc-wdm0] Sent message...
<<<<<< RAW:
<<<<<<   length =3D 16
<<<<<<   data   =3D 04:00:00:00:10:00:00:00:02:00:00:00:01:00:00:00

[01 Apr 2014, 21:39:09] [Debug] [/dev/cdc-wdm0] Sent message (translated)=
=2E..
<<<<<< Header:
<<<<<<   length      =3D 16
<<<<<<   type        =3D host-error (0x00000004)
<<<<<<   transaction =3D 2
<<<<<< Contents:
<<<<<<   error =3D 'TimeoutFragment' (0x00000001)

[01 Apr 2014, 21:39:09] [Debug] [/dev/cdc-wdm0] Received message...=20
(partial fragment)
 >>>>>> RAW:
 >>>>>>   length =3D 248
 >>>>>>   data   =3D=20
03:00:00:80:F8:00:00:00:02:00:00:00:02:00:00:00:01:00:00:00:00:00:00:00:0=
1:00:00:00:00:01:00:02:88:3B:7C:26:98:5F:43:FA:98:04:27:D7:FB:80:95:9C:00=
:00:00:00:00:00:00:00:01:00:00:00:01:00:00:00:59:67:BD:CC:7F:D2:49:A2:9F:=
5C:B2:E7:0E:52:7D:B3:00:00:00:00:00:00:00:00:07:00:00:00:02:00:00:00:03:0=
0:00:00:01:00:00:00:0B:00:00:00:04:00:00:00:0A:00:00:00:09:00:00:00:0E:D3=
:74:CB:F8:35:44:74:BC:11:3B:3F:D7:6F:56:41:00:00:00:00:00:00:00:00:01:00:=
00:00:01:00:00:00:ED:19:55:5D:A6:AC:43:27:8E:B1:FC:02:2E:5E:23:88:00:00:0=
0:00:00:00:00:00:01:00:00:00:10:00:00:02:FA:14:23:22:16:6B:4F:D9:89:F0:99=
:BE:90:AE:8E:3D:00:00:00:00:00:00:00:00:01:00:00:00:01:00:00:00:6A:2A:81:=
50:AB:CA:4B:11:A4:E2:F2:FC:87:9F:54:81:00:00:00:00:00:00:00:00:01:00:00:0=
0:01:00:00:00

[01 Apr 2014, 21:39:09] [Debug] [/dev/cdc-wdm0] Received message=20
fragment (translated)...
 >>>>>> Header:
 >>>>>>   length      =3D 248
 >>>>>>   type        =3D command-done (0x80000003)
 >>>>>>   transaction =3D 2
 >>>>>> Fragment header:
 >>>>>>   total   =3D 2
 >>>>>>   current =3D 1

[01 Apr 2014, 21:39:09] [Debug] [/dev/cdc-wdm0] No transaction matched=20
in received message


dmesg output at boot
[    8.530427] usbcore: registered new interface driver cdc_ncm
[    8.535195] usbcore: registered new interface driver cdc_wdm
[    8.549669] cdc_mbim 2-4:1.0: cdc-wdm0: USB WDM device
[    8.554268] cdc_mbim 2-4:1.0 wwan0: register 'cdc_mbim' at=20
usb-0000:00:14.0-4, CDC MBIM, c6:92:45:62:05:05
[    8.555083] usbcore: registered new interface driver cdc_mbim
[    8.555543] usbcore: registered new interface driver btusb
[    8.557955] cdc_acm 2-4:1.2: This device cannot do calls on its own.=20
It is not a modem.
[    8.558002] cdc_acm 2-4:1.2: ttyACM0: USB ACM device
[    8.560226] usbcore: registered new interface driver cdc_acm
[    8.560230] cdc_acm: USB Abstract Control Model driver for USB modems =

and ISDN adapters


best regards
Morten Larsen