Xディスプレイのないシステムがあり、nmcli
を使用して、特定のAPNに接続するようにセルモデムを構成します。私はこのモデムでUbuntu(Xを使用)で問題なく動作させることができます。コマンドラインで同じことを実現したいと考えています。接続を設定するにはどうすればよいですか?
これまでのところ私はこれを取得します:
# nmcli dev status
** (process:2379): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: Permissions request failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PolicyKit1 was not provided by any .service files
DEVICE TYPE STATE
ttyUSB1 gsm disconnected
eth0 802-3-ethernet connected
パーティーには少し遅れましたが、同じハードルに行き詰まりました。私はそれを解決したので、このトピックに関する他のすべての投稿が泥とほぼ同じくらいはっきりしているので、私は私の発見を共有したいと思いました。
NetworkManagerはデバイスを認識できますが、デバイスでサポートされている接続を認識していません。 WiFiとは異なり、利用可能な接続のリストを作成するためにスキャンを実行することはできません。自分で追加する必要があります。
接続を作成する前に、NetworkManagerがデバイスの管理を妨げていないことを確認してください。これはデフォルトでUbuntu Serverで発生し、NetworkManagerが既存の正当なレガシー接続を乗っ取ることを防ぎます(Ubuntu開発者による説明を参照 here )。
nmcli device
がデバイスのunmanaged
ステータスを示している場合、デバイスが管理されていないことを確認できます。逆はdisconnected
です。この場合、次の段落にスキップしてください。
Ubuntu ServerのNetworkManagerが接続を処理するようにするには、ファイル/usr/lib/NetworkManager/conf.d/10-globally-managed-devices.conf
を/etc/NetworkManager/conf.d/10-globally-managed-devices.conf
にコピーして編集します。gsm
タイプを追加して、unmanaged-device
で始まる行を変更します例外のリスト:
unmanaged-devices=*,except:type:wifi,except:type:wwan,except:type:gsm
NetworkManagerをアップグレードするときは、元の/ usr/libファイルの更新を確認することを忘れないでください。
まず、(適切に/ sと名付けられた)edit
コマンドを使用して、希望する名前の新しい接続を作成します。例:
Sudo nmcli connection edit type gsm con-name "My GPRS Connection"
接続を保存するときに失望させたくない場合は、Sudo
を使用します。
もちろん、GSMを使用していない場合は、typeパラメータをNetworkManagerでサポートされている別のプロトコルに変更できます。
次に、編集モードに入ります。必要な設定のほとんどは自動的に入力されます。 print
コマンドを使用して、現在の設定をすべて表示できます。
nmcli> print
===============================================================================
Connection profile details (My GPRS Connection)
===============================================================================
connection.id: My GPRS Connection
connection.uuid: 27b012ca-453f-482f-bc0e-c81bbab07310
connection.interface-name: --
connection.type: gsm
connection.autoconnect: yes
connection.timestamp: 0
connection.read-only: no
connection.permissions:
connection.zone: --
connection.master: --
connection.slave-type: --
connection.secondaries:
connection.gateway-ping-timeout: 0
-------------------------------------------------------------------------------
ipv4.method: auto
ipv4.dns:
ipv4.dns-search:
ipv4.addresses:
ipv4.routes:
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.never-default: no
ipv4.may-fail: yes
-------------------------------------------------------------------------------
ipv6.method: auto
ipv6.dns:
ipv6.dns-search:
ipv6.addresses:
ipv6.routes:
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.ip6-privacy: -1 (unknown)
ipv6.dhcp-hostname: --
-------------------------------------------------------------------------------
gsm.number: *99#
gsm.username: --
gsm.password: --
gsm.password-flags: 0 (none)
gsm.apn: --
gsm.network-id: --
gsm.network-type: -1
gsm.allowed-bands: 1 (any)
gsm.pin: --
gsm.pin-flags: 0 (none)
gsm.home-only: no
-------------------------------------------------------------------------------
コマンドの完全なリストを表示するには、help
と入力します。
編集する必要があるのは、ネットワークのAPNだけです。これはset gsm.apn <APN>
で設定できます。APNは、verizonの場合はepc.t-mobile.com
、wholesale
またはvzwinternet
のようになります。
特定のインターフェースへの接続を制限することもできます。これは、デバイス名がすぐに変更される可能性があるシリアルベースの接続では特に推奨されません。ただし、必要に応じて、たとえばset connection.interface-name ttyS4
を実行できます。
ルートとして実行している場合、接続を保存できるようになります
nmcli> save
それでおしまい。接続を編集するために戻る必要がある場合は、nmcli c edit "My GPRS Connection"
を使用するか、構成ファイルを直接編集します。 Debianベースのシステムでは/etc/NetworkManager/system-connections/
にあり、Redhatでは/etc/sysconfig/network-scripts/
にあります。これらのファイルはシステム間で転送できるようです-UUIDは基本的にランダムです。
これで接続できるはずです
Sudo nmcli device connect <interface name>
すべてがうまくいくと、NetworkManagerは「My GPRS Connection」を自動的に選択します。そうでない場合、
Sudo nmcli connection up "My GPRS Connection" ifname <interface name>
これが今の私にとっては落ちるところです。接続中にタイムアウトしましたが、信号範囲外です。うまくいけば、それはあなたのためにより良く機能します。
さらに情報が必要な場合はコメントしてください。
あなたがより多くのものを持っていると仮定します .9.6より最近のバージョン :
$ nmcli --version
nmcli tool, version 0.9.8.8-2.fc19
dev
内のnmcli
コマンドを使用して、コマンドラインからこのようなデバイスを作成できます。
nmcli manページからの抜粋
nmcli dev wifi con "Cafe Hotspot 1" password caffeine name "My cafe"
creates a new connection named "My cafe" and then connects it to
"Cafe Hotspot 1" SSID using "caffeine" password. This is mainly
useful when connecting to "Cafe Hotspot 1" for the first time.
Next time, it is better to use 'nmcli con up id "My cafe"' so that
the existing connection profile can be used and no additional is
created.
ただし、接続の作成はまだnmcli
の非常に新しい機能であり、F19のバージョンのNetworkManager(0.9.8.8)にもリストされていません。 F20とRHEL7ベータを調べたところ、オプションが間もなく登場する可能性があることを示しているように見えるこれらの例に気づきました 2.4。NetworkManagerコマンドラインツール、nmcliの使用 。
$ nmcli connection modify id 'MyCafe' 802-11-wireless.mtu 1350
そのため、ディストリビューションにNetworkManagerの新しいバージョンがある場合は、そのように追加できます。
それは1年後の今であり、多くのパッケージが更新されています。 ModemManager
サービスとmmcli
を使用して、ublox SARA-U201
を初期化することができました。 ModemManager
はすでに「mymodem」という接続を確立しています。正しく設定されなかったのはconnection.interface-name
だけだったので、これをクリアする必要がありました。受け入れられた回答の+1。これは、これを達成する正しい方法で私を助けたからです。要約すると、これらは私がそれを起動して実行するために実行しなければならなかったコマンドです:
Sudo mmcli -i 0 --pin=<pin_number>
Sudo mmcli -m 0 --simple-connect="apn=my.carrier.apn"
Sudo nmcli connection edit mymodem
nmcli>set connection.interface-name
Enter 'interface-name' value: (leave blank, press enter)
save
quit
Sudo nmcli connection up mymode ifname ttyACM0
これらの設定は、SIMのPINを除いて保存されます。PINが必要な場合は、毎回このコマンドを使用する必要があります。