我正在尝试在 Ubuntu 11.10 中为我的网络 USB 设备找到最合适的驱动程序。首先,我可以在哪里检查 ubuntu 用于控制此设备的驱动程序?它在网络工具中显示为无线接口 (wlan1),但除了 MAC 地址和一些有关数据传输的统计信息外,没有有关驱动程序的信息。
我已经安装了 aircrack-ng,它提供了几个扫描网络的选项。airmon-ng start wlan1
在终端中运行后,我得到以下结果:
Interface Chipset Driver
eth1 Unknown wl
wlan1 Unknown rt2800usb - [phy2]
(monitor mode enabled on mon0)
无线适配器是 TP-LINK 型号 TL-WN7200ND,无线面板将其读取为 RaLink 适配器。似乎 rt2800usb 是适配器的驱动程序,但是这个设备还有更强大的驱动程序吗?
答案1
通过查阅,您可以获得很多有趣的信息/sys
。/sys/class
其中包含 Linux 安装能够处理的每一类设备的条目。驱动程序信息位于以下路径:
$ ls /sys/class/net/wlan0/device/driver/module/drivers
pci:ath5k@
我的 wifi 卡名为 wlan0,使用的是 ath5k 驱动程序。这是我的其中一张以太网卡的驱动程序信息:
$ ls /sys/class/net/eth1/device/driver/module/drivers
pci:forcedeth@
另外,Ubuntu(与大多数 Linux 发行版一样)将设备驱动程序作为内核模块包含在内。内核是运行计算机硬件的大型软件。Ubuntu 根据感知到的硬件信息加载硬件模块。您可以通过运行以下命令获取已加载模块的列表:lsmod
。以下是我的 lsmod 输出的片段:
bluetooth 130968 0
ath5k 127724 0
ath 11990 1 ath5k
eeepc_laptop 12412 0
sparse_keymap 2660 1 eeepc_laptop
mac80211 196283 1 ath5k
pci_hotplug 22072 1 eeepc_laptop
cfg80211 142540 3 ath5k,ath,mac80211
rfkill 12470 3 bluetooth,eeepc_laptop,cfg80211
crc16 1091 2 bluetooth,ext4
左列是已加载模块的列表,最右列显示它们依次使用的模块。如您所见,这些都使用或与 ath5k 模块相关。
答案2
如果 Ubuntu 找到了驱动程序,并且您可以上网,我认为您不应该更改它。要找出正在使用的驱动程序,请参阅 djeikyb 的帖子或参见下文。
如果 Ubuntu 没有找到驱动程序,您应该先让 Ubuntu 搜索它。为此,您可以启动“系统设置”并启动“硬件驱动程序”。这样就可以了。此方法也是查看当前使用的(专有)驱动程序的简单方法。
困难的方法是识别你的 USB-WiFi 的芯片组,并利用这些信息进行搜索
为此,您需要发出命令“lsusb”。打开 gnome 终端并输入“lsusb”(不带引号)。您应该会看到类似以下内容:
$ Bus 002 Device 003: ID 064e:a103 Suyin Corp. Acer/HP Integrated Webcam [CN0314]
这是我的网络摄像头,我的 WiFi 卡可以通过“lspci”识别。
根据这些信息(根据上面的例子:供应商 064e - Suyin Corp. 和产品 a103 - Acer/HP Integrated Webcam),您应该能够精确地搜索所需的驱动程序。