首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在“w”和"b43“wifi模块之间切换而不重新启动?

如何在“w”和"b43“wifi模块之间切换而不重新启动?
EN

Unix & Linux用户
提问于 2015-01-22 02:15:27
回答 1查看 2.9K关注 0票数 0

如果我在/etc/modprobe.d/blacklist.conf中使用以下内容重新启动计算机:

代码语言:javascript
复制
blacklist b43
blacklist ssb
blacklist wl

然后我可以选择modprobe wl (broadcom,运行良好)或modprobe b43 (在我的B4331 rev02上高度不稳定)。

但是,如果我加载b43模块的任何一点,我做不到的任何事情(想出办法)都不允许我在不重新启动机器的情况下加载wl

例如,如果我:

代码语言:javascript
复制
modprobe b43 # --> working network access
rmmod b43 brcmsmac ssb bcma wl
modprobe wl
iwlist scan

这会产生

代码语言:javascript
复制
eth1      No scan results

我试图弄清楚什么状态正在被改变,这样modproble b43 && rmmod b43就会产生一些有害的网络效应。对于如何在不重新启动的情况下从加载b43中“恢复”有什么想法吗?

谢谢!

EN

回答 1

Unix & Linux用户

发布于 2015-02-18 10:12:02

正在更改的状态可能在网络适配器本身中。无线适配器尤其倾向于复杂的可编程计算机本身,而且很可能b43会将适配器留在一个不知道如何与wl对话的状态。除此之外,你需要深入了解这些司机是如何工作的,以说明到底是怎么回事。

如果您能够启动适配器本身,这可能会清除状态,即使您没有电源循环整个计算机。我想我们说的是一个PCI卡,它被埋在电脑里,或者是主板的一部分。所以切断设备的物理能量是行不通的..。但是也许有一种方法可以让PCI总线为我们做一些类似的事情。

警告

请注意,我只在我自己的机器上尝试过一次(它没有Broadcom卡)。原则是一样的,但你的结果可能会有所不同。这可能会使您的系统崩溃或做其他坏事。我怀疑你是否会小心,但我还不够熟悉,不敢下注。如果您不小心选择错误的设备编号,最终可能会关闭硬盘控制器而不是网络适配器。

最后,不要复制粘贴这些说明。您需要修改它们以适应您的系统。

您需要在/sys中为您的设备找到PCI总线路径。从已经加载的驱动程序开始,这样您就可以通过其网络接口名查找设备:

代码语言:javascript
复制
# 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文件。

首先,移除驱动程序,否则其设备将从驱动程序下面消失。然后将设备从总线上移除。

代码语言:javascript
复制
# modprobe -r b43 brcmsmac ssb bcma wl
# echo 1 >/sys/devices/pci0000:00/0000:00:1c.2/0000:07:00.0/remove

接下来,为了再次添加设备,让设备的父节点进行重新扫描。

代码语言:javascript
复制
# echo 1 >/sys/devices/pci0000:00/0000:00:1c.2/rescan

现在您可以尝试运行modprobe wl并查看它是否有效。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/180390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档