emobile H12HWをDebianで使う方法
1830時〜0830時までてきとーに時間を潰しつつ,時々電話とるだけで一晩¥10kという,おいしいのかどうか微妙なラインのバイトを始めたのだが,ここで以前からやっている在宅作業可のプログラミング・バイトを並列処理すれば,間違いなくおいしいだろう!ということで,やおらemobileを買ってみた.
通話が出来て3.6Mbps以上で通信出来る機種の中でパッと見一番コンパクトということで,H12HWで即決.
Windows環境では,USBで接続すると自動でマウントされるストレージ内のインストーラをてきとーに実行していけばあっという間にネット接続できて大変便利だったのだが,Debian環境ではちょっとしたハックが必要だったため,その方法を説明する.
調査.
Using Huawei E220 with Debian/Linux
In this kernel the Huawei E200 modem is correctly identified as a composite USB device, ...
らしい.E220はベンダーが同じで,パッと見,USB接続の仕様も同じ模様.
しかし,デバイスドライバで,ベンダーID・プロダクトIDが決め打ちされているため,そのままでは"/dev/ttyUSB0"などのデバイスは認識されない.
カーネルのデバイスドライバをH12HWに対応させる.
まずは2.6.24以降のLinux Kernel Sourceを入手
apt-get install linux-source-2.6.xx
合わせて,カーネルのコンパイルに必要なツールもインストールしておく.
apt-get install gconfig kernel-package
ソースを展開
cd /usr/src tar xjvf kernel-source-2.6.xx.tar.bz2
usr/src/linuxが現在のカーネルソースを指すようにしておく.
ln -s kernel-soucrce-2.6.xx linux cd linux
現在のカーネルの設定をインポート.
cp /boot/config-hoge .config
/usr/src/linux/drivers/usb/storage/unusual_devs.h を変更
HUAWEIのベンダーIDは"0x12d1",H12HWのプロダクトIDが"0x1008"なので,以下の記述を追加
UNUSUAL_DEV( 0x12d1, 0x1008, 0x0000, 0x0000, "HUAWEI MOBILE", "Mass Storage", US_SC_DEVICE, US_PR_DEVICE, usb_stor_huawei_e220_init, 0),
/usr/src/linux/drivers/usb/serial/option.cを変更
冒頭に各ベンダーのプロダクトIDのマクロを定義している部分があるので,その辺りに以下を追加.
#define HUAWEI_PRODUCT_H12HW 0x1008
同ファイル,さらに下の"static struct usb_device_id option_ids[]"の定義に以下の要素を追加.
{ USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_H12HW, 0xff, 0xff, 0xff) },
OHCI HCD supportを有効にしてカーネルを再コンパイル&インストール.
make gconfig
DeviceDrivers->USB Support->Support for Host-side USB->OHCI HCD support
を有効にして,
make-kpkg --append-to-version [好きな名前] kernel-image
終わったら,
dpkg -i /usr/src/kernel-image-2.6.xx[つけた名前].deb cd boot mkinitrd -o initrd.img-2.6.xx[つけた名前] /lib/modules/2.6.xx[つけた名前]
で,GRUBのブートメニューにコンパイルしたカーネルが追加される.
新しくコンパイルしたカーネルで起動後,H12HWを接続すると,晴れて"/dev/ttyUSB0","/dev/ttyUSB1"というデバイスが出現する.
pppの設定.
続いてPPPの設定.
対話方式でPPPの設定が出来るように,
apt-get install pppconfig pppconfig
- Main Menu
- create
- Provider Name
- 好きな英数字
- Configure Nameservers(DNS)
- Dynamic
- Authentication Method for provider
- PAP
- User Name
- em
- Password
- em
- Speed
- 4608000(てきとーです)
- Pulse or Tone
- Tone
- Phone Number
- *99***1#
- Choose Modem Config Method
- No
- Manually Select Modem Port
- /dev/ttyUSB0
で設定する.
pon [Provider Name]
でemobileネットワークに接続される.
問題.
インターネット接続状態が"接続"にならない
このせいで,ブラウザが"オフライン作業"になったりして何かと不便.
予備知識ゼロ・カーネルの再構築も初めてなので,ベターな方法・突っ込み等貰えると大変助かります><;