前々から書いているように, とある実験のため USL-5P を使おうとしているのですが, そのためには無線 LAN が使えると便利です. っという訳で Buffalo の WLI-USB-KB11 を繋げるようにしたので, その手順を 記しておきます. WLI-USB-KB11 は prism 系なので, 同じ prism 系なら ( この辺で調べると分かると思います) 同様に動くでしょう. ただこんだけ苦労すると予め分かっていたなら 素直にクロスコンパイル環境を構築するべきだった思うのですが, まぁ後知恵でしょう. また, よくわかんないし面倒くさいとがんばってコンパイルしてみましたが, もしかしたらパッケージが転がっているのかもしれませんね.
以下に思い出しつつ作った手順を記録しますが, 後で生成物を置いておきますので, 必要ない方はここは読み飛ばしてかまいません.
# apt-get update # apt-get upgrade # apt-get install dpkg-dev gcc-3.4 g++-3.4 # apt-get bzip2 # ln -s gcc-3.4 gcc # ln -s g++-3.4 g++ |
カーネルソースの展開
# cd [kernel-source-2.6.14-sh_landisk.0.1_all.deb のあるディレクトリ] # dpkg-dev -x kernel-source-2.6.14-sh_landisk.0.1_all.deb . # cd /usr/src # bunzip2 kernel-source-2.6.14-sh.tar.bz2 # tar xvf kernel-source-2.6.14-sh.tar # rm kernel-source-2.6.14-sh.tar # ln -s kernel-source-2.6.14-sh linux |
カーネルソースをいじる
# cd linux # cp cp arch/sh/configs/landisk_defconfig .config # make config |
Enter キーを連打して終了させます
カーネルを途中まで作る
# make |
と打ちます. 画面にダラダラといろいろ出てきますが, scripts まで終わったら C-c で終了させてかまいません.
prism2_usb の作成 (1)
# cd /usr/src # zcat [linux-wlan-ng-0.2.3.tar.gz を指定] | tar xvf - # cd linux-wlan-ng-0.2.3 # make config |
_cs, _plx, _pci は n, _usb は y と答える. また, [Linux source directory] は /usr/src/linux を指定. 残りは Enter を入れてそのまま答える.
余談ですが, 上記 4 をやってないと以下のようなメッセージで失敗し 悩みます.
Linux source directory [/lib/modules/2.6.14-sh/build]: /usr/src/linux Linux source tree /usr/src/linux is incomplete or missing! The kernel header files are present, but not the full source code. See the HOWTO for a list of FTP sites for current kernel sources. Configuration failed |
prism2_usb の作成 (2)
# make |
と打つだけなんですが, 始め間違えて ここから, カーネルバージョンが違ってるのに気づかず 2.6.16 のソース (linux-2.6.16-sh-landisk.0.1.tgz) を拾って コンパイルしようとしましたが prism2_usb.c で失敗します.
これは, このファイルの中に
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,4,19)) .owner = THIS_MODULE, #endif |
この後, make install すれば済むはずですが, どうも上手くいきません. /lib/modules/linux-wlan-ng 配下に p80211.ko と prism2_usb.ko が出来てますから, それを /lib/modules/2.6.14-sh/kernel/drivers/usb/net に移動させ, depmod -a を 実行する必要があるようです. また, 作るのが面倒くさいかたのため, 例によって生成物をここに置いておきます (/ (ルート) で展開した後 depmod -a を実行すれば大丈夫だと思います).
続いてうまく動くかどうか接続試験を行います. 適当な DHCP 機能付きのアクセスポイントを用意してください. めんどうくさいので最初は暗号化は無しにしておきます.
# /sbin/wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable # /sbin/wlanctl-ng wlan0 lnxreq_autojoin ssid=[利用ステーションの ssid] authtype=opensystem # /sbin/dhclient wlan0 |
ifconfig で wlan0 が出てるようだったらまず大丈夫です. アクセスポイントの LAN ケーブルを外し, 無線のみにした後 ping が通るか試してみてみるといいでしょう. うまく行かない場合は この辺を参考にするといいでしょう.
最後に起動時に自動的に無線 LAN が組み込まれるようにします. やり方は /etc/hotplug/usb/prism2_usb というファイルを作り中に 上記のコマンド群を羅列すればとりあえずできるようです. 暗号化通信とか固定 IP 設定が必要な場合はここのパラメータを適当に変えると 出来ると思います.