LS−GLにおけるUSB−LAN変換アダプターの活用 LS−GLでの無線LANの利用が以外と順調に進んだもので今度はUSBタイプの有線LANが使えればLS−GLのルーターとしての利用範囲が広がるのではと思い、手元にあったかなり古いものではあるがメルコのLUA−TXで試してみた。 方法は、まず、ドライバーがなんなのかを探す必要から、Debianでetchをインストールした作業用PCに挿してみたところ以下の通り見事認識し、使用できた。 そこで、ドライバーを確認すべくUSBを見ると debian:/home/anabuki# lsusb Bus 001 Device 003: ID 0411:0001 MelCo., Inc. LUA-TX Ethernet [pegasus] Bus 001 Device 002: ID 05e3:0606 Genesys Logic, Inc. Bus 001 Device 001: ID 0000:0000 これで使用チップはpegasusなるものらしいことが判明した。 次にLS−GLにLUA−TXを挿すと#dmesgでの表示はいかにもドライバーが無いとのメッセージ usb 1-1: new full speed USB device using ehci_platform and address 11 ehci_platform ehci_platform.4523: port 1 high speed ehci_platform ehci_platform.4523: GetStatus port 1 status 001805 POWER sig=j PE CONNECT usb 1-1: ep0 maxpacket = 8 usb 1-1: default language 0x0409 usb 1-1: new device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-1: Product: MELCO LUA-TX usb 1-1: Manufacturer: LUA-TX usb 1-1: SerialNumber: 0001 usb 1-1: uevent usb 1-1: device is bus-powered usb 1-1: configuration #1 chosen from 1 choice usb 1-1: adding 1-1:1.0 (config #1, interface 0) usb 1-1:1.0: uevent drivers/usb/core/inode.c: creating file '011' Core Driver (ERROR) 0 1: Ignore Serror in response flags Core Driver (ERROR) 0 1: Recoverable HW error detected. Core Driver (ERROR) 0 1: SerrIntRecoverable error detected. Core Driver (ERROR) SStatus 0x00000113: Core Driver (ERROR) SControl 0x00000300: Core Driver (ERROR) SError 0x00180000: Core Driver (ERROR) IF Ctrl 0x00000000: TXPort 0x0 Core Driver (ERROR) IF status 0x00404034: RXFIS 0x34 RXPort 0x0 Core Driver (ERROR) 0 1: Clear Serror register(0x180000). Linux IAL (ERROR) [0 1] sata recoverable error occured Core Driver (ERROR) 0 1: Ignore Serror in response flags Core Driver (ERROR) 0 1: Recoverable HW error detected. Core Driver (ERROR) 0 1: SerrIntRecoverable error detected. Core Driver (ERROR) SStatus 0x00000113: Core Driver (ERROR) SControl 0x00000300: Core Driver (ERROR) SError 0x00000000: Core Driver (ERROR) IF Ctrl 0x00000000: TXPort 0x0 Core Driver (ERROR) IF status 0x00404034: RXFIS 0x34 RXPort 0x0 Core Driver (ERROR) 0 1: Clear Serror register(0x00). Linux IAL (ERROR) [0 1] sata recoverable error occured 作業用にDebianを入れたパソコンではそのまま動いたのでドライバーを確認するとUSBで見たのと同じpegasus #dmesgでの表示内容 usb 1-1.1: new full speed USB device using uhci_hcd and address 3 usb 1-1.1: configuration #1 chosen from 1 choice pegasus: v0.6.13 (2005/11/13), Pegasus/Pegasus II USB Ethernet driver pegasus 1-1.1:1.0: eth1, MELCO/BUFFALO LUA-TX, 00:40:26:61:8b:83 usbcore: registered new driver pegasus であることから、カーネルのconfigを調べるとそれらしき設定がありoffであることからこれをMとして再ビルドする。 Device Drivers ---> USB support ---> USB Network Adapters ---> <M> USB Pegasus/Pegasus-II based ethernet device support このビルドはさすがに速かった。0からの場合は二時間程度かかるのだが数分で終了した。 #make uImage #mkimage -l arch/arm/boot/uImage これは必要ないかもしれない。 #make modules #make modules_install でpegasus.koなるドライバーが生成されていた。 カーネルを入れ替え再起動する。 #cp /usr/src/llinux-2.6.16_lsp.1.7.8/arch/arm/boot/uImage /boot/uImage.buffalo #reboot 立ち上げた後、USB−LANアダプターを挿入するが認識されない。 lsmodでドライバーを見てみると何も組み込まれていない。そこでドライバーを探す。 #find /usr -name pegasus.ko /usr/src/linux-2.6.16_lsp.1.7.8/binaries/lib/modules/2.6.16.16-arm1/kernel/drivers/usb/net/pegasus.ko これをinsmodで組み込む。 #insmod /usr/src/linux-2.6.16_lsp.1.7.8/binaries/lib/modules/2.6.16.16-arm1/kernel/drivers/usb/net/pegasus.ko #lsmod で確認する。 この状態でアダプターを挿入するとeth1で認識された。 Linux IAL (ERROR) [0 1] sata recoverable error occured usb 1-1: link qh128-0601/ffc04180 start 127 [1/2 us] eth1: set allmulti eth1: set allmulti eth1: set allmulti 後は、 #ifconfig eth1 up #/sbin/dhclient eth1 などとしてインタフェースを活性化する。 pingなどで確認できればOKである。defaultgwなどネットワーク設定で多少手間取るかもしれない。 実使用では、無線LANでやったように挿入時実行するスクリプトを書けば使いやすいかもしれない。 |