kernel 2.6.31 に変えてから、WLI-UC-GN のドライバをコンパイルするときに、下記のエラーが出るようになりました。
make[1]: Entering directory `/usr/src/linux-2.6.31.6'
CC [M] /home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.o
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c: In function 'RtmpOSNetDevAttach':
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1510: error: 'struct net_device' has no member named 'open'
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1511: error: 'struct net_device' has no member named 'stop'
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1512: error: 'struct net_device' has no member named 'hard_start_xmit'
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1513: error: 'struct net_device' has no member named 'do_ioctl'
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1519: error: 'struct net_device' has no member named 'get_stats'
/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.c:1553: error: 'struct net_device' has no member named 'validate_addr'
make[2]: *** [/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux/../../os/linux/rt_linux.o] Error 1
make[1]: *** [_module_/home/masao/work/2009_1106_RT3070_Linux_STA_V2.1.1.0/os/linux] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.31.6'
make: *** [LINUX] Error 2
パッチを当てるとコンパイルが通るようになります。
1. 下記の場所から最新ドライバをダウンロードする (RT3070USB(RT307x) を選択)
http://www.ralinktech.com/support.php?s=2
2. ダウンロードしたファイルを展開する。
$ tar jxvf 2009_1110_RT3070_Linux_STA_v2.1.2.0.tar.bz2
3. 下記の場所から rt3070-2.6.31-compile.patch.gz をダウンロードする
http://www.megaupload.com/?d=2NDDOFTR
(予備) http://lists.rpmfusion.org/pipermail/rpmfusion-commits/2009-August/006214.html
(予備) rt3070-2.6.31-compile.patch.gz
4. パッチを当てる
$ cd 2009_1110_RT3070_Linux_STA_v2.1.2.0/
$ gunzip -c ../rt3070-2.6.31-compile.patch.gz | patch -p1
5. os/linux/config.mk を編集する
$ vi os/linux/config.mk
# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=n
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
を以下のように修正する
(WPA_SUPPLICANT 関連オプションを ”y” に変更)
# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y
# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
6. WLI-UC-GN を PC の USB ポートに挿入し、デバイス ID を調べる
$ lsusb
...
Bus 001 Device 003: ID 0411:015d MelCo., Inc.
...
7. 2009_1110_RT3070_Linux_STA_v2.1.2.0/os/linux/usb_main_dev.c を編集する
$ vi os/linux/usb_main_dev.c
struct usb_device_id rtusb_usb_id[]
に以下を追加
{USB_DEVICE(0x0411,0x015d)}, /* Melco */
8. make & make install する。
# make
# make install
アクセス解析を見ていると、無線 LAN 関係は、困っている人が多いようだ。
● WLI-UC-GN, 2.6.31, error: 'struct net_device' has no member named 'open',