我听说你可以用modprobe
某种方式重新加载 wifi 驱动程序。但我不确定我使用的是哪种驱动程序。我如何找到它以及将 wifi 驱动程序重新加载到内核的命令是什么?
答案1
让我介绍一种搜索和猜测相结合的方法。
lspci:
lspci | grep -i Wireless
02:04.0 Network controller: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection (rev 05)
名称可能不同,没有“无线”,所以也许您只需执行 lspci 命令并自己得出结论,这可能是 w-lan 芯片。
lshw 是另一种方法:
sudo lshw -C net
[sudo] password for stefan:
*-network:0
description: Ethernet interface
product: RTL-8139/8139C/8139C+
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:02:00.0
logical name: eth0
version: 10
serial: 00:13:d4:6a:60:d2
size: 10MB/s
capacity: 100MB/s
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=8139too driverversion=0.9.28 duplex=half latency=64 link=no maxlatency=64 mingnt=32 multicast=yes port=MII speed=10MB/s
resources: irq:4 ioport:d800(size=256) memory:ff9ffc00-ff9ffcff
*-network:1 UNCLAIMED
description: Network controller
product: PRO/Wireless 2200BG [Calexico2] Network Connection
vendor: Intel Corporation
physical id: 4
bus info: pci@0000:02:04.0
version: 05
width: 32 bits
clock: 33MHz
capabilities: pm cap_list
configuration: latency=64 maxlatency=24 mingnt=3
resources: memory:ff9fe000-ff9fefff
现在我使用 dmesg:
dmesg | grep -i 2200BG
什么也没有,太狭窄了,
dmesg | grep 2200
[315676.220024] eth0: no IPv6 routers present
[332456.220087] eth0: link up, 100Mbps, full-duplex, lpa 0xC5E1
[375282.220037] eth0: no IPv6 routers present
modprobe -l 或 lsmod,如果驱动程序已加载则是另一个选项:
modprobe -l | grep 2200
kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
如果你安装了源,则驱动程序应该位于:
ls /usr/src/linux/drivers/net/wireless/
来自ThinkWiki 页面我猜,你的芯片组可能是 Realtek RTL8192SE。因此,你可以使用 rtl/rtl8192/rtl8192se 进行 grepping。
r8192se_pci 可能是你的驱动程序。所以
sudo rmmod r8192se_pci
sudo modprobe r8192se_pci
可以让你免于重启。我没有阅读 Thinkwiki 上有关你的型号的整个页面 - 也许你有时间。
对于一般的笔记本电脑来说,笔记本电脑上的 Linux 页面是一个不错的地址,可以查看其他用户在笔记本电脑上使用 Linux 的经验以及他们获得的知识。有些型号会更改芯片组和驱动程序,但这比猜测要好得多。