RaspberryPiでUSBモデムを使ってみる

RaspberryPiでUSBモデムを使ってみる

なんとなく思うことがあって、RaspberryPiでもアナログモデムを使いたいなあと思ってやってみました。

自宅に以下の2つのUSBモデムがありましたが結果からいうと

↓使えた

↓使えない(Windowsでは使えるのでWinModem)

とりあえず接続

USBデバイスなので接続して様子を見てみました。接続後以下のように確認すると接続した機器の部分のエントリが追加されています。

~ $ lsusb
…中略…
Bus 001 Device 005: ID 2019:ab27 PLANEX
…中略…

このエントリにVenderIDとProductIDがあるので、その値をつかって以下のように 認識させます。

~ $ sudo modprobe usbserial vendor=0x2019 product=0xab27

認識されたことを確認する場合には以下のようにします。

~ $ ls -l /dev/ttyUSB*

すると

crw-rw---- 1 root dialout 188, 0  417 14:14 /dev/ttyUSB0

のように表示されます。(ttyUSB0の数字の部分が違うかもしれない。)

cuのインストール

モデムなのでコンソールからATコマンドを受け付けてくれるアプリケーションをインストールします。

~ $ sudo apt-get install cu

USBモデムを認識するとそのデバイスはdialoutグループに所属するのでめんどくさいのでrootへ変更する。(本当はもっといいやり方は調べることにする。)

~ $ ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0  417 14:14 /dev/ttyUSB0

~ $ sudo chgrp root /dev/ttyUSB0

~ $ ls -l /dev/ttyUSB0
crw-rw---- 1 root root 188, 0  417 14:14 /dev/ttyUSB0

sudo chgrp root /dev/ttyUSB0と入力する。(ttyUSB0の部分は適宜変える)

cuを使ってみる

以下のように入力するとATコマンド待ちの状態になります。9600はシリアルポートの通信速度[bps]になります。9600としていますが、もっと早くても問題ないと思います。

~ $ sudo cu -s 9600 -l /dev/ttyUSB0

成功すると以下のように表示されます。

Connected.

あとはATコマンドを自由に入力することができます。

(使用例)

~ $ sudo cu -s 9600 -l /dev/ttyUSB0
Connected.
at
OK
atz
OK
atdt09055029057
NO DIALTONE
 ~.

Disconnected.

cuの終了コマンドがちょっと特殊なので注意が必要です。(終了コマンド→~.

あとはアナログ電話回線へモデムを接続するのですが・・・家にはアナログ電話回線がなかった…