在OpenSUSE11.1下使用WG111v3无线网卡

我的USB无线网卡型号是NetGear WG111v3(芯片为RTL8187B),性能不错,长时间使用稍微有点热,但绝对可以接受。

之前一直在Ubuntu8.04下通过ndiswrapper+Windows驱动的方法使用。OpenSUSE11.1的Kernel是 2.6.27.7-9,这个版本内置了rtl8187的驱动。但是有defect,使用一段时间网速会变慢或者dhcp获得了ip却ping不通 router。

uname -a
Linux suse 2.6.27.7-9-pae #1 SMP 2008-12-04 18:10:04 +0100 i686 i686 i386 GNU/Linux

我本想同样用ndiswrapper的方式解决,但没能成功。也许我使用方法不对,ndiswrapper的方式NetworkManager或者ifup的形式都找不到wlan0这个设备。

苦恼中发现了下面这个帖子:

http://www.susegeek.com/wireless/rtl8187b-wireless-native-driver-support-in-opensuse-111-kernel-2627/

有几个网友在抱怨与我类似的问题,三楼的网友给了一个linux-wireless邮件列表中的解决方案。

http://osdir.com/ml/linux-wireless/2009-01/msg00713.html

rtl8187驱动的维护者说,目前这个defect已经解决,但是需要几个月才能放入kernel的mainline,即使2.6.29也不会有这个补丁。

需要动手编译一下相关的modules。这个页面有详细说明,作者建议仔细阅读这个页面再进行下一步操作。

http://linuxwireless.org/en/users/Download

简单摘要如下:

到 compat-wireless-2.6的下载目录 http://wireless.kernel.org/download/compat-wireless-2.6/ 下载最新的包。这个包来自wireless-testing.git tree最新的版本,每天更新。(这个目录有防盗链,所以最好直接点击下载…)

然后,

解压缩

tar jxvf compat-wireless-$(date -I).tar.bz2

编译

cd compat-wireless-$(date -I)
make

安装

sudo make install

卸载之前的模块

sudo make unload

如果想卸载自己编译的版本

sudo make uninstall

因为我需要rtl8187这个模块,所以

sudo modprobe rtl8187
lsmod | grep rtl8187

确认已经加载成功。重启。
使用”Yast2控制中心>网络设备>网络设置”重新进行无线网卡的设置。搞定!

因为compact-wireless-2.6不是mainline的版本所以

sunlw@suse:~/Desktop> dmesg | grep rtl
rtl8187: 8187B chip detected. Support is EXPERIMENTAL, and could damage your
phy0: hwaddr 00:1e:2a:af:14:0c, RTL8187BvE V0 + rtl8225z2
usbcore: registered new interface driver rtl8187

PS:OpenSUSE里NetworkManager和ifup形式的网络管理只能二选一,回头找一个network monitor放在panel里。

PS:我在Ubuntu下编译了整套的monodevelop,但是有点麻烦,需要逐个安装依赖,并逐个编译cil的wrapper包,然后才能编译一个功能较为完整的monodevelop。装一个OpenSUSE11.1是为了直接使用编译好的Unstable版。但好像最近也有for Debian的deb包了,不知道是不是于同步的。

PS: OpenSUSE下编译内核模块需要安装的工具有gcc, automake, autoconf, kernel-source, kernel-syms这些包在安装DVD中都有。
Have fun!

标签:

  • gu

    cd compat-wireless-$(date -I)
    make

    为什么我生不出rtl8187.o呢,其他的模块都能生成,

  • http://www.gazhiwo.cn/ wayne

    又回到linux下工作了?

    • http://sunliwen.com Sun Liwen

      是哦。