web-dev-qa-db-ja.com

モバイルブロードバンドは繰り返し接続/切断します

Sierra Wireless EM7345 4G LTEモデムがThinkpadT450sラップトップに組み込まれているVerizonモバイルブロードバンドを使用しています。デフォルト設定(APN)のいずれかを使用して、NetworkManagerとModemManagerでモデムを構成しています。 vzwinternet)。マシンは、カーネルバージョン4.1.4を備えた最新のArchLinuxを実行しています。

モデムは通常、最初にマシンを起動したときに正常に動作します。ただし、マシンを初めて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
4
user3188445

さて、私はついに何年にもわたる大きな欲求不満の後で問題を解決することができました。それは、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を見つけます。ベライゾンワイヤレスの場合、それは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を実行しようとしないでください(機能しません)。ゲートウェイ(100.125.243.1)にもpingを実行しないでください。ゲートウェイがネットワークパケットに応答しない(そして存在しない可能性がある)という事実により、最終的にデフォルトルートを追加して他のネットワーク接続を無効にしようとするまで、モデムが機能していないと思いました。

4
user3188445