我在带有 BCM43224 wi-fi 芯片的硬件上使用 CentOS 6.3 x86_64。我安装了模块b43-fwcutter
,然后运行modprobe b43
,没有任何错误消息。但是,没有出现新的网络接口,返回的iwconfig
是:
lo no wireless extensions.
eth0 no wireless extensions.
lspci -nn | grep 43224
返回:
03:00.0 Network controller [0280]: Broadcom Corporation BCM43224 802.11a/b/g/n [14e4:4353] (rev 01)
和uname -a
:
Linux localhost.localdomain 2.6.32-279.14.1.el6.x86_64 #1 SMP Tue Nov 6 23:43:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
关于如何使无线设备工作,您有什么想法吗?
答案1
我首先想到的可能是缺少wireless-tools
软件包。检查它们是否已安装,我不知道 CentOS 是否将其放在标准安装包中。
ifconfig wlan0 up
如果无线适配器没有自动工作,您还可以尝试将其联机。
另一个网站上有一位用户遇到了类似的问题,可能是帮助
答案2
经过一番研究,我刚刚使用了 Broadcom 自己的驱动程序。它并不理想,它会用非 GPL 的东西污染内核,但它可以正常工作(内核污染只是一个哲学问题,它只与许可证有关,对驱动程序的工作方式没有任何影响)。每次更新内核时,我都必须重新编译模块……算了。
因此,我得到了来自http://www.broadcom.com/support/802.11/linux_sta.php,解压它并尝试编译它(make
在文件解压的同一目录中运行)。
出现一系列错误后,我编辑了 处的文件src/wl/sys/wl_cfg80211.c
(随 tar 文件一起提供),将所有出现的 替换KERNEL_VERSION(2, 6, **)
为0
(zero)。编译 wl.ko 模块后,我运行,modprobe lib80211
然后insmod wl ; modprobe wl
,问题就解决了。
为了简单起见,以下命令安装 64 位模块:
wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v5_100_82_112.tar.gz
mkdir wldir
tar -xvzf hybrid-portsrc_x86_64-v5_100_82_112.tar.gz -C wldir
cd wldir
sed -e 's/KERNEL_VERSION(2, 6, ..)/0/g' src/wl/sys/wl_cfg80211.c -i
make
modprobe lib80211
insmod wl.ko
modprobe wl
对于 32 位的,只需替换hybrid-portsrc_x86_64-v5_100_82_112.tar.gz
为hybrid-portsrc_x86_32-v5_100_82_112.tar.gz