無線LAN−USBアダプターGW−US54Min2の組込み
以前動かしたことのある無線LANアダプターPLANEXのGW-US54Min2であるが、このところのiptablesの組込みなどから何故か動かなくなっていたので、再度一から組み込んで見ることとした。
手順は、
- sargeで立ち上げたDebianをetcにアップする。
- カーネルをソースから再構築
- GW-US54Min2に使用しているチップのドライバーrt73をインストール
- ネットワークの起動設定。
の順番である。
1.etchへのアップ これは前に書いたことがあり、ここを参照頂きたい。
2.カーネルの再構築
- カーネルの再構築に必要なツールをインストールする。
autoconf automake binutils gcc gettext kernel-package libncurses5-dev libtool linux-kernel-headers make module-init-tools | test:/usr/src# tar zxvf linux-2.6.16_lsp.1.7.8.tar.gz
- u-boot用のイメージ作成ツールmkimageを準備する
u-bootプロジェクトのページから u-boot-1.1.4.tar.bz2を頂いてくる。 # tar jxvf u-boot-1.1.4.tar.bz2 で展開する。 # cd u-boot-1.1.4 で移動し、 # TOPDIR=`pwd` # export TOPDIR # cd tools/ # make mkimage で完成した mkimage をパスの通った例えば/usr/bin にコピーする。 確認は # mkimage -l /boot/uImage.buffalo Image Name: Linux-2.6.16.16-arm1 Created: Sat Jun 7 18:13:49 2008 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 1822980 Bytes = 1780.25 kB = 1.74 MB Load Address: 0x00008000 Entry Point: 0x00008000 |
Makefile の180行目当たりにあるクロスコンパイル指定の #CROSS_COMPILE ?= arm-none-linux-gnueabi- をコメント化
|
- /usr/src/linux-2.6.16_lsp.1.7.8/buffaloにあるbuffalo_lsgl_arm_110.config をコピー
# cp buffalo_lsgl_arm_110.config ../.configure |
- # make menuconfig でカーネルの諸元設定
今回は無線LANを使用出来るようにすることであるので以下の個所を変更する。他は必要により変更。結果は自己責任 Device Drivers ---> Network device support ---> Wireless LAN (non-hamradio) ---> [*] Wireless LAN drivers (non-hamradio) & Wireless Extensions これを忘れるとrt73コンパイル時に以下の警告が出る。 *** Warning: "wireless_send_event" [/usr/src/rt73/Module/rt73.ko] undefined! |
1時間半程かかる。気長に待つこと。 警告は色々出るが、最終的にエラーが出なければOKのようである。当初mkimageが無いといわれて完了しなかった。これまでに示した条件が整っていれば問題無いはずである。 正常終了した後は、 # mkimage -l arch/arm/boot/uImage とする。mkimage作成のところで示したメッセージが出る この操作はコンパイルの最後でやっているようなので意味は良く分らない。 |
- # make modules でモジュールのコンパイル、# make modules_installでインストール
問題は無く終了はずである。Makefileの中でdepmodへのパスが違っておりmodules_install の最初で"module-init-toolsをインストールするように"なるエラーメッセージが出るが、影響はないようである。 気になる方は DEPMOD = /kernel26tool/sbin/depmod /sbin/depmodなど実態にあわせて修正してください。 |
- uImage を /boot ディレクトリーにコピー
最悪の場合に備え/boot/uImage.buffaloを/boot/uImage.buffalo.orgなどとして保存しておき、今回作成したものをコピー # cp arch/arm/boot/uImage /boot/uImage.buffalo | 3.GW-US54Min2に使用しているチップのドライバーrt73をインストール
# apt-get install cvs でcvsをインストール /usr/src に移動して# cvs -z3 -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 co -P -d rt73 source/rt73
でrt73/以下にソースが展開される。 |
- # make でコンパイル、# make installでインストール
コンパイルの前に # mkdir /lib/modules/2.6.16.16-arm1/build # ln -s /usr/src/linux-2.6.16_lsp.1.7.8 /lib/modules/2.6.16.16-arm1/build でリンクを張っておく。rt73のソースは/lib/modules/2.6.16.16-arm1/buildにカーネルのソースを要求している。 # cd /usr/src/rt73/Module に移動し # make エラー、警告が出ずに *** Module rt73.ko built successfully となれば終了。 # make install *** Update /etc/modprobe.d/ralink alias for wlan* *** Install firmware in /lib/firmware ... *** Check old config ... などと表示される。 ドライバーのrt73.koが /usr/src/linux-2.6.16_lsp.1.7.8/binaries/lib/module/2.6.16.16-arm1/extra/に ファームのrt73.binが /lib/firmware にインストールされる。 私は、rt73.koのパスが長すぎるので他のDebianを参考に /lib/modules/2.6.16.16-arm1/extra/ディレクトリーを作成してここにコピーした。 |
ドライバーモジュールの組込みはmodprobeコマンドを使うことが一般的のようであるが、このケースでは認識していないと叱られるので、insmod を使う。 # insmod /lib/modules/2.6.16.16-arm1/extra/rt73.ko でdmesgなどで確認すると組み込めたようではある。 しかし、GW-US54Min2をUSBソケットに挿すと、 idVendor = 0x2019, idProduct = 0xab50 rt73: Failed to request_firmware. Check your firmware file location rt73: probe of 2-1:1.0 failed with error -2 ファームが読み込めないとのエラーが出て動作しない。 ネットで調べている内にそれらしき事を書いている海外のネットに行きあたる。 udevがどうとかとあるので、このケースではhotplugではないかと思い、 # apt-get install hotplug でインストールしたところエラーも出なくなり無事動かすことが出来た。 |
4.ネットワークの起動設定使用条件によって違うと思うが、私の場合は、 起動時に有線LANか無線LANのうち繋がっているほうで起動すれば良いので、
/etc/network/interface *************************** auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
allow-hotplug wlan0
auto wlan0
/etc/hotplug/usb/rt73 *************************** #!/bin/sh ifconfig wlan0 up iwconfig wlan0 mode managed iwconfig wlan0 essid xxxxxxxxxxx iwconfig wlan0 channel x /sbin/dhclient wlan0 if [ $? = 0 ]; then
ln -s /etc/hotplug/usb/rt73.off $REMOVER fi
/etc/hotplug/usb/rt73.off *************************** #!/bin/sh ifconfig wlan0 down
同じ操作に対してコマンドの種類が多く、どのファイルにどのコマンドを使うのが正解なのか良く分らなかったが、カットアンドトライで動いたものを示す。 |
ホームページトップ LinkStationトップ |