Fedora 20 不接受移动宽带的正确 PIN

Fedora 20 不接受移动宽带的正确 PIN

我的 Lenovo ThinkPad W510 中的 WWAN (Qualcomm Gobi 2000) 有问题。我无法使用正确的 PIN 码解锁我的 SIM 卡。我在此对话框中输入 PIN,然后输入 SIM 卡密码

我立即得到这个对话框

SIM卡PIN2

输入 SIM PIN2 后,唯一发生的事情是我收到一条通知,提示连接已禁用。

我知道这不是 PIN 码或 SIM 卡的问题,因为我用我的 Windows 8 笔记本检查了两者。

我需要做什么才能在笔记本电脑上使用 WWAN。

2014年4月29日更新

刚刚发现这个通过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

2014年5月2日更新

AFAIK WWAN 固件已加载并且设备已成功初始化:

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

/var/log/messages尝试启用连接后的输出:

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

答案1

我从未使用过这些调制解调器,但有兴趣尝试帮助解决您的问题。我发现这个线程讨论了名为 的命令行工具的使用mmcli。该线程称为:回复:Sierra Wireless MC8355 - Gobi 3000 与 AT&T。这似乎是相关的,因为有很多提到一个名为 的工具mmcli

Chromium 项目也有这个页面,展示了如何使用它来调试蜂窝调制解调器连接,标题为:使用 mmcli 进行调制解调器调试(来自 modemmanager-next 包)

  • 列出调制解调器/查找调制解调器的索引号(调制解调器索引在挂起-恢复周期期间频繁更改):

    $ mmcli -L
    

    (更多示例将假设调制解调器索引为 0。必要时替换为您自己的调制解调器索引。)

  • 查看调制解调器的状态:

    $ mmcli -m 0
    
  • 启用调制解调器(有用的副作用通常包括在网络上注册并获取操作员 ID 和名称)

    $ mmcli -m 0 -e
    
  • 最少的连接和断开:

    $ mmcli -m 0 --simple-connect="apn=foo.carrier.com"
    $ mmcli -m 0 --simple-disconnect
    
  • 将日志记录级别设置为最大(相当于旧的 mm_debug 调试):

    $ mmcli -G DEBUG
    
  • 将日志记录级别设置为最低(相当于旧的 mm_debug 错误):

    $ mmcli -G ERR
    
  • 任意 AT 命令 - 如果使用以下标志启动 ModemManager,则可用--debug

  • 这是一个很好的测试命令,用于查看 ModemManager 是否正在与调制解调器通信。调制解调器应已处于状态 E0(无命令回显);你应该立即得到一个空回复。/var/log/messages如果您之前已将日志记录级别调至最高,则可以检查消息交换。

    $ mmcli -m 0 --command="E0" 
    
  • 进行网络扫描并列出找到的运营商 - 这需要比默认超时更长的时间。

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

我相信这个工具包含在 ModemManager 包中。

参考

答案2

  1. PIN2 问题:

我用过的许多 QMI 调制解调器在解锁 PIN1 后都会要求输入 PIN2。当调制解调器要求输入 PIN2 码时,您无论如何都可以启动与其的连接。 PIN2 不会阻止您建立连接。

换句话说,用户界面应该不是输入 PIN 后继续询问 PIN2:即使 ModemManager 说“UnlockRequired”==PIN2,ModemManager 中的状态将不再是“锁定”。请向 KDE 报告错误,我认为这就是执行该逻辑的人。

2. QMI中无效交易

关于无效交易...这不应该发生:)如果您不断收到这些错误,请尝试收集以下 ModemManager 调试日志 这些步骤。基本上,libqmi 会尝试将您发送的请求与您收到的响应进行匹配;取回不匹配的交易将触发该错误。如果您确实获得了调试日志,请将其发布到调制解调器管理器邮件列表或到ModemManager bugzilla

答案3

您可以尝试禁用 SIM 卡上的 PIN2 锁: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

这假设这0000是您当前的 PIN2 – 根据需要进行调整。

然而,一些移动网络运营商生产的 SIM 卡无法禁用 PIN2。在这种情况下,你会得到类似的东西:

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

(这是在 qmicli 1.10.2 中进行的。)在正常使用中,PIN2 是否可以禁用并没有什么区别:PIN2 仅用于 FDN(固定拨号号码),禁用 FDN 功能也意味着 PIN2 被禁用。从来没有要求过。除非软件有问题,就像在这种情况下......。作为解决方法,您可以尝试通过 PIN2 验证qmicli,并在系统启动时自动执行该命令:

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

答案4

这个问题几年前就被问过,但同样的问题仍然可能发生。就像它对我所做的那样。我收到类似的错误消息:

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

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

我使用相同的 Qualcomm Gobi 2000 调制解调器。该调制解调器需要 gobi_loader,它基本上加载调制解调器所需的专有驱动程序。

这些专有文件称为 amss.mbn、apps.mbn 和 UQCN.mbn。它们应该位于 /lib/firmware/gobi/ 中。首先,我尝试了此页面中提供的 .mbn 文件:http://thinkwiki.de/Qualcomm_Gobi_2000_unter_Linux_installieren (.mbn 文件的日期为 2013 年)。这些驱动程序似乎可以与调制解调器配合使用,但无法进行移动宽带连接(产生上述错误消息)。

UQCN.mbn 应该是特定于 ISP 的,但根据我的经验,仅更改该文件是不够的。至少在将所有三个 .mbn 文件更改为早期版本后,调制解调器可以正常工作。我通过仅用 2013 版本替换 UQCN.mbn 来测试工作驱动程序,但此后连接不起作用。

这些驱动程序的问题也出现在这个线程中:https://thinkpad-forum.de/threads/175966-UMTS-Modem-in-Ubuntu-14-04

作为旁注,我在使用另一个移动宽带棒时遇到了 PIN 问题:当我插入棒时启动时,在通过 mmcli 尝试“--simple-connect”后,它给了我一条错误消息(通过使用禁用 pin 命令) mmcli 之前在该 sim 上)。

然而,只需将棒拔出几秒钟然后插入即可解决问题。之后调制解调器连接良好。通过 CLI 关闭并再次打开 USB 端口应该也可以。

相关内容