用于分析已加载设备/NIC 的有用命令
除了 dmesg 之外,还有一组我记不清的命令,它们说明了有关 LINUX 设备(特别是 NIC)的详细信息,lspci 就是其中之一,但我一直在尝试了解两台不同笔记本电脑上的两个 Atheros 8100 以太网 802.3、旧式 CAT5 适配器之间的区别。
总体问题是 alx 驱动程序针对 AMD64 的 Ubuntu 10.04 或更高版本进行编译,但当在 Intel i5 上尝试使用同一驱动器上的同一发行版时,却拒绝忽略“未找到模块错误#2”,两者都几乎相同,并且目前在 Windows 中已验证的工作 NIC 似乎也相同。
通过搜索网络,我了解了如何解决其他人遇到的 Atheros 卡问题,但此时此刻,如果有必要,我正试图找出两者之间的差异,甚至是 DNA 差异。
注意:我最初在 UNIX/LINUX 网站上发布了此内容,但由于我忘记了它不超出这里的范围,因此我将其删除并重新发布在 SF 上。
答案1
查询设备信息的一种简单方法是hwinfo(8)
:
# hwinfo --help
Usage: hwinfo [options]
Probe for hardware.
--short just a short listing
--log logfile write info to logfile
--debug level set debuglevel
--version show libhd version
--dump-db n dump hardware data base, 0: external, 1: internal
--hw_item probe for hw_item
hw_item is one of:
all, bios, block, bluetooth, braille, bridge, camera, cdrom, chipcard,
cpu, disk, dsl, dvb, fingerprint, floppy, framebuffer, gfxcard, hub,
ide, isapnp, isdn, joystick, keyboard, memory, modem, monitor, mouse,
netcard, network, partition, pci, pcmcia, pcmcia-ctrl, pppoe, printer,
scanner, scsi, smp, sound, storage-ctrl, sys, tape, tv, usb, usb-ctrl,
vbe, wlan, zip
探测网卡输出类似以下内容的内容:
# hwinfo --netcard
24: PCI 300.0: 0282 WLAN controller
[Created at pci.318]
Unique ID: y9sn.7ENUz3zhXm0
Parent ID: qTvu.9IUMPjEn2W4
SysFS ID: /devices/pci0000:00/0000:00:1c.1/0000:03:00.0
SysFS BusID: 0000:03:00.0
Hardware Class: network
Model: "Intel WLAN controller"
Vendor: pci 0x8086 "Intel Corporation"
Device: pci 0x0083
SubVendor: pci 0x8086 "Intel Corporation"
SubDevice: pci 0x1325
Driver: "iwlwifi"
Driver Modules: "iwlwifi"
Device File: wlan0
Features: WLAN
Memory Range: 0xf1b00000-0xf1b01fff (rw,non-prefetchable)
IRQ: 45 (1 event)
HW Address: 74:e5:0b:76:04:8a
WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 12 13
WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472
WLAN encryption modes: WEP40 WEP104 TKIP CCMP
WLAN authentication modes: open sharedkey wpa-psk wpa-eap
Module Alias: "pci:v00008086d00000083sv00008086sd00001325bc02sc80i00"
Driver Info #0:
Driver Status: iwlwifi is active
Driver Activation Cmd: "modprobe iwlwifi"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #15 (PCI bridge)
然后你可以利用这些信息进一步调查
# ls -lrt /sys/devices/pci0000\:00/0000\:00\:1c.1/0000\:03\:00.0/
total 0
-rw-r--r--. 1 root root 4.0K May 1 12:33 uevent
lrwxrwxrwx. 1 root root 0 May 1 12:33 subsystem -> ../../../../bus/pci/
-r--r--r--. 1 root root 4.0K May 1 12:33 class
drwxr-xr-x. 3 root root 0 May 1 12:33 leds/
drwxr-xr-x. 3 root root 0 May 1 12:33 ieee80211/
-r--r--r--. 1 root root 4.0K May 1 12:33 vendor
drwxr-xr-x. 3 root root 0 May 1 12:33 net/
lrwxrwxrwx. 1 root root 0 May 1 12:33 driver -> ../../../../bus/pci/drivers/iwlwifi/
-r--r--r--. 1 root root 4.0K May 1 12:33 device
-rw-r--r--. 1 root root 4.0K May 1 12:34 config
-r--r--r--. 1 root root 4.0K May 1 22:16 resource
-r--r--r--. 1 root root 4.0K May 1 22:16 irq
-r--r--r--. 1 root root 4.0K May 2 00:41 subsystem_vendor
-r--r--r--. 1 root root 4.0K May 2 00:41 subsystem_device
-r--r--r--. 1 root root 4.0K May 2 00:41 modalias
-rw-------. 1 root root 8.0K May 2 00:48 resource0
--w-------. 1 root root 4.0K May 2 00:48 reset
--w--w----. 1 root root 4.0K May 2 00:48 rescan
--w--w----. 1 root root 4.0K May 2 00:48 remove
drwxr-xr-x. 2 root root 0 May 2 00:48 power/
-r--r--r--. 1 root root 4.0K May 2 00:48 numa_node
drwxr-xr-x. 3 root root 0 May 2 00:48 msi_irqs/
-rw-r--r--. 1 root root 4.0K May 2 00:48 msi_bus
-r--r--r--. 1 root root 4.0K May 2 00:48 local_cpus
-r--r--r--. 1 root root 4.0K May 2 00:48 local_cpulist
lrwxrwxrwx. 1 root root 0 May 2 00:48 firmware_node -> ../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1b/device:1c/
-rw-------. 1 root root 4.0K May 2 00:48 enable
-r--r--r--. 1 root root 4.0K May 2 00:48 dma_mask_bits
-rw-r--r--. 1 root root 4.0K May 2 00:48 d3cold_allowed
-r--r--r--. 1 root root 4.0K May 2 00:48 consistent_dma_mask_bits
-rw-r--r--. 1 root root 4.0K May 2 00:48 broken_parity_status
寻找类似以下差异
# cat /sys/devices/pci0000\:00/0000\:00\:1c.1/0000\:03\:00.0/driver/module/srcversion
3A84FA6037EB1F39D3947AE
对于lspci(8)
,请检查您是否已运行update-pciids(8)
。