Bug 97058 - Sierra Wireless EM7455 (DELL branded DW5811e) is unable to connect
Summary: Sierra Wireless EM7455 (DELL branded DW5811e) is unable to connect
Status: RESOLVED WONTFIX
Alias: None
Product: libmbim
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Aleksander Morgado
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-23 10:50 UTC by joel.bourquard
Modified: 2016-11-13 10:35 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Output of "lsusb -v" for the WWAN device (9.33 KB, text/plain)
2016-07-23 11:09 UTC, joel.bourquard
Details
Kernel config (4.6.4) (108.57 KB, text/plain)
2016-07-23 11:28 UTC, joel.bourquard
Details
EM7455 fix for kernel 4.6.4 (already applied) (675 bytes, patch)
2016-07-23 11:33 UTC, joel.bourquard
Details | Splinter Review
ModemManager-1.6.0-log.txt (98.54 KB, text/plain)
2016-07-26 14:09 UTC, joel.bourquard
Details
ModemManager-1.6.0-log-2.txt (96.51 KB, text/plain)
2016-07-26 14:41 UTC, joel.bourquard
Details

Description joel.bourquard 2016-07-23 10:50:46 UTC
I'm running Gentoo Linux on a DELL Precision 7510.

I can successfully unlock the SIM card, I can scan the networks, but I can't connect.

Using the latest SVN version (as of 2016-07-23) for libmbim and libqmi.
Using kernel 4.6.4 with the EM7455 fix applied ( http://www.spinics.net/lists/stable/msg138638.html )

Here's what I tried:
====================

mbimcli -d /dev/cdc-wdm0 --no-close --enter-pin=8519
[/dev/cdc-wdm0] PIN operation successful

[/dev/cdc-wdm0] Pin Info:
                 Pin State: 'locked'
                   PinType: 'pin2'
        Remaining attempts: '3'
[/dev/cdc-wdm0] Session not closed:
            TRID: '3'

mbimcli -d /dev/cdc-wdm0 --no-close --no-open=3 --query-radio-state
[/dev/cdc-wdm0] Radio state retrieved:
             Hardware Radio State: 'on'
             Software Radio State: 'on'
[/dev/cdc-wdm0] Session not closed:
            TRID: '4'

mbimcli -d /dev/cdc-wdm0 --no-close --no-open=4 --attach-packet-service
[/dev/cdc-wdm0] Successfully attached to packet service

[/dev/cdc-wdm0] Packet service status:
                 Network error: 'unknown'
          Packet service state: 'attached'
        Available data classes: 'lte'
                  Uplink speed: '50000000 bps'
                Downlink speed: '100000000 bps'
[/dev/cdc-wdm0] Session not closed:
            TRID: '5'

mbimcli -d /dev/cdc-wdm0 --no-close --no-open=5 --query-subscriber-ready-status
[/dev/cdc-wdm0] Subscriber ready status retrieved:
              Ready state: 'initialized'
            Subscriber ID: '123456789012345'
                SIM ICCID: '12345678901234567890'
               Ready info: 'unknown'
        Telephone numbers: (3) ''
[/dev/cdc-wdm0] Session not closed:
            TRID: '6'

mbimcli -d /dev/cdc-wdm0 --no-close --no-open=6 --query-registration-state
[/dev/cdc-wdm0] Registration status:
                 Network error: 'unknown'
                Register state: 'home'
                 Register mode: 'automatic'
        Available data classes: 'lte'
        Current cellular class: 'gsm'
                   Provider ID: '22802'
                 Provider name: 'Sunrise'
                  Roaming text: 'unknown'
            Registration flags: 'packet-service-automatic-attach'
[/dev/cdc-wdm0] Session not closed:
            TRID: '7'

==============================

Also I tried this command:
qmicli -d /dev/cdc-wdm0 --device-open-mbim --dms-get-operating-mode

It said "online" and not "low power" so to me, it looks good.

Just to be sure, I tried the "FCC unlock" command, but the hardware replies that the command is unknown:
qmicli -v -p -d /dev/cdc-wdm0 --device-open-mbim --dms-set-fcc-authentication

==============================

When I attempt to start the network, it usually fails like this:

mbim-network /dev/cdc-wdm0 start
Loading profile at /etc/mbim-network.conf...
    APN: internet
    APN auth protocol: unset
    APN user: unset
    APN password: unset
    mbim-proxy: no
Loading previous state from /tmp/mbim-network-state-cdc-wdm0...
    Previous Transaction ID: 6
error: no actions specified
Clearing state at /tmp/mbim-network-state-cdc-wdm0...
Querying subscriber ready status 'mbimcli -d /dev/cdc-wdm0 --query-subscriber-ready-status --no-close '...
[/dev/cdc-wdm0] Subscriber ready status retrieved: Ready state: 'initialized' Subscriber ID: '123456789012345' SIM ICCID: '12345678901234567890' Ready info: 'unknown' Telephone numbers: (3) '' [/dev/cdc-wdm0] Session not closed: TRID: '3'
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 3)
Querying registration state 'mbimcli -d /dev/cdc-wdm0 --query-registration-state --no-open=3 --no-close '...
[/dev/cdc-wdm0] Registration status: Network error: 'unknown' Register state: 'home' Register mode: 'automatic' Available data classes: 'lte' Current cellular class: 'gsm' Provider ID: '22802' Provider name: 'Sunrise' Roaming text: 'unknown' Registration flags: 'packet-service-automatic-attach' [/dev/cdc-wdm0] Session not closed: TRID: '4'
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 4)
Attaching to packet service with 'mbimcli -d /dev/cdc-wdm0 --attach-packet-service --no-open=4 --no-close '...
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 5)
Starting network with 'mbimcli -d /dev/cdc-wdm0 --connect=apn='internet' --no-open=5 --no-close '...
error: operation failed: Transaction timed out
Network start failed
[/dev/cdc-wdm0] Session not closed: TRID: '6'
Saving state at /tmp/mbim-network-state-cdc-wdm0... (TRID: 6)

