6

I have a problem with the WWAN (Qualcomm Gobi 2000) in my Lenovo ThinkPad W510. I can not unlock my SIM card with the correct PIN. I enter the PIN in this dialog and after this SIM PIN

I get immediately this dialog

SIM PIN2

After I enter the SIM PIN2 the only thing that happens is that I get a notification that says that the connection is disabled.

I know that this is not a problem with the PIN or the SIM card because I checked both with my Windows 8 notebook.

What I have to do to use the WWAN in my notebook.

Update from 2014-04-29

Just found this via journalctl

Apr 29 17:43:32 NetworkManager[1022]: <info> Activation (cdc-wdm0) starting connection 'O2'
Apr 29 17:43:32 NetworkManager[1022]: <info> (cdc-wdm0): device state change: disconnected -> prepare (reason 'none') [30 40 0]
Apr 29 17:43:32 NetworkManager[1022]: <info> Activation (cdc-wdm0) Stage 1 of 5 (Device Prepare) scheduled...
Apr 29 17:43:32 NetworkManager[1022]: <info> Activation (cdc-wdm0) Stage 1 of 5 (Device Prepare) started...
Apr 29 17:43:32 NetworkManager[1022]: <info> Activation (cdc-wdm0) Stage 1 of 5 (Device Prepare) complete.
Apr 29 17:43:32 ModemManager[900]: <info>  Simple connect started...
Apr 29 17:43:32 ModemManager[900]: <info>  Simple connect state (3/8): Enable
Apr 29 17:43:32 ModemManager[900]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (disabled -> enabling)
Apr 29 17:43:32 NetworkManager[1022]: <info> (cdc-wdm0) modem state changed, 'disabled' --> 'enabling' (reason: user-requested)
Apr 29 17:43:32 ModemManager[900]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabling -> disabled)
Apr 29 17:43:32 NetworkManager[1022]: <info> (cdc-wdm0) modem state changed, 'enabling' --> 'disabled' (reason: unknown)
Apr 29 17:43:32 NetworkManager[1022]: <warn> (cdc-wdm0) failed to connect modem: Couldn't set operating mode: QMI protocol error (60): 'InvalidTransaction'
Apr 29 17:43:32 NetworkManager[1022]: <info> (cdc-wdm0): device state change: prepare -> failed (reason 'unknown') [40 120 1]
Apr 29 17:43:32 NetworkManager[1022]: <warn> Activation (cdc-wdm0) failed for connection 'O2'
Apr 29 17:43:32 NetworkManager[1022]: <info> (cdc-wdm0): device state change: failed -> disconnected (reason 'none') [120 30 0]
Apr 29 17:43:32 NetworkManager[1022]: <info> (cdc-wdm0): deactivating device (reason 'none') [0]
Apr 29 17:43:32 firewalld[887]: 2014-04-29 17:43:32 ERROR: UNKNOWN_INTERFACE: cdc-wdm0
Apr 29 17:43:32 NetworkManager[1022]: <warn> (cdc-wdm0) firewall zone remove failed: (32) UNKNOWN_INTERFACE: cdc-wdm0
Apr 29 17:45:52 PackageKit[2687]: daemon quit
Apr 29 17:46:40 dbus-daemon[928]: dbus[928]: [system] Activating via systemd: service name='org.freedesktop.PackageKit' unit='packagekit.service'
Apr 29 17:46:40 dbus[928]: [system] Activating via systemd: service name='org.freedesktop.PackageKit' unit='packagekit.service'
Apr 29 17:46:40 systemd[1]: Starting PackageKit Daemon...
Apr 29 17:46:40 PackageKit[3672]: daemon start
Apr 29 17:46:40 dbus-daemon[928]: dbus[928]: [system] Successfully activated service 'org.freedesktop.PackageKit'
Apr 29 17:46:40 dbus[928]: [system] Successfully activated service 'org.freedesktop.PackageKit'
Apr 29 17:46:40 systemd[1]: Started PackageKit Daemon.
Apr 29 17:46:44 PackageKit[3672]: get-updates transaction /395_dedbecee from uid 1000 finished with success after 4026ms

Update from 2014-05-02

AFAIK the WWAN firmware is loaded and the device is successfully initialized:

nmcli -p n
============
  Netzwerk
============
NETZWERK  
------------
aktiviert 
[root@uss-titan marceljanus]# nmcli -p d
======================================
          Status der Geräte
