DebianベースのBeagleBoneにppp
およびnetwork-manager
パッケージをインストールしていて、シリアル経由でGPRSモデムに確実に接続しようとしています。
推奨構成スクリプトpon fona
およびpoff fona
を使用してチャームのように機能するAdafruitFONAを使用しています。これにより、ネットワーク接続が許可されると、ppp0
デバイスが作成されます。
ここで、pon fona
(失敗する可能性があります)を使用してデバイスを手動でオンにする必要なしに、NetworkManagerがFONAに接続および切断できるようにします。
NetworkManagerのターミナルをnmcli
で使用しています。質問する前に、私はppp0
を/etc/network/interfaces
に追加していません。
私はもともとConnManを使用していましたが、ドキュメントが非常に貧弱だったため、それを機能させることを断念しました。
これは、nmcli device status
を実行した瞬間の状態です。
DEVICE TYPE STATE CONNECTION
wlan0 wifi connected MyHomeWiFi
eth0 ethernet unavailable --
usb0 ethernet unmanaged --
lo loopback unmanaged --
明らかに、ここにはppp0
はありません。前述したように、pon fona
を指定してpppdを手動で実行すると、表示されます。タイプは不明ですが、私は次のようなものを期待していました
DEVICE TYPE STATE CONNECTION
ppp0 unknown connected ppp0
wlan0 wifi connected MyHomeWiFi
eth0 ethernet unavailable --
usb0 ethernet unmanaged --
lo loopback unmanaged --
どうすればうまく再生できますか?
長い間ドキュメントをほとんどまたはまったく処理しなかった後、これを解決するには2つの部分があることがわかりました。
デフォルトでは、正当な理由により、ModemManagerはシステム上のすべてのシリアルデバイスをプローブするわけではありません。これは、一致するものが見つかるまでメーカーとデバイスのフィルターをスキャンして適用するUSBデバイスのデフォルトの動作とは異なります。
ModemManagerにシリアルモデムを検出させるには、フラグ(ID_MM_PLATFORM_DRIVER_PROBE
)を必要なudev
ノードに追加して、その特定のデバイスでのスキャンを許可する必要があります。詳細な手順については、 この投稿 を参照してください。
NetworkManagerは、ModemManagerが正しいことを行った場合、nmcli device status
のデバイスをdisconnected
として表示します(そうでない場合は、/ var/log/messagesを確認してください)。次に、デバイスが接続するための接続を作成する必要があります。これを行う方法については、 別の質問に対する私の回答 を参照してください。