我目前正在为我的 Broadcom BCM4313 网络/wifi 设备寻找合适的驱动程序。
一开始根本无法识别网络,现在可以连接了,但是连接速度真的很慢。我读到卸载一些驱动程序模块可能会有所帮助,modprobe
因为它们可能会互相干扰。为了找到合适的驱动程序,我正在考虑尝试卸载所有驱动程序,然后单独激活每个驱动程序。
是否有可能找出哪些模块被激活,是否有一个命令可以立即卸载所有 wifi 模块?
也欢迎有关我的故障排除的任何其他提示。
编辑:
为了防止误解:从评论中我认为筛选模块并不是找到正确驱动程序的好方法。我仍在寻找一种方法来找到活动模块,以更深入地了解哪个模块是活动的,因此在做某事,哪些不是。
答案1
要卸载模块,您可以使用这 2 个命令,lsmod
以及rmmod
.lsmod
将列出加载的模块,同时rmmod
将从内核中删除给定的模块,假设它是动态构建的,以便可以动态加载。
$ sudo lsmod | head -5
Module Size Used by
bluetooth 89276 0
cpufreq_powersave 1154 0
tcp_lp 2111 0
aesni_intel 12131 1
要删除模块,只需执行以下操作:
$ sudo rmmod bluetooth
重新加载它:
$ modprobe bluetooth
不过,我必须同意@Patrick,这实际上并没有什么作用,听起来好像有人不太理解模块所扮演的功能/角色以及加载/卸载它们的含义。
我的无线模块
我会说我的 WiFi 驱动程序有问题,不得不时不时地卸载它们并重新加载它们,所以也许这就是某人的意思,但它被误解了?
这些是我的 WiFi 驱动程序,我每 1-2 个月必须卸载一次:
$ lsmod | grep iw
iwlagn 209751 0
iwlcore 195714 1 iwlagn
mac80211 229095 2 iwlagn,iwlcore
cfg80211 134981 3 iwlagn,iwlcore,mac80211
我使用的是 Fedora 14 和 Thinkpad T410。
硬件 X 使用什么驱动程序?
您可以使用该工具lshw
作为其他答案之一提供的示例。您还可以使用该工具hwinfo
来查找此信息:
$ hwinfo | less
...
...
63: None 00.0: 1070a WLAN
[Created at net.124]
Unique ID: XXX.QXn1l67XXXX
Parent ID: XXX.OmvKrXXXXXX
SysFS ID: /class/net/wlan0
SysFS Device Link: /devices/pci0000:00/0000:00:1c.1/0000:03:00.0
Hardware Class: network interface
Model: "WLAN network interface"
Driver: "iwlagn"
Driver Modules: "iwlagn"
Device File: wlan0
HW Address: 45:12:12:32:7a:02
Link detected: yes
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #35 (WLAN controller)
因此,就我而言,我的 WiFi 适配器使用的是模块iwlagn
.hwinfo
是您可能需要安装的另一个软件包。您猜对了,包名称是hwinfo
。因此,请检查您的发行版的包管理软件,看看您是否也可以使用它。
答案2
要查看当前哪个驱动程序正在处理您的卡,您可以运行lshw -c network
您可能会发现类似的内容
*-network
description: Wireless interface
product: Centrino Wireless-N 2230
vendor: Intel Corporation
...
capabilities: bus_master cap_list ethernet physical wireless
configuration: broadcast=yes driver=iwlwifi bla=bla...
resources: irq:45 memory:f2d00000-f2d01fff
如果驱动程序=iwlwifi列出了您不打算使用的驱动程序,您可以尝试卸载/将其列入黑名单并加载所需的驱动程序。