======================================
GERÄT     TYP       STATUS          
--------------------------------------
wlp3s0    wifi      verbunden       
cdc-wdm0  gsm       nicht verbunden 
em1       ethernet  nicht verfügbar 
lo        loopback  nicht verwaltet 

lsusb
Bus 002 Device 004: ID 05c6:9205 Qualcomm, Inc. 
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) Flash Drive
Bus 003 Device 002: ID 04b3:310d IBM Corp. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 17ef:480f Lenovo Integrated Webcam [R5U877]
Bus 001 Device 004: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
Bus 001 Device 003: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Output from /var/log/messages after trying to enable the connection:

May  2 15:11:34 NetworkManager[889]: <info> Activation (cdc-wdm0) starting connection 'O2'
May  2 15:11:34 NetworkManager[889]: <info> (cdc-wdm0): device state change: disconnected -> prepare (reason 'none') [30 40 0]
May  2 15:11:34 NetworkManager[889]: <info> Activation (cdc-wdm0) Stage 1 of 5 (Device Prepare) scheduled...
May  2 15:11:34 NetworkManager[889]: <info> Activation (cdc-wdm0) Stage 1 of 5 (Device Prepare) started...
May  2 15:11:34 NetworkManager[889]: <info> Activation (cdc-wdm0) Stage 1 of 5 (Device Prepare) complete.
May  2 15:11:34 ModemManager[793]: <info>  Simple connect started...
May  2 15:11:34 ModemManager[793]: <info>  Simple connect state (3/8): Enable
May  2 15:11:34 ModemManager[793]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (disabled -> enabling)
May  2 15:11:34 NetworkManager[889]: <info> (cdc-wdm0) modem state changed, 'disabled' --> 'enabling' (reason: user-requested)
May  2 15:11:34 ModemManager[793]: <info>  Modem /org/freedesktop/ModemManager1/Modem/0: state changed (enabling -> disabled)
May  2 15:11:34 NetworkManager[889]: <info> (cdc-wdm0) modem state changed, 'enabling' --> 'disabled' (reason: unknown)
May  2 15:11:34 NetworkManager[889]: <warn> (cdc-wdm0) failed to connect modem: Couldn't set operating mode: QMI protocol error (60): 'InvalidTransaction'
May  2 15:11:34 NetworkManager[889]: <info> (cdc-wdm0): device state change: prepare -> failed (reason 'unknown') [40 120 1]
May  2 15:11:34 NetworkManager[889]: <warn> Activation (cdc-wdm0) failed for connection 'O2'
May  2 15:11:34 NetworkManager[889]: <info> (cdc-wdm0): device state change: failed -> disconnected (reason 'none') [120 30 0]
May  2 15:11:34 NetworkManager[889]: <info> (cdc-wdm0): deactivating device (reason 'none') [0]
May  2 15:11:34 firewalld: 2014-05-02 15:11:34 ERROR: UNKNOWN_INTERFACE: cdc-wdm0
May  2 15:11:34 NetworkManager[889]: <warn> (cdc-wdm0) firewall zone remove failed: (32) UNKNOWN_INTERFACE: cdc-wdm0
2

I've never used one of these modems but am interested in trying to help solve your issue. I found this thread which discusses the use of a command line tool called mmcli. The thread is called: Re: Sierra Wireless MC8355 - Gobi 3000 with AT&T. This seemed related since there were a number of mentions of a tool called mmcli.

The Chromium project alos has this page which shows how to use it to debug a cellular modem connection, titled: Modem debugging with mmcli (from the modemmanager-next package).

  • Listing modems/finding the index number of a modem (The modem index frequently changes during a suspend-resume cycle):

    $ mmcli -L
    

    (Further examples will assume modem index 0. Substitute your own modem index where necessary.)

  • See the status of a modem:

    $ mmcli -m 0
    
  • Enable a modem (useful side effects usually include registering on a network and getting an operator ID and name)

    $ mmcli -m 0 -e
    
  • Minimal connection and disconnection:

    $ mmcli -m 0 --simple-connect="apn=foo.carrier.com"
    $ mmcli -m 0 --simple-disconnect
    
  • Set logging level to maximium (equivalent to the old mm_debug debug):

    $ mmcli -G DEBUG
    
  • Set logging level to minimum (equivalent to the old mm_debug err):

    $ mmcli -G ERR
    
  • Arbitrary AT commands - available if ModemManager is started with the --debug flag:

  • This is a good test command to see if ModemManager is speaking to the modem. The modem should already be in state E0 (no command echo); you should immediately get an empty reply. You can check /var/log/messages for the message exchange if you've previously turned up the logging level to maximum.

    $ mmcli -m 0 --command="E0" 
    
  • Do a network scan and list the carriers found - this requires a longer-than-default timeout.

    $ mmcli -m 0 --command-timeout=120 --command="+COPS?" 
    