=====================

I tried "ifconfig wwan0 up" and then "dhclient wwan0" but it never receives an IP and ifconfig shows no incoming traffic:

ifconfig wwan0
wwan0: flags=4291<UP,BROADCAST,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet6 fe80::38eb:4fff:fefa:fd5  prefixlen 64  scopeid 0x20<link>
        ether 3a:eb:4f:12:34:56  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10  bytes 2464 (2.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

=====================

The only strange thing that I noticed: as seen above, the WWAN card claims that it has 3 phone numbers, but displays an empty string.

Any suggestions as to what I should try?

Thanks in advance...
Comment 1 joel.bourquard 2016-07-23 11:09:39 UTC
Created attachment 125274 [details]
Output of "lsusb -v" for the WWAN device
Comment 2 joel.bourquard 2016-07-23 11:28:28 UTC
Created attachment 125275 [details]
Kernel config (4.6.4)
Comment 3 joel.bourquard 2016-07-23 11:33:41 UTC
Created attachment 125276 [details] [review]
EM7455 fix for kernel 4.6.4 (already applied)
Comment 4 joel.bourquard 2016-07-23 11:45:09 UTC
qmicli -d /dev/cdc-wdm0 --device-open-mbim --dms-get-band-capabilities
[/dev/cdc-wdm0] Device band capabilities retrieved:
        Bands: 'wcdma-2100, wcdma-pcs-1900, wcdma-dcs-1800, wcdma-1700-us, wcdma-850-us, wcdma-900'
        LTE bands: '1, 2, 3, 4, 5, 7, 8, 12, 13, 17, 20, 25, 41'

=========================

qmicli -d /dev/cdc-wdm0 --device-open-mbim --nas-get-system-info
[/dev/cdc-wdm0] Successfully got system info:
        WCDMA service:
                Status: 'none'
                True Status: 'none'
                Preferred data path: 'no'
        LTE service:
                Status: 'available'
                True Status: 'available'
                Preferred data path: 'no'
                Domain: 'cs-ps'
                Service capability: 'cs-ps'
                Roaming status: 'off'
                Forbidden: 'no'
                Cell ID: '8994308'
                MCC: '228'
                MNC: '02'
                Tracking Area Code: '42000'
                Voice support: 'no'
                eMBMS coverage info support: 'no'
        SIM reject info: 'available'

=========================

qmicli -d /dev/cdc-wdm0 --device-open-mbim --nas-get-cell-location-info
[/dev/cdc-wdm0] Successfully got cell location info
Intrafrequency LTE Info
        UE In Idle: 'yes'
        PLMN: '22802'
        Tracking Area Code: '42000'
        Global Cell ID: '8994308'
        EUTRA Absolute RF Channel Number: '6200' (E-UTRA band 20: 800 DD)
        Serving Cell ID: '69'
        Cell Reselection Priority: '5'
        S Non Intra Search Threshold: '14'
        Serving Cell Low Threshold: '10'
        S Intra Search Threshold: '58'
        Cell [0]:
                Physical Cell ID: '69'
                RSRQ: '-8.8' dB
                RSRP: '-99.0' dBm
                RSSI: '-73.9' dBm
                Cell Selection RX Level: '29'
        Cell [1]:
                Physical Cell ID: '137'
                RSRQ: '-17.0' dB
                RSRP: '-116.7' dBm
                RSSI: '-88.5' dBm
                Cell Selection RX Level: '11'
Interfrequency LTE Info
        UE In Idle: 'yes'
        Frequency [0]:
                EUTRA Absolute RF Channel Number: '1850' (E-UTRA band 3: 1800+)
                Selection RX Level Low Threshold: '0'
                Cell Selection RX Level High Threshold: '16'
                Cell Reselection Priority: '6'
LTE Info Neighboring GSM
        UE In Idle: 'yes'
LTE Info Neighboring WCDMA
        UE In Idle: 'yes'
Comment 5 joel.bourquard 2016-07-23 13:58:12 UTC
Ok, I tried the same SIM card in an Android phone (at the exact same location) and it successfully connects to the Internet, so I'm 100% sure that the SIM card and the network provider are OK.
Comment 6 joel.bourquard 2016-07-23 14:00:33 UTC
qmicli -d /dev/cdc-wdm0 --device-open-mbim --dms-get-operating-mode
[/dev/cdc-wdm0] Operating mode retrieved:
        Mode: 'online'
        HW restricted: 'no'
Comment 7 joel.bourquard 2016-07-26 08:01:51 UTC
Upgraded to kernel 4.7.0 but the problem persists. Any ideas please? :-/
Comment 8 Aleksander Morgado 2016-07-26 10:33:23 UTC
Could you try using ModemManager from git master, and gather debug logs? See:
https://www.freedesktop.org/wiki/Software/ModemManager/Debugging/

Maybe we need to increase the --connect timeout, although it is already 120s if I'm not mistaken.
Comment 9 joel.bourquard 2016-07-26 14:06:03 UTC
Hi Aleksander,

Thanks for your response :-)

