• 差分
  • リロード
  • 一覧
  • 最終更新のRSS

モバイルデータ通信USBスティック Softbank C02LC を使う

背景・概要

引越先のマンションで光ファイバが利用可能になるのが2ヶ月後などと聞かされ、 半ばヤケになり立ち寄ったビックカメラでSoftbankのデータ通信カード"C02LC"が1円で売られていたので早速契約。 なんとかUbuntuで動かすことに成功した。

実験環境

  • Xubuntu 9.10 Karmic Koala 32bit版
  • Xubuntu 10.04 Lucid Lynx 32bit版

参考

"Ubuntu C02LC"とか"linux C02LC"で検索すると以下のような記事が見つかる。

が、上記のページの内容をそのままやっただけでは自分の環境では動かなかった。

動かすには

  1. wvdialパッケージをインストールする。*1
    $ sudo apt-get install wvdial
  2. C02LCを挿した状態でPCを起動する。
    • このようにすると、C02LCはモデムとして認識される。
    • 起動してから挿すと、C02LCはUSBストレージとして認識されてしまう。 こういう時は"usb_modeswitch"というプログラムで動作モードを変更するのが定石だが、C02LCではそれもうまくいかないようだ。
  3. 端末からlsusbを実行してベンダIDとプロダクトIDを確認する。モデムとして認識されているなら
    Bus 002 Device 005: ID 1c9e:9900  
    こんな感じに表示される。ストレージとなってしまっている場合、
    Bus 002 Device 005: ID 1c9e:f000
    となる。
  4. モデムとして認識されているのを確認したら、
    $ sudo modprobe usbserial vendor=0x1c9e product=0x9900
    として、シリアルポートデバイス(/dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2)を作成。
  5. /etc/wvdial.confに以下のように書く
    [Dialer Defaults]
    Init1 = ATZ
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Password = em
    Phone = *99***1#
    Modem Type = Analog Modem
    Stupid Mode = 1
    Carrier Check = no
    Baud = 9600
    New PPPD = yes
    Dial Command = ATDT
    Modem = /dev/ttyUSB2
    ISDN = 0
    Username = em
    上記のうち、"Stupid Mode"と"Carrier Check"の設定が多分、ミソ。 あと、何気にモデムデバイスが/dev/ttyUSB2というのもびっくりする。
  6. 覚悟ができたら
    $ sudo wvdial
  7. うまくいけば、ppp0などというネットワークインタフェースが作成され、使えるようになっているはず。

起動時にストレージとして認識される (2010/06/13追記)

きっかけは不明だが、なぜかC02LCが起動時にストレージとして認識されるようになってしまった。 しょうがないのでusb_modeswitchを使ったらとりあえず動いた。

Lucidでは、usb_modeswitchはパッケージとして提供されている。

$ sudo aptitude install usb-modeswitch

依存関係でインストールされる"usb-modeswitch-data"にはいろんなデバイス用のコンフィグファイルが収められている。 C02LCがストレージとして認識されていると、ベンダーID=0x1c9e, プロダクトID=0xf000なので、これのためのコンフィグを試してみる。

$ sudo usb_modeswitch -c /etc/usb_modeswitch.d/1c9e:f000

ちなみにこのコンフィグファイルの中身は

######################################################## 
# MobiData MBD-200HU 

DefaultVendor= 0x1c9e
DefaultProduct=0xf000

TargetVendor=  0x1c9e
TargetProductList="9063,9603,9000"

CheckSuccess=20

MessageContent="55534243123456788000000080000606f50402527000000000000000000000"

こんな感じ。意味は分かりません。

実行時のメッセージからすると失敗してたようにも見えたが、lsusbで確認するとちゃんとモードが切り替わってたので、あとは上記の手順で接続できた。

接続スクリプト

C02LCを使って接続するためのシェルスクリプトを書いてみた。 wvdialとusb_modeswitchをインストールして設定済みであることが前提条件。 C02LCがストレージとして認識されているのか、モデムとして認識されているのかを自動で判断して接続する。

バグ?

C02LCを挿したままPCを再起動すると、たまにgdmが立ち上がらなかったりテーマ設定が変わったり、何か妙な挙動をする。 何なんだ?再現性も今いちだし、放置するしかないか…。


*1 そもそもPCをネットにつなげないのなら、ネットカフェなどでパッケージだけダウンロードしてインストールする

添付ファイル: filec02lc_connect 618件 [詳細]
Last-modified: 2010-07-01 (木) 02:54:20 (3281d)