チップは zd1211b とのこと。
vine4.2にはrpmも用意されてますが、WN-G54/USLは動作未確認とかの理由で対応してくれてません。
ということで、srpmを拾ってrebuildしてやりました。
手順は以下の通り。
- srpmを拾ってきます。
$ apt-get source zd1211 パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 452kB のソースアーカイブを取得します。 取得:1 http://updates.vinelinux.org 4.2/i386/plus zd1211 2.22.0.0-2vl4 (srpm) [452kB] 452kB を 0s 秒で取得しました (1332kB/s) 1:zd1211 ########################################### [100%]
- srpmを ~/rpm/SRPM に置きます。※rpmをユーザ権限で作れる環境が出来ているのが前提です。
- ソースを取り出します。
こんな感じ↓にソース類が展開されます。$ rpm -i zd1211-2.22.0.0-2vl4.src.rpm 1:zd1211 ########################################### [100%]
~/rpm/SOURCES/ZD1211LnxDrv_2_22_0_0.tar.gz zd1211-install-path.patch zd1211-WLI-U2-KG54L.patch SPECS/zd1211.spec
- tar玉を展開して、WN-G54/USL用のパッチを作成します。
ZD1211LnxDrv_2_22_0_0/src/zdusb.c の usb_device_id に 以下のように WN-G54/USL 用のを追加して、diffでパッチを取ります。$ tar xvzf ZD1211LnxDrv_2_22_0_0.tar.gz
{ USB_DEVICE(0x04BB, 0x0938) }, // Add, 2008.12.02 I-O DATA WN-G54/USL
作ったパッチは rpm/SOURCES に置きましょう。# diff -c ZD1211LnxDrv_2_22_0_0/src/zdusb.c.org ZD1211LLnxDrv_2_22_0_0s/src/zdusb.c > zd1211-WN-G54-USL.patch
- specファイルを修正して、patchが当たるようにします。
Patch20/patch20 の行が追加した行。 このまま rebuild するとバイナリファイルが元のと同じ名前になってしまうので、それがヤなときは先頭のほうにある<前略> Source0: ZD1211LnxDrv_2_22_0_0.tar.gz Patch0: zd1211-install-path.patch Patch10: zd1211-WLI-U2-KG54L.patch Patch20: zd1211-WN-G54-USL.patch <中略> %patch0 -p1 -b .install-path %patch10 -p1 -b .WLI-U2-KG54L %patch20 -p1 -b .WN-G54-USL <後略>
この行の 2 を 3 とかにしとくといいです。%define rel 2%{_dist_release}
- リビルドします。 -ba オプションで rpm と srpm 両方を作っておきました。
これで、rpm/SRPMS に srpm 、 rpm/RPMS/i386 に rpm が出来上がります。$ rpm -ba zd1211.spec
- インストールします。 root でどーぞ。
# rpm -ivh kernel-module-zd1211-2.22.0.0_2.6.16_76.39vl4-3vl4.i386.rpm 準備中... ########################################### [100%] 1:kernel-module-zd1211 ########################################### [100%]