ようこそゲストさん

Kerosoft : Modus Operandi

2010/01/15(Fri) Debian4にPLANEX GU-1000Tを認識させる方法

はてブ情報 はてブに登録 はてブ数 2010/01/15 23:05 Software::Linux
この記事もまた、別にDebian 4.0/etchに限ったことではないが、別途ドライバが必要なUSB接続Gigabit有線LANポートを認識させる方法のメモ。
だいぶ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
で使えるようになった。
めでたしめでたし。
参考になった記事や興味深かった記事は、他の人も見つけやすいようにリンクはてブしていただけると助かります…。 コメントも歓迎です。

名前:  非公開コメント   

  • TB-URL  http://mo.kerosoft.com/0151/tb/