如果我在/etc/modprobe.d/blacklist.conf中使用以下内容重新启动计算机:
blacklist b43
blacklist ssb
blacklist wl然后我可以选择modprobe wl (broadcom,运行良好)或modprobe b43 (在我的B4331 rev02上高度不稳定)。
但是,如果我加载b43模块的任何一点,我做不到的任何事情(想出办法)都不允许我在不重新启动机器的情况下加载wl。
例如,如果我:
modprobe b43 # --> working network access
rmmod b43 brcmsmac ssb bcma wl
modprobe wl
iwlist scan这会产生
eth1 No scan results我试图弄清楚什么状态正在被改变,这样modproble b43 && rmmod b43就会产生一些有害的网络效应。对于如何在不重新启动的情况下从加载b43中“恢复”有什么想法吗?
谢谢!
发布于 2015-02-18 10:12:02
正在更改的状态可能在网络适配器本身中。无线适配器尤其倾向于复杂的可编程计算机本身,而且很可能b43会将适配器留在一个不知道如何与wl对话的状态。除此之外,你需要深入了解这些司机是如何工作的,以说明到底是怎么回事。
如果您能够启动适配器本身,这可能会清除状态,即使您没有电源循环整个计算机。我想我们说的是一个PCI卡,它被埋在电脑里,或者是主板的一部分。所以切断设备的物理能量是行不通的..。但是也许有一种方法可以让PCI总线为我们做一些类似的事情。
请注意,我只在我自己的机器上尝试过一次(它没有Broadcom卡)。原则是一样的,但你的结果可能会有所不同。这可能会使您的系统崩溃或做其他坏事。我怀疑你是否会小心,但我还不够熟悉,不敢下注。如果您不小心选择错误的设备编号,最终可能会关闭硬盘控制器而不是网络适配器。
最后,不要复制粘贴这些说明。您需要修改它们以适应您的系统。
您需要在/sys中为您的设备找到PCI总线路径。从已经加载的驱动程序开始,这样您就可以通过其网络接口名查找设备:
# ls -l /sys/class/net
lrwxrwxrwx 1 root root 0 Feb 18 04:12 eth0 -> ../../devices/pci0000:00/0000:00:1c.2/0000:07:00.0/net/eth0
lrwxrwxrwx 1 root root 0 Feb 18 04:08 lo -> ../../devices/virtual/net/lo在这种情况下,我的eth0设备的PCI总线路径是/sys/devices/pci0000:00/0000:00:1c.2/0000:07:00.0。如果你在那个地方看看,你会发现一组可用于调整PCI总线的文件.。在本例中,我们感兴趣的是设备的remove文件和其父设备的rescan文件。
首先,移除驱动程序,否则其设备将从驱动程序下面消失。然后将设备从总线上移除。
# modprobe -r b43 brcmsmac ssb bcma wl
# echo 1 >/sys/devices/pci0000:00/0000:00:1c.2/0000:07:00.0/remove接下来,为了再次添加设备,让设备的父节点进行重新扫描。
# echo 1 >/sys/devices/pci0000:00/0000:00:1c.2/rescan现在您可以尝试运行modprobe wl并查看它是否有效。
https://unix.stackexchange.com/questions/180390
复制相似问题