移动宽带反复连接/断开

移动宽带反复连接/断开

我使用的是 Verizon 移动宽带以及 Thinkpad T450s 笔记本电脑中内置的 Sierra Wireless EM7345 4G LTE 调制解调器。我正在使用 NetworkManager 和 ModemManager 配置调制解调器,使用默认设置之一 (APN vzwinternet)。该机器运行最新的 Arch Linux,内核版本为 4.1.4。

当我第一次启动机器时,调制解调器通常工作正常。然而,在我第一次将机器暂停到 RAM 后,当我尝试使用调制解调器时,它会反复连接和断开连接,不断更改 IP 地址并使其无法使用ssh。我发现的唯一修复方法是重新启动机器。显然我想在不重新启动的情况下解决这个问题。

如果相关,我已tlp启用,但禁用它并tlp false不能解决问题。另外,我已经设置USB_BLACKLIST_WWAN=1/etc/default/tlp,以防万一。这些改变似乎都没有解决问题。

无论如何,断线的原因似乎是没有运营商。我在日志中得到了很多这样的信息,但调制解调器通常在断开连接之间可以短暂使用:

Aug 18 15:57:01 laptop NetworkManager[630]: <info>  (cdc-wdm0): Activation: successful, device activ
ated.
Aug 18 15:57:01 laptop nm-dispatcher[9896]: Dispatching action 'up' for wwan0
Aug 18 15:57:04 laptop ModemManager[613]: <info>  Modem /org/freedesktop/ModemManager1/Modem/2: stat
e changed (connected -> registered)
Aug 18 15:57:04 laptop NetworkManager[630]: <info>  (cdc-wdm0): modem state changed, 'connected' -->
 'registered' (reason: user-requested)
Aug 18 15:57:04 laptop NetworkManager[630]: <info>  (cdc-wdm0): device state change: activated -> fa
iled (reason 'modem-no-carrier') [100 120 25]
Aug 18 15:57:04 laptop NetworkManager[630]: <info>  NetworkManager state is now CONNECTED_LOCAL
Aug 18 15:57:04 laptop NetworkManager[630]: <info>  NetworkManager state is now DISCONNECTED
Aug 18 15:57:04 laptop NetworkManager[630]: <warn>  (cdc-wdm0): Activation: failed for connection 'V
erizon'
Aug 18 15:57:04 laptop NetworkManager[630]: <info>  (cdc-wdm0): device state change: failed -> disco
nnected (reason 'none') [120 30 0]
Aug 18 15:57:04 laptop NetworkManager[630]: <info>  Writing DNS information to /usr/bin/resolvconf
Aug 18 15:57:04 laptop nm-dispatcher[9896]: Dispatching action 'down' for wwan0

答案1

好吧,经过多年的巨大挫折,我终于解决了这个问题,即 NetworkManager 在调制解调器方面确实存在缺陷。事实上,最近情况变得更糟,甚至在我的宽带调制解调器启动时开始出现段错误。然而,事实证明,如果您只是手动配置调制解调器,即使在睡眠后,它也能正常工作。 (从睡眠中醒来必须重新连接,但重新连接很快,然后工作稳定。)

以下说明假设您以 root 身份运行。第一步是让 NetworkManager 退出。为此,请编辑该文件/etc/NetworkManager/NetworkManager.conf并添加以下内容:

[keyfile]
unmanaged-devices=interface-name:cdc-wdm0

请注意,如果您希望它忽略多个设备,可以用分号分隔它们。接下来,您必须按如下方式配置 APN(和 mbim-proxy)。看看/usr/share/mobile-broadband-provider-info/serviceproviders.xml(或在线 git 存储库)找到适合您网络的 APN。对于 Verizon Wireless,那就是vzwinternet.完成后,创建一个/etc/mbim-network.conf包含以下内容的文件:

APN=vzwinternet
PROXY=yes

现在运行以下命令:

rfkill unblock wwan
mbim-network /dev/cdc-wdm0 start
ip link set wwan0 up
mbimcli -p -d /dev/cdc-wdm0 --query-ip-configuration

如果mbim-network命令成功,该mbimcli命令将随后生成如下输出:

[/dev/cdc-wdm0] IPv4 configuration available: 'address, gateway, dns'
     IP [0]: '100.125.243.196/24'
    Gateway: '100.125.243.1'
    DNS [0]: '198.224.173.135'
    DNS [1]: '198.224.174.135'
    DNS [2]: '198.224.173.135'
    DNS [3]: '198.224.174.135'

[/dev/cdc-wdm0] IPv6 configuration available: 'address, gateway, dns'
     IP [0]: 'fe80::69:1c7d:5901/120'
    Gateway: 'fe80::69:1c7d:5902'
    DNS [0]: '2001:4888:68:ff00:608:d::'
    DNS [1]: '2001:4888:61:ff00:604:d::'

现在,只需在网络接口上手动配置这些值即可。例如:

ip addr add dev wwan0 100.125.243.196/24
ip route add default via 100.125.243.1
echo 'nameserver 198.224.173.135' > /etc/resolv.conf

不要尝试运行 DHCP(它不会工作)。不要尝试 ping 网关 (100.125.243.1),因为这也不起作用。网关不响应任何网络数据包(甚至可能不存在)这一事实让我认为我的调制解调器无法工作,直到我最终尝试添加默认路由并禁用其他网络连接。

相关内容