I believe this tool is included in the package ModemManager.

References

  • 1
    If I try to enable the modem I get: mmcli -m 0 -e error: couldn't enable the modem: 'GDBus.Error:org.freedesktop.libqmi.Error.Protocol.InvalidTransaction: Couldn't set operating mode: QMI protocol error (60): 'InvalidTransaction'' – Marcel Janus May 10 '14 at 9:34
1
  1. PIN2 issue:

A lot of QMI modems I've played with will ask for PIN2 after having unlocked PIN1. When the modem asks for PIN2 you can anyway launch a connection to it. PIN2 doesn't prevent you from getting connected.

In other words, the UI should not keep asking for PIN2 once PIN has been entered: even if ModemManager says "UnlockRequired"==PIN2, the State in ModemManager will no longer be "Locked". Please report a bug to KDE, which is the one I think doing that logic.

2. Invalid transaction in QMI

Regarding the Invalid Transaction... that should not happen :) If you keep getting these errors, please try to gather ModemManager debug logs following these steps. Basically, libqmi will try to match the requests you send with the responses you get; and getting back a mismatched transaction will trigger that error. If you do get the debug logs, please post them to the ModemManager mailing list or to the ModemManager bugzilla.

0

You can try to disable the PIN2 lock on the SIM card with qmicli:

sudo apt-get install libqmi-utils
sudo qmicli -d /dev/cdc-wdm0 --dms-uim-get-pin-status
sudo qmicli -d /dev/cdc-wdm0 --dms-uim-set-pin-protection=PIN2,disable,0000
sudo qmicli -d /dev/cdc-wdm0 --dms-uim-get-pin-status

This assumes that 0000 is your current PIN2 – adapt as needed.

However, some mobile network operators produce SIM cards where PIN2 cannot be disabled. In that case, you would get something like:

error: couldn't set PIN protection: QMI protocol error (3): 'Internal'

(This was with qmicli 1.10.2.) In normal use, it would make no difference if PIN2 can be disabled or not: PIN2 is only used for FDN (Fixed Dialling Numbers), and diabling the FDN feature would also mean that PIN2 is never asked for. Except if software has an issue, like in this case … . As a workaround, you might try PIN2 verification via qmicli, and have that command executed at system start automatically:

sudo qmicli -d /dev/cdc-wdm0 --dms-uim-verify-pin=PIN2,0000
0

This question was asked a few years back but the same issue still might occur. Just like it did to me. I received similar error messages:

<warn> (cdc-wdm0) failed to connect modem: Couldn't set operating mode: QMI protocol error (60): 'InvalidTransaction'

and

'GDBus.Error:org.freedesktop.libqmi.Error.Protocol.InvalidTransaction: Couldn't set operating mode: QMI protocol error (60): 'InvalidTransaction'

I used the same Qualcomm Gobi 2000 modem. This modem requires the gobi_loader, which basically loads the proprietary driver necessary for the modem.

These proprietary files are callled amss.mbn, apps.mbn and UQCN.mbn. They should be in /lib/firmware/gobi/. First I tried the .mbn files available from this page: http://thinkwiki.de/Qualcomm_Gobi_2000_unter_Linux_installieren (.mbn files date from 2013). These drivers seemed to work with the modem but a mobile broadband connection was not possible (producing the error messages mentioned above).

UQCN.mbn is supposed to be ISP-specific, but according to my experience it's not enough to change only that file. At least I got the modem working after changing all three .mbn files to an earlier version. I tested the working drivers by replacing only UQCN.mbn with the 2013 version and the connection did not work after that.

The problem with those drivers also occurred in this thread: https://thinkpad-forum.de/threads/175966-UMTS-Modem-in-Ubuntu-14-04

As a sidenote I had a PIN issue with an other mobile broadband stick: When I booted with the stick plugged in, it gave me an error message after trying a "--simple-connect" via mmcli (the disable pin command was used via mmcli before on that sim).

However simply pulling out the stick for a few seconds and plugging it in solved the problem. The modem connected fine after that. Switching the USB port off and on again via CLI should work as well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.