I failed to build latest git for modemmanager, so I built 1.6.0, and launched it as follows:

ModemManager --debug &>/tmp/ModemManager-1.6.0-log.txt

I'll attach the full log to this ticket.

And in a different root shell, I did the following:

mmcli -m 0

/org/freedesktop/ModemManager1/Modem/0 (device id '1234567890123456789012345678901234567890')
  -------------------------
  Hardware |   manufacturer: 'Dell'
           |          model: 'MBIM [413C:81B6]'
           |       revision: 'SWI9X30C_01.02.00.02'
           |      supported: 'gsm-umts, lte'
           |        current: 'gsm-umts, lte'
           |   equipment id: '123456789012345'
  -------------------------
  System   |         device: '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-2'
           |        drivers: 'cdc_mbim'
           |         plugin: 'Dell'
           |   primary port: 'cdc-wdm0'
           |          ports: 'cdc-wdm0 (mbim), wwan0 (net)'
  -------------------------
  Numbers  |           own : 'unknown'
  -------------------------
  Status   |           lock: 'none'
           | unlock retries: 'sim-pin2 (3)'
           |          state: 'disabled'
           |    power state: 'on'
           |    access tech: 'unknown'
           | signal quality: '0' (cached)
  -------------------------
  Modes    |      supported: 'allowed: 3g, 4g; preferred: none'
           |        current: 'allowed: 3g, 4g; preferred: none'
  -------------------------
  Bands    |      supported: 'unknown'
           |        current: 'unknown'
  -------------------------
  IP       |      supported: 'ipv4, ipv6, ipv4v6'
  -------------------------
  3GPP     |           imei: '123456789012345'
           |  enabled locks: 'sim, fixed-dialing'
           |    operator id: 'unknown'
           |  operator name: 'unknown'
           |   subscription: 'unknown'
           |   registration: 'unknown'
  -------------------------
  SIM      |           path: '/org/freedesktop/ModemManager1/SIM/0'

  -------------------------
  Bearers  |          paths: 'none'


