如何安装专有 wl Broadcom 驱动程序?

如何安装专有 wl Broadcom 驱动程序?

我有 BCM4313 wi-fi 模块,除了多次断开连接和突然崩溃外,它在开源 brcmsmac 模块下运行良好。

因此我下载了专有 tarball,安装了它,但不能说它产生了任何影响。

当我使用以下方法删除所有开源模块时

rmmod brcmsmac bcma

然后将所有专有的

modprobe lib80211 cfg80211 
insmod /lib/modules/my_kernel/drivers/net/wireless/wl.ko

什么都没有发生,我的意思是我的 Wicd 应用程序没有检测到任何可用的连接。

我绝对不是 Linux 专家,所以我想知道什么可能是一个合适的解决方案。

ps. dmesg |grep wl 输出:

[ 5801.356381] wlan0: deauthenticating from b8:a3:86:42:93:cb by local choice (reason=3)
[ 5801.455680] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5804.419696] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5804.935700] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5806.994247] wlan0: authenticate with b8:a3:86:42:93:cb
[ 5806.994328] wlan0: send auth to b8:a3:86:42:93:cb (try 1/3)
[ 5806.995904] wlan0: authenticated
[ 5806.998173] wlan0: associate with b8:a3:86:42:93:cb (try 1/3)
[ 5807.001231] wlan0: RX AssocResp from b8:a3:86:42:93:cb (capab=0x401 status=0 aid=5)
[ 5807.001804] wlan0: associated
[ 5807.002284] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 5827.490902] wlan0: deauthenticating from b8:a3:86:42:93:cb by local choice (reason=3)
[ 5827.558074] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5828.108186] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[ 5830.138468] wlan0: authenticate with b8:a3:86:42:93:cb
[ 5830.138583] wlan0: send auth to b8:a3:86:42:93:cb (try 1/3)
[ 5830.140406] wlan0: authenticated
[ 5830.142840] wlan0: associate with b8:a3:86:42:93:cb (try 1/3)
[ 5830.148274] wlan0: RX AssocResp from b8:a3:86:42:93:cb (capab=0x401 status=0 aid=5)
[ 5830.148856] wlan0: associated
[ 5830.150317] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready

sudo modprobe wl & dmesg |grep wl:

[10392.295126] wlan0: deauthenticating from b8:a3:86:42:93:cb by local choice (reason=3)
[10392.392534] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[10392.947547] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[10404.291431] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[10404.933929] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[10406.963425] wlan0: authenticate with b8:a3:86:42:93:cb
[10406.963531] wlan0: send auth to b8:a3:86:42:93:cb (try 1/3)
[10406.965115] wlan0: authenticated
[10406.967018] wlan0: associate with b8:a3:86:42:93:cb (try 1/3)
[10406.975538] wlan0: RX AssocResp from b8:a3:86:42:93:cb (capab=0x401 status=0 aid=3)
[10406.976099] wlan0: associated
[10406.976817] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[13533.369462] wl: module license 'MIXED/Proprietary' taints kernel.

当我的默认模块加载时,lsmod | grep -e brcmsmac -e b43 -e bcma 的输出:

brcmsmac              531848  0 
mac80211              539908  1 brcmsmac
bcma                   35656  1 brcmsmac
brcmutil               14755  1 brcmsmac
cfg80211              206566  2 brcmsmac,mac80211
cordic                 12535  1 brcmsmac

自从我最初解决的问题得到解决后,我的连接就运行得很好了。

然而,今天我重新启动后才发现我的连接又无法正常工作。

首先,我已经使用以下命令加载了 wl 模块

sudo modprobe wl

之后检查 ifconfig 并发现 eth1 inetrface 已关闭并执行

sudo ifconfig eth1 up

提起这件事

随后不久使用 iwconfig 来确保 eth1 被正确检测到

最后输入

sudo iwlist eth1 scan

找到所有可用的网络,它们按计划运行

然而,当我最终决定连接并使用它时

sudo iwconfig eth1 essid Network_name  (no key option here since this it's not set)

出现故障,因为没有建立连接,并且 iwconfig 显示没有接入点与 eth1 接口关联。

我读了很多手册,但仍然不知道要做什么才能恢复我的互联网。

答案1

重新安装 bcmwl-kernel-source 应该将不太好的驱动程序 brcmsmac 列入黑名单,但显然没有。请打开终端并执行以下操作:

gksudo gedit /etc/modules

如果其中有 brcmsmac、bcma 或 b43,请将其删除。添加 wl。校对、保存并关闭 gedit。现在执行:

gksudo gedit /etc/modprobe.d/blacklist.conf

最后添加以下几行:

blacklist brcmsmac
blacklist bcma
blacklist b43

校对、保存并关闭 gedit。重启。检查:

iwconfig

您的无线接口现在是 eth1 吗?您的连接现在是否按预期工作?

答案2

我假设您的意思是 14e4:4727,而不是上面的 4272。如果是这样,我相信 bcmwl-kernel-source 对您的设备是正确的,而不是 brcmsmac。让我们尝试正确安装它。

sudo apt-get install linux-headers-generic
sudo apt-get install --reinstall bcmwl-kernel-source

如果一切顺利,没有错误,那么执行以下操作:

sudo modprobe wl

有任何错误或警告吗?您的无线网络现在应该可以正常工作了。

相关内容