LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1566|回复: 0

bcm43xx原生驱动

[复制链接]
发表于 2006-7-3 17:35:03 | 显示全部楼层 |阅读模式
ubuntu早就有了的东西,arch在2.6.17发布后,也总算有了,虽然实际效果还差得有点远。

要使用bcm43xx原生驱动,除了内核需要2.6.17版本外,还需要一份firmware。我用的是wl_apsta.o,自己google一下就能找到。


还需要安装一个叫bcm43xx-fwcutter的包,直接pacman即可。

pacman -S bcm43xx-fwcutter
bcm43xx-fwcutter wl_apsta.o
mkdir /lib/firmware
mv *.fw /lib/firmware

modprobe bcm43xx之后,iwconfig就能看到新添加的设备了。在modprobe之前,记得先移除ndiswrapper。
如果系统中有多块网卡,可能需要指定一下bcm43xx的设备名。在/etc/udev/rules.d中新建一个文件,如80-network.rules,写入如下内容:

KERNEL=="eth*", SYSFS{address}=="xx:xx:xx:xx:xx:xx", NAME="wlan0"

那一串xx是网卡的mac地址,不知道的可以cat /sys/class/net/ethX/address看一下。我将bcm43xx的设备名指定为wlan0,跟ndiswrapper的风格一样。

如果建立的udev规则,modprobe -r再modprobe一下。因为要使用wpa,我用的是net profiles的方式配置网卡。在/etc/network-profiles中新建一个文件,如bcm,包含如下内容:

DESCRIPTION="bcm43xx"
INTERFACE=wlan0
IFOPTS="dhcp"
ESSID=XXX
USEWPA="yes"
WPAOPTS="-D wext"

在这里我遇到了一个问题,以前使用ndiswrapper时,/etc/wpa_supplicant.conf中必须设置ap_scan=2才能正常进行验证,但bcm43xx必须将其设置为1。arch的netcfg似乎并没有提供设置不同wpa_supplicant.conf的手段,这个以后再想办法吧。
这是我的wpa_supplicant.conf,供参考:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
ap_scan=1

network={
       scan_ssid=1
        ssid="XXX"
        psk=XXXXXX
        key_mgmt=WPA-PSK
        proto=WPA
}

搞定以后,在命令行执行netcfg bcm,没报错就ok了。在/etc/rc.conf中写一句NET_PROFILES=(bcm),还有MODULES=里加入bcm43xx,开机会自动配置bcm43xx。

最后,虽然配置方面没遇到什么问题,可实际效能方面原生驱动还是让人有点失望。随便找了一个大文件copy一下,bcm43xx的速度大概只有550KB/s,而ndiswrapper则有1.2MB/s左右。

想起什么以后再加。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表