Debian + S21HT + ThinkPad X61s でネットに接続

お久しぶりです。門脇です。

先日、熊谷さんから中古でThinkPad X61sを購入しました。
メモリも増備して4GB。いままでのスワップ地獄から開放されます。
ちなみに、XPが入っていたものをVistaにアップグレード(?)してあり若干お得感あり。

早速、にやにやしながら起動し、キーボードを叩きます。

・・・

数分後・・・そこには元気に動くDebianの姿が!

もちろん、今まで使用していたマシンから dpkg --get-selections したものをインストールし、ホームディレクトリと/etcはrsyncをかけ、若干設定をいじってとりあえず使える環境にしました。
(一時間かからない程度で完了。どこぞのOSなら半日かかってます)

余談終了。

さて、せっかく小型PCとemobile S21HTがあるので、USBでつないでみました。

こちらのサイトを参考にさせていただきました
http://d.hatena.ne.jp/nack-jin/20080917/1221668283

まず、ドライバのインストール (usb-rndis-liteを使用します)


$ sudo apt-get install linux-headers-2.6.26-2-amd64
$ cd /usr/local/src
$ svn co https://synce.svn.sourceforge.net/svnroot/synce/trunk/usb-rndis-lite
$ make
$ cd usb-rndis-lite
$ sudo ./clean.sh
$ sudo make install

以上でインストール完了し、モジュールが読まれているはずです。

あとは、S21HTで
スタートメニュー->設定->接続タブ->PCへのUSB接続で
Activesyncに設定し、高度なネットワーク機能を有効にします。

スタートメニュー->プログラム->インターネット共有 にて PCとの接続を USB に変更、ケーブルを接続し、dhclientを実行したところ
・・・IPが振られない。

インターネット共有をしない場合は 169.254.2.2 あたりが振られますが、共有を有効にするとDHCPが無反応。
しばらくハマっても解決策がありませんでしたが、Ubuntuで2.6.27xにカーネルをアップデートしたらドライバが組み込まれており、接続されたとの情報があったので、試しにカーネルをアップデートしてみました。


$ wget http://ftp.jp.debian.org/debian/pool/main/l/linux-2.6/linux-image-2.6.29-2-amd64_2.6.29-5_amd64.deb
$ wget http://ftp.jp.debian.org/debian/pool/main/l/linux-2.6/linux-headers-2.6.29-2-amd64_2.6.29-5_amd64.deb
$ sudo dpkg -i linux-image-2.6.29-2-amd64_2.6.29-5_amd64.deb linux-headers-2.6.29-2-amd64_2.6.29-5_amd64.deb

ただし、不安定版なので何か問題が出るかもしれませんが・・・その時はその時ということで。

再起動後USBで接続し、eth2が追加されたのを確認。


$ sudo dhclient eth2
DHCPOFFER from 192.168.0.1
DHCPREQUEST on eth2 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.102 -- renewal in 101588 seconds.

取得完了!

とりあえず、速度を計ってみました。

・こちらのサイトで計測。
http://www.usen.com/speedtest/top.html

結果


0.782Mbps

ちなみに、先ほどの linux-image をwgetしてみたところ
160KB/s 〜 24KB/s 辺りでうろうろしていました。

平均すると、70KB/s程度でしょうか。
接続速度自体は結構不安定なようですが、普通にサイトを閲覧したりするだけなら快適にできます。

さて、このX61sですが、Bluetoothが付いています。
せっかくなのでBluetoothでもS21HTとつないでみました。

注意:筐体手前の裏側にある、スイッチをオンにしておかないとBluetoothと無線LANが使用できないので注意。

まずは、Bluetoothの設定。

必要なパッケージをインストール


$ sudo apt-get install bluetooth bluez-utils

S21HTのCommManagerでBluetoothをオンにしておきます。(他のデバイスからも見えるようにして下さい)


$ hcitool scan

このコマンドを実行すると近くにあるデバイスの一覧からS21HTのMACアドレスを探してください。

/etc/bluetooth/rfcomm.conf に書き込みます。


rfcomm0{
bind yes;
device 00:FF:FF:FF:BE:EF;
channel 1;
comment "s21ht bluetooth device";
}

を追加(内容は適時読み替えてください)


$ sudo /etc/init.d/bluetooth restart

いざ、PANで接続。


$ sudo ifconfig bnep0 0.0.0.0 up
$ sudo pand --listen --role=PANU --connect 00:FF:FF:FF:BE:EF
$ sudo dhclient bnep0

これで接続出来ると思います。

今回はインターネット共有を使用したつなぎ方でした。
いちいち共有を有効にしないといけないので面倒ですが、デフォルトで割と安定しているので私はこれを使っています。
(Bluetoothを入れっぱなしにすると若干消費電力が増えそうで明示的に有効化出来る方が好みなので)

余談。
先日、新幹線で岡山から東京までN700系に乗ることがあり、岡山からずっとつないでいました。
岡山〜新大阪はトンネルも多く割と不安定でしたが、新大阪〜東京は、ほぼ圏内。
AC100V電源のおかげでバッテリー切れにも悩まされず、快適に東京までの旅路を楽しみました。

おまけ
カーネルアップデートしたら、
動かなかった無線LANが動くようになり、
不調だったACPI(USB機器をつないでいるとサスペンド出来なくなる)も動くようになりました。
その点、不具合は今のところThinkpadのショートカットキーが使えなくなった位ですが、

Bluetoothを有効にするのは、


$ sudo bash -c 'echo enable > /proc/acpi/ibm/bluetooth'

スリープは


$ sudo acpitool -s 

で事足りるので、特に苦労はしていません。