私はRaspbian、3G USBアダプタを使って試していusb_modeswitch
ますwvdial
。このチュートリアル以前は他の3Gアダプタとうまく機能していました。
私の3GアダプタはZTE D6601で、SIMカードにはPINがなく、WindowsとUbuntu 15に組み込まれているモバイルブロードバンドツールを使用してISPツールと完全に接続されています。ただし、これはRaspberry Piのコマンドラインを介して行う必要があります。
これまでに試したことは次のとおりです。 Raspbianを起動するとlsusb
返されます。
Bus 001 Device 004: ID 19d2:0154 ZTE WCDMA Technologies MSM
だから私は走る
sudo usb_modeswitch -I -v 19d2 -p 0154 -c /etc/usb_modeswitch.conf
これにより、ProductIDが次のように変更されます。
Bus 001 Device 009: ID 19d2:0108 ZTE WCDMA Technologies MSM
IDが0154の3Gドングルが2つ以上あるため、DefaultProduct
標準の移行ルールはusb_modeswitch
機能しません。 0108は、Ubuntuがデバイスを切り替える場所、またはsudo eject
仮想CDドライブの場合に何が起こるのか、それを使用しました。
私は/etc/network/interfaces
WiFi接続を使用するように変更されました。
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
今まではそんなに良くなった。を実行すると、sudo wvdialconf
モデムがで検出されます/dev/ttyUSB1
。その後、次のように定義さsudo wvdial dcom
れていますdcom
(APN "e-connect"が正しいため、ユーザー/パスは不要です)。
[Dialer dcom]
Modem = /dev/ttyUSB1
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","e-connect"
Stupid Mode = 1
Modem Type = Analog Modem
Phone = *99#
ISDN = 0
Username = { }
Auto Reconnect = 1
Password = { }
Baud = 460800
シェルは以下を返します。
--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
OK
--> Sending: ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","e-connect"
AT+CGDCONT=1,"IP","e-connect"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
CONNECT 21600000
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Sat Apr 25 18:09:08 2015
--> Pid of pppd: 5530
--> Using interface ppp0
--> pppd: [08]FX[01]�FX[01]8GX[01]p<X[01]�PX[01]�QX[01] (+4 more times)
実行すると生成されたとifconfig
言われますppp0
が、割り当てられたIPアドレスはありません。そして約10秒後、次のようなことが起こります。
--> Disconnecting at Sat Apr 25 18:09:39 2015
--> The PPP daemon has died: A modem hung up the phone (exit code = 16)
--> man pppd explains pppd error codes in more detail.
--> Try again and look into /var/log/messages and the wvdial and pppd man pages for more information.
--> Auto Reconnect will be attempted in 5 seconds
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","e-connect"
AT+CGDCONT=1,"IP","e-connect"
OK
--> Modem initialized.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","e-connect"
AT+CGDCONT=1,"IP","e-connect"
OK
--> Modem initialized.
--> Sending: ATDT*99#
--> Waiting for carrier.
ATDT*99#
ERROR
--> Invalid dial command.
--> Disconnecting at Sat Apr 25 18:09:45 2015
もう一度実行すると、wvdial dcom
上記の2番目の接続試行()の出力が繰り返され、設定もInvalid dial command
実行されませんppp0
。奇妙なことは、すぐにsudo wvdialconf
(期間は/etv/wvdial.conf
同じままです)再接続できますが、IPを割り当てずに10秒後に接続が切断されることです。私はこれを何度も繰り返しました。
おそらくこれも興味深いでしょう。自動的に再接続するように設定されているにもかかわらず、生成されたwlan0
瞬間にIPが失われ、ppp0
再び動作するようにできましたsudo ifdown wlan0
。sudo ifup wlan0
答え1
ついに解決策を見つけました。捨てて代わりに(包装で)wvdial
使用しました。 10時間前に接続を確立しましたが、まだ同じIPで接続が有効になっています。これが私がする方法です:nmcli
network-manager
ステップ1:usb-modeswitch
3G USBスティックがストレージデバイスではなくモデムとして認識されるように、実行を開始してください。そこには多くのチュートリアルがあるのでここでは詳しく説明しません(はい)。
ステップ2:インストールするネットワーク管理者RPiで:sudo apt-get install network-manager network-manager-gnome -y
.を実行して、NetworkManagerがモデムを認識していることを確認しますnmcli dev
。その場合、次の表が表示されます。
DEVICE TYPE STATE
ttyUSB2 gsm disconnected
(そうしないと、usb-modeswitch
欠陥がある可能性があり、システムはモデムを見つけることができません。)
ステップ3:Xサーバーを起動し、startx
メニューからNetworkManagerを開き、新しいモバイルブロードバンド接続を作成します(モバイルブロードバンドタブ>追加)。ウィザードはプロセスを案内し、プロバイダーを選択することもできますので、APNの設定を気にする必要はありません。ツールは接続ファイルを生成し、/etc/NetworkManager/system-connections/
次のステップで接続名として使用されるため、ファイル名を記録しておく必要があります。
ステップ4:質問で述べたように、Xサーバーなしでコマンドラインでそれを実行できるはずです。ここでsudo nmcli con up id "Connection ID"
、接続IDは、手順2で作成した接続の名前です。これがすべてです。接続を切断するには、を実行しますsudo nmcli con down id "Connection ID"
。