Gobi ブロードバンドモデム
このページは Gobi 製のモデムを使ってインターネットに接続するチュートリアルです。
デバイスの確認
usbutils をインストールして以下のコマンドの出力を確認してください:
$ lsusb
デバイスのベンダーとプロダクト ID が表示されます。
例えば、HP un2430 モデムの場合:
Bus 001 Device 005: ID 03f0:371d Hewlett-Packard
linux-3.1.1-1 現在、Gobi 製のデバイスは qcserial モジュールで認識されます。認識されない場合、プロダクト・ベンダー ID を追加して qcserial モジュールを再コンパイルする必要があります。
もしくはプロダクト・ベンダー ID を new_id
ファイルに書き込んで追加するという方法もあります (ほとんどの Gobi モジュールはファームウェアがロードされたときにプロダクト ID を切り替えるため、そのときのプロダクト ID も追加する必要があります)。例えばベンダー ID が 04da
でプロダクト ID が 250e
(ファームウェアロード前) と 250f
(ファームウェアロード後) である Gobi2K の場合、以下のコマンドを実行します:
# echo "04da 250e" > /sys/bus/usb-serial/drivers/qcserial/new_id # echo "04da 250f" > /sys/bus/usb-serial/drivers/qcserial/new_id
上記のコマンドは qcserial モジュールをリロードしたりマシンを再起動するたびに実行する必要があります。
gobi_loader
gobi_loader は Qualcomm Gobi USB チップセットのファームウェアローダーです。電源を入れた時点ではデバイスは初期化されていない状態となっており、モデムとして使うにはファームウェアを先にロードする必要があります。gobi_loader は udev ルールを追加してファームウェアをロードすることでモデムを使えるようにします。詳しくは http://www.codon.org.uk/~mjg59/gobi_loader/ を参照。
AUR から gobi-loaderAUR と gobi-firmwareAUR をインストールしてください。
インストール後、/lib/udev/rules.d/60-gobi.rules
に使用しているモデムのプロダクト・ベンダー ID を入力する必要があります。
それから qcserial モジュールをリロードしてください:
# rmmod qcserial # modprobe qcserial
NetworkManager で接続を管理
NetworkManager からモバイルブロードバンドデバイスを使うには ModemManager が必要です。
systemctl を使って ModemManager.service
を起動・有効化してください。起動すると NetworkManager からモバイルブロードバンドが選択できるようになります。
mobile-broadband-provider-info と nm-connection-editor がインストールされていることを確認してください。
旧式のモデムを使う場合、qmi_wwan
と cdc_wdm
モジュールが Linux カーネルにロードされないようにブラックリストに追加する必要があります。モジュールがロードされてしまうと ModemManager によって QMI デバイスが存在する新しいモデムとして認識されてしまい、QMI サービスのバージョンがおかしいとエラーが表示されます [1]。
接続
wvdial
次に記事を見てください: wvdial。
デバイスをモデムモードにするには、ttyUSB デバイスが qcserial カーネルモジュールによって認識されていることを確認して、wvdial を起動して接続し、pppd を起動します。
wvdial をインストールしてください。設定ファイルの /etc/wvdial.conf
は使用するデバイスと接続するモバイルネットワークにあわせて設定する必要があります。セクションを使うことでひとつの wvdial.conf
ファイルで複数の USB モデムやネットワークを使用することができます。
以下を実行してください:
# wvdialconf
/etc/wvdial.conf
に書き込みをしようとします。ユーザーとパスワード、アクセスポイント名 (APN) を追加してください。ネットワークプロバイダや他のユーザーが書いた wvdial.conf
、あるいは他のオペレーティングシステムにおける USB tty トラフィック (Sysinternals の Portmon) から何を書くべきか知ることができます。
/etc/wvdial.conf
の例:
[Dialer status] Init1 = AT+CPIN? Init2 = ATI Modem = /dev/ttyUSB1 [Dialer pin] Modem = /dev/ttyUSB1 Init1 = AT+CPIN=1234 [Dialer wwan] Init1 = ATZ Init2 = AT+CGDCONT=1,"IP","data.apn.com" Stupid Mode = yes Phone = *99***1# New PPPD = yes Modem = /dev/ttyUSB1 Username = XXXXXX Dial Command = ATDT Password = XXXXXX Baud = 460800
接続を簡単にするために SIM カードを外して PIN を無効化しているため、インターネットに接続する前に wvdial pin
を実行する必要がありません。
デバイスが複数あって (例: /dev/ttyUSB0
, /dev/ttyUSB1
, /dev/ttyUSB2
)、どれを使えばわからない場合、ひとつずつ試してみてください。設定ファイルの準備ができたら、以下を実行してインターネット接続を確立してください:
$ wvdial <section>
wvdial コマンドによって pppd が起動してターミナルに IP アドレスが出力されます。ウェブブラウザや ping を実行してインターネットに接続されていることを確認してください。