2010/01/15(Fri)Debian4にPLANEX GU-1000Tを認識させる方法
2010/01/15 23:05
だいぶKernel Moduleの扱い方が分かってきた気がする。
初期状態
とりあえずデバイスとしては見えている。- lspci
- 06:08.0 Ethernet controller: Intel Corporation Unknown device 1093 (rev 02)
- lsusb
- Bus 005 Device 003: ID 0b95:1780 ASIX Electronics Corp.
ドライバ
メーカーから提供されているWindowsのドライバを確認すると、中身はASIXのAX88178というチップを使っていることが分かるので、ASIX AX88178ドライバを取り寄せる。"Linux 2.6.31"と書いてあるAX88772A_760_772_178_LINUX2.6.31_Driver_v2.5.0_Source.zipをダウンロードする。
コンパイル
$ wget http://www.asix.com.tw/FrootAttach/driver/AX88772A_760_772_178_LINUX2.6.31_Driver_v2.5.0_Source.zip $ unzip AX88772A_760_772_178_LINUX2.6.31_Driver_v2.5.0_Source.zip $ cd AX88772A_760_772_178_LINUX2.6.31_Driver_v2.5.0_Source/ $ makeとやると、山ほどエラーが出てきた。
あぁ、カーネルソースをきちんと参照できていないらしい。
Debian4にIntel PCI-E GbEを認識させる方法でやった時のようにlinuxのカーネルソースを準備する。
具体的には、kernel.orgからダウンロードしたソースファイルを展開し、
$ make oldconfig $ make prepare $ make modules_prepareまでやればよい。
その後、一点Makefileを修正。
- KDIR = /lib/modules/$(CURRENT)/build + KDIR = /lib/modules/$(CURRENT)/sourceカーネルソースへのシンボリックは、この環境の場合buildじゃなくてsourceだったから。
再度make。
$ make make -C /lib/modules/linux-image-2.6.16.5/source SUBDIRS=/home/kero/Desktop/AX88772A_760_772_178_LINUX2.6.31_Driver_v2.5.0_Source modules make[1]: ディレクトリ `/lib/modules/linux-image-2.6.16.5/source' に入ります WARNING: Symbol version dump /lib/modules/linux-image-2.6.16.5/source/Module.symvers is missing; modules will have no dependencies and modversions. CC [M] /home/kero/Desktop/AX88772A_760_772_178_LINUX2.6.31_Driver_v2.5.0_Source/asix.o Building modules, stage 2. MODPOST CC /home/kero/Desktop/AX88772A_760_772_178_LINUX2.6.31_Driver_v2.5.0_Source/asix.mod.o LD [M] /home/kero/Desktop/AX88772A_760_772_178_LINUX2.6.31_Driver_v2.5.0_Source/asix.ko make[1]: ディレクトリ `/lib/modules/linux-image-2.6.16.5/source' から出ますというわけで、出来たので、
$ sudo make install su -c "cp -v asix.ko /lib/modules/linux-image-2.6.16.5/kernel/drivers/usb/net && /sbin/depmod -a" `asix.ko' -> `/lib/modules/linux-image-2.6.16.5/kernel/drivers/usb/net/asix.ko'
ロード
readmeにも書いてあるのでそれを参考にしつつ。$ sudo modprobe usbnet $ sudo insmod asix.ko $ sudo modprobe asix $ sudo ifconfig eth2 upで使えるようになった。
めでたしめでたし。