0

我已经深入研究了 NetworkManager(然后从那里进入 dbus 等)并确定了我正在使用的无线驱动程序(iwlagn);但我敢肯定,如果我只知道去哪里看的话,我还能学到更多东西。

指向教程、参考资料(在线或离线)或操作指南的指针将不胜感激。

(如果人们觉得在 serverfault.com 或 superuser.com 上问这个问题会更好,请告诉我。)

如果有兴趣,以下是sudo lspci -vvxxx -s 04:0.0返回的内容:

04:00.0 Network controller: Intel Corporation Wireless WiFi Link 5100
    Subsystem: Intel Corporation Device 1201
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    Latency: 0, Cache Line Size: 64 bytes
    Interrupt: pin A routed to IRQ 32
    Region 0: Memory at f2c00000 (64-bit, non-prefetchable) [size=8K]
    Capabilities: [c8] Power Management version 3
        Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
        Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [d0] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+
        Address: 00000000fee0100c  Data: 41b1
    Capabilities: [e0] Express (v1) Endpoint, MSI 00
        DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 unlimited
            ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
        DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
            RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
            MaxPayload 128 bytes, MaxReadReq 128 bytes
        DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
        LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <128ns, L1 <32us
            ClockPM+ Suprise- LLActRep- BwNot-
        LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
            ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
        LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
    Capabilities: [100] Advanced Error Reporting <?>
    Capabilities: [140] Device Serial Number 04-ed-3b-ff-ff-65-1e-00
    Kernel driver in use: iwlagn
    Kernel modules: iwlagn
00: 86 80 32 42 06 04 10 00 00 00 80 02 10 00 00 00
10: 04 00 c0 f2 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 01 12
30: 00 00 00 00 c8 00 00 00 00 00 00 00 0a 01 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 01 d0 23 c8 00 00 00 0d
d0: 05 e0 81 00 0c 10 e0 fe 00 00 00 00 b1 41 00 00
e0: 10 00 01 00 c0 8e 00 10 10 08 10 00 11 9c 06 00
f0: 40 01 11 10 00 00 00 00 00 00 00 00 00 00 00 00
4

1 回答 1

1

首先,您应该在内核中启用 802.11 堆栈的调试输出

其次,您应该在启用调试输出的情况下编译您的内核(或只是驱动程序模块)(CONFIG_IWLWIFI_DEBUG)。以下是 Kconfig 文件的摘录:

  To set a value, simply echo an 8-byte hex value to the same file:

      % echo 0x43fff > /sys/class/net/wlan0/device/debug_level

  You can find the list of debug mask values in:
      drivers/net/wireless/iwlwifi/iwl-debug.h

还有一些对 iwlagn ( CONFIG_IWLWIFI_DEBUGFS) 的 DebugFS 支持。

第三,如果您使用 WPA 或 802.11i(您应该),您可以终止 NetworkManager 并为 wpa_supplicant 创建您自己的配置文件(查看自述文件以了解如何操作)。然后您可以使用开关运行 wpa_supplicant-dd以打开其调试信息。

于 2011-10-18T13:16:16.150 回答