概要
RaspberryPi + Nifmo でインターネットに接続してみました
Nifmo の SIM カードを USB の 3G モデム FS01BU に挿して使っています
FS01BU ネタを調べると SORACOM さんの記事ばっかり出てくるので別の SIM でも試してみたくなったのやってみました
環境
- RaspberryPi Model B
- Raspbian Jessie 8.0 (Linux raspberrypi 4.4.13-v7+ #894)
- 3G USB ドングル (FS01BU)
- Nifmo
- ppp 2.4.6-3.1
- usb-modeswitch 2.2.0+repack0-2
- wvdial 1.61-4.1
必要なパッケージのインストール
まずは FS01BU を USB のモデムとして認識させるために必要なパッケージをインストールします
apt を使ってインストールするので別途回線が必要になります
- sudo apt-get install -y ppp usb-modeswitch wvdial
また、この段階で FS01BU は RaspberryPi に接続してしまって OK です
SIM カードも挿入してしまってください
- sudo reboot
設定を反映させるために一旦リブートしましょう
FS01BU をモデムとして認識させる
いろいろと調べているとこれで再起動が完了するとちゃんと USB モデムとして認識してくれるようなのですが、自分の場合はそれだけではモデムとして認識してくれませんでした
なので、以下の設定を実施してモデムとして認識させます
sudo usb_modeswitch -t <<EOF
DefaultVendor= 0x1c9e
DefaultProduct= 0x98ff
TargetVendor= 0x1c9e
TargetProduct= 0x6801
MessageEndpoint= not set
MessageContent="55534243123456780000000080000606f50402527000000000000000000000"
NeedResponse=0
ResponseEndpoint= not set
Interface=0x00
EOF
Product 0x98ff を強制的に 0x6801 として認識させます
これで USB モデムとして RaspberryPi が認識できるようになります
上記を実行したら lsusb
コマンドなどでちゃんと Product が変更されていることを確認してみてください
ID 1c9e:6801 OMEGA TECHNOLOGY
ではモデムとして認識させます
- modprobe usbserial vendor=0x1c9e product=0x6801
で OK です
確認としては ls -l /dev/ttyU*
で USB 用のファイルがあることを確認してください
ファイルがない場合はまだ RaspberryPi が FS01BU をモデムとして認識していないので、Product がちゃんと 0x6801 になっていて、それから modprobe しているか確認してください
モデムとして問題なく動作すれば FS01BU のランプが緑で点灯します
緑だけど点滅状態だとまだ認識されていない状況になります
Nifmo の APN 設定をする
これで FS01BU をモデムとして使うことができるようになりました
あとは Nifmo に接続すれば 3G 回線を使えるようになります
RaspberryPi に wvdial
という仕組みがあるのでこれを使って接続します
- sudo cp /etc/wvdialconf{,.back}
- sudo vim /etc/wvdialconf
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","mdb.nifty.com"
Dial Attempts = 3
Stupid Mode = 1
Modem Type = Analog Modem
Dial Command = ATD
Stupid Mode = yes
Baud = 460800
New PPPD = yes
Modem = /dev/ttyUSB2
ISDN = 0
APN = mdb.nifty.com
Phone = *99***1#
Username = mdb@nifty
Password = nifty
Carrier Check = no
Auto DNS = 1
Check Def Route = 1
そのまま丸々コピペすれば OK です
書き換えたら保存してください
あとは接続すれば OK です
- sudo nohup wvdial &
で ppp0 というインタフェースに Nifmo 用の IP が振られれば OK です
ちゃんとインターネットに接続できるか curl www.google.co.jp
などで HTML が取得できるか確認してみてください
- ifconfig
ppp0 Link encap:Point-to-Point Protocol
inet addr:153.145.245.12 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:15734 errors:0 dropped:0 overruns:0 frame:0
TX packets:19246 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:828351 (808.9 KiB) TX bytes:947385 (925.1 KiB)
wvdial 実行時の接続ログの一部
--> pppd: <B0>[11]<F1>v<F8><FA>[19]
--> remote IP address 10.64.64.64
最後に
FS01BU + Nifmo で RaspberryPi をインターネットに接続してみました
SORACOM で試したネタの記事が大量にヒットしてしまい中々答えにたどり着けませんでした
RaspberryPi ではよくある話なのですが、インターネットに接続するための設定をするために事前にインターネットに接続する必要があるというパターンはよくあります
今回もそのパターンなので、FS01BU + Nifmo で購入して「やったこれで RaspberryPi をネットにつなげる」と思ったら「それの設定をするためにネットが必要なのか orz」となる可能性があるので注意しましょう
また、FS01BU は 3G 回線しか使えないモデムになります
Nifmo も 3G 回線の設定で接続しています
なので、回線は単純にかなり重く感じると思います
実際インターネットに接続してみるとダウンロードやアップロードは 数百 KB/s ほどしか出ないと思います
0 件のコメント:
コメントを投稿