ThinkPad X200sにVine Linux 5を入れているのだが、 外でネットワークを使用したい時に 私の手持ちのデバイスは、FOMA(N905iμ)か b-mobile 3G(MF636)かしかない。
Vine Linux 5での利用にどちらも結構苦労したので、 そのメモをここに書くことにする。
まず、FOMA(N905iμ)を使う上での問題点は以下の通りである。
また、b-mobile 3Gを使う上での問題点は以下の通りである。
ともかく通信ポートとして認識しなければ どうにもならないため、そのようなモジュール(ドライバ)を導入する。
$ tar zxf acm-FOMA.v0.26.08.tar.gz $ cd acm-FOMA.v0.26.08 $ patch -f -p4 < acm-FOMA.v0.26.08.patch
$ mv ../Makefile . $ make
# mkdir -p /lib/modules/`uname -r`/usb/class # cp ./acm-FOMA.ko /lib/modules/`uname -r`/usb/class # chmod 744 /lib/modules/`uname -r`/usb/class/acm-FOMA.ko # /sbin/depmod -ae(「`」と「'」の違いに注意)
ここまでの設定で通信用のポートまでは使えるようになる。 しかし、NetworkManagerを使っている場合、 携帯の機種によると思われるが、 CDMAではなくGSMとして認識されてしまう場合がある。
GSMとして認識されてしまうと、 NetworkManagerはGSM専用のやりとりを行おうとするため、 ネットワークの通信が確立できない。 そこで、ここでは強制的にCDMAであると認識させることにする。 (NetworkManagerではなくnetworkを使っている場合は不要と思う)
NetworkManagerはudevの仕組みとhalの仕組みの両方を使って 通信モデムを認識するのだが、 udevとhalの結果が異なる場合udevの方を優先する。 そのためudevのところでGSMと認識されてしまうともうだめである。
このudevでのモデムの識別は /lib/udev/rules.d/77-nm-probe-modem-capabilities.rules で行っているものなので、このファイルを書き換えて対応する。
具体的には、
# vi /lib/udev/rules.d/77-nm-probe-modem-capabilities.rulesなどとして、エディタを起動し、ファイル内に2箇所ある 「IMPORT{program}="nm-modem-probe<略>」という記述を見つけ、 二つ目の記述の前の行に、以下の2行を書き加える。
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0409", ATTRS{idProduct}=="0220", ENV{NM_MODEM_USB_INTERFACE_NUMBER}=="00", ENV{ID_NM_MODEM_IS707_A}="1", ENV{ID_NM_MODEM_PROBED}="1", GOTO="nm_modem_probe_end" SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0409", ATTRS{idProduct}=="0220", ENV{ID_NM_MODEM_PROBED}="1", GOTO="nm_modem_probe_end"
ただし、これらの行内にある、「0409」「0220」はN905i用なので、 適宜書き換えるべきものである。 もしかしたら「00」も書き換える必要が出るかも知れないが、 そのあたりは試しながらやるしかないだろう。 (接続した状態で「cat /proc/bus/usb/devices」と打てばあたりがつく)
通信の設定は、他で書かれていることと同じである。
$ cu -l ttyACM0とし、Connected.と出たら「AT+CGDCONT?」と打って(改行を忘れずに)、 「mopera.ne.jp」を含む行が出ていれば、既に登録されている (各行の最初の数字が登録の番号である)。 そうでなければ、 「AT+CGDCONT=1,"PPP","mopera.ne.jp"」と打って登録する。 登録時に使う番号"1"は他でもよいが、 これを使うので覚えておくこと。
後は念のため再起動して、接続を試して見ると良い。 ただし、接続できずとも責任は負わない。
(注意:手持ちの機器はMF636であり、それ以外は知らない)
手持ちのb-mobile 3gのUSBスティック(MF636)は、 モード切り替えによって、 WindowsのドライバをインストールするためのCDROMドライブになったり、 通信ポートになったりするようである。 そのための切り替えのプログラムが、 このDraisberghof - Software - USB_ModeSwitchのページで 配布されているので、これを使用することにする。
$ tar jtf usb-modeswitch-1.1.2.tar.bz2 $ cd usb-modeswitch-1.1.2 $ make(libusb-develが必要)
# install -m 755 ./usb_modeswitch /usr/local/sbin/
# cp 99-bmobile-switch.rules /etc/udev/rules.d/
ここはFOMAの時と一緒。GSMと認識されないために、 /lib/udev/rules.d/77-nm-probe-modem-capabilities.rules を書き換える。方法もほぼ同じで、
# vi /lib/udev/rules.d/77-nm-probe-modem-capabilities.rules
として、二つ目のnm-modem-probeの手前の行に、 以下の2行を挿入する。
SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0031", ENV{NM_MODEM_USB_INTERFACE_NUMBER}=="03", ENV{ID_NM_MODEM_IS707_A}="1", ENV{ID_NM_MODEM_PROBED}="1", GOTO="nm_modem_probe_end" SUBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2", ATTRS{idProduct}=="0031", ENV{ID_NM_MODEM_PROBED}="1", GOTO="nm_modem_probe_end"
これもFOMAの時とほぼ同様である。異なるのは、 APN, ID, Passwordである。 詳しくは、bmobileのサイトで、MacOS X v10.3用の説明か、 モバイルルータでの使い方の辺りを見ると書いてある。
$ cu -l ttyUSB2 Connected. AT+CGDCONT=1,"IP","dm.jplat.net" OK
後は、やはり念のために再起動して、 接続を試して見ると良い。
ここで書いた内容は、Vine Linux 5の NetworkManager-0.7.0用である。 NetworkManager-0.8等ではまた設定が異なるかもしれない。
b-mobile 3gでは、抜き差ししないと2度目がつながらない。理由は不明。
(2010/5/14 作成)