ubuntuでLUA3-U2-AGTを使う
Mac mini上で稼働させているubuntu10.10 serverのpgpool-IIを pacemakerで冗長化させる為に、NICがあと2つ必要になった。
けど、Mac miniはUSBタイプのNICじゃないと物理的に無理。
色々探してみるとBuffaloのLUA3-U2-AGTってやつだとドライバの追加なしで使えそうだったため、2つ購入。
結論から言うと、カーネルに標準で入っているドライバだと認識はちゃんと出来てIPアドレスも設定出来たけど、
pingさえ通らない状態。。。
メーカーサイトから最新のドライバをインストールしたらちゃんと動いた。
まずはベンダIDなどを確認してみる。
% lsusb Bus 001 Device 003: ID 0411:006e MelCo., Inc.
ベンダIDは04111。プロダクトIDは006e。MelCo製と認識されている。
lsusbコマンドでNICのチップがわからなかったので、/var/log/messagesを確認すると、
eth1: register 'asix' at usb-0000:00:04.1-1, ASIX AX88178 USB 2.0 Ethernet, 00:24:a5:68:5f:52
asixのax88178というやつみたい。
ググると以下のサイトがヒット。Linux用のドライバ発見!
http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=84;71;100&PLine=71
2011/03/15にリリースされたv4.1.0が「For Android 1.x/2.x/3.0, Linux kernel 2.6.14 and later」となっている。
早速インストールしてみる。
% cd /usr/local/src % sudo wget http://www.asix.com.tw/FrootAttach/driver/AX88772B_772A_760_772_178_LINUX_Driver_v4.1.0_Source.tar.bz2 % sudo tar xvfj AX88772B_772A_760_772_178_LINUX_Driver_v4.1.0_Source.tar.bz2 % cd AX88772B_772A_760_772_178_LINUX_Driver_v4.1.0_Source/ % sudo modprobe -r asix % sudo make % sudo make install % sudo modprobe asix % sudo reboot
とやってみたけど、ダメ。。。なんで!?
どうやらソースのベンダID、プロダクトID、チップIDあたりの定義を追加しないとダメみたい。
% sudo cp -ip asix.c asix.c.org % sudo vim asix.c % sudo modprobe -r asix % sudo make clean % sudo make % sudo make install % sudo modprobe asix % sudo reboot
これでOK。
asix.cの修正箇所は、
% diff asix.c asix.c.org 3375,3378d3374 < // Buffalo LUA3-U2-AGT < USB_DEVICE (0x0411, 0x006e), < .driver_info = (unsigned long) &ax88178_info, < }, {
です。
0x04111がベンダID。0x006eがプロダクトID。チップがax88178。
補足として、モジュール関連のコマンド。
・ロードされているモジュールの一覧を表示する
% lsmod
・モジュールの情報を参照する
% modinfo モジュール名
・モジュールをロードする
% modprobe モジュール名
・モジュールをアンロードする
% modprobe -r モジュール名