mmcli -m 0 --3gpp-scan --timeout=60
error: modem not enabled yet

mmcli -m 0 -e
successfully enabled the modem

mmcli -m 0 --3gpp-scan --timeout=60

Found 3 networks:
22803 - Orange CH (gprs, available)
22801 - Swisscom (gprs, available)
22802 - Sunrise (gprs, unknown)

mmcli -m 0 --simple-connect="pin=8519,apn=internet"
error: couldn't connect the modem: 'GDBus.Error:org.freedesktop.libmbim.Error.Status.Failure: Failure'
Comment 10 joel.bourquard 2016-07-26 14:09:26 UTC
Created attachment 125337 [details]
ModemManager-1.6.0-log.txt
Comment 11 Aleksander Morgado 2016-07-26 14:38:47 UTC
could you retry without specifying an APN explicitly?, e.g.
$ mmcli -m 0 --simple-connect="apn="
Comment 12 joel.bourquard 2016-07-26 14:41:18 UTC
(In reply to Aleksander Morgado from comment #11)
> could you retry without specifying an APN explicitly?, e.g.
> $ mmcli -m 0 --simple-connect="apn="

Similar result:

mmcli -m 0 --simple-connect="apn="
error: couldn't connect the modem: 'GDBus.Error:org.freedesktop.libmbim.Error.Status.Failure: Failure'

Log attached: ModemManager-1.6.0-log-2.txt
Comment 13 joel.bourquard 2016-07-26 14:41:54 UTC
Created attachment 125341 [details]
ModemManager-1.6.0-log-2.txt
Comment 14 Aleksander Morgado 2016-07-26 14:50:13 UTC
Not sure what to say; The "Failure" reported by the modem on the connection request doesn't give much useful information... When you tried in the phone, did you use the same settings? i.e. just apn, no username/password for the apn.
Comment 15 joel.bourquard 2016-07-26 15:01:47 UTC
In the phone it worked automagically, I just had to type the PIN code.

Yes, exactly: the APN name is "internet" in lower case, and there's no username/password for the APN.

I double-checked that both MAIN and AUX antennas are connected properly (and not swapped). Could it be that the card receives the signal but won't transmit anything? I'm lost, as I really don't know what's going on.
Comment 16 Aleksander Morgado 2016-07-26 15:08:10 UTC
No idea yet what the issue could be, sorry :/
Comment 17 joel.bourquard 2016-07-26 15:14:23 UTC
(In reply to Aleksander Morgado from comment #16)
> No idea yet what the issue could be, sorry :/

I forgot to mention one thing: this SIM card is data only (not for calls). Although Sunrise gave me its phone number, that phone number is not displayed by mbimcli:

Telephone numbers: (3) ''

No idea if it's relevant to this issue, though.
Comment 18 joel.bourquard 2016-08-09 09:09:19 UTC
Ok, so I gave up for now and shipped the card back :-/
As far as I know, the card came (was pulled) from a DELL laptop in China.
I thought these cards worked with 3G/4G networks worldwide, so I don't know if it was a software or firmware/hardware issue.
Hopefully someone will figure out what the problem is/was...
Comment 19 Bjørn Mork 2016-08-22 16:04:12 UTC
I just noticed this bug. Don't know what the problem really is, but one thing I did find strange was this:

  revision: 'SWI9X30C_01.02.00.02'


That firmware revision is so old that I don't think it has ever been released to the public. FWIW, the MC7455 samples I got last year had

 Revision: SWI9X30C_01.08.07.00 r3743 CARMD-EV-FRMWR2 2015/08/13 23:07:36

And that was quickly replaced by a number of updates.  The currently supported version is 02.08.02.00, and that's what Lenovo and Dell ship with now AFAIK.

The buggy modem is probably an early engineering sample. Even if the hardware could be OK, that firmware is definitely not.  There is really no point in trying to debug it further. It's just a waste of time. No real modem will have such a firmware revision.
Comment 20 joel.bourquard 2016-08-22 16:14:17 UTC
Hi Bjørn,

That would explain it, thanks! I spent many hours trying to get this thing to work...

FYI, I got it from eBay:
http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItemVersion&item=391497900481&view=all&tid=664861584026

The good news is, I shipped it back to the seller (vk138168) without any issues.
Comment 21 Aleksander Morgado 2016-11-13 10:35:50 UTC
Let's flag it as wontfix then.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.