Как я могу получить (и научиться осмысленно интерпретировать) очень низкоуровневую диагностику подсистемы Wifi в моей системе Ubuntu 10.04 (Lucid) Linux? - PullRequest
0 голосов
/ 18 октября 2011

Я копался в 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

1 Ответ

1 голос
/ 18 октября 2011

Прежде всего, вы должны включить вывод отладки стека 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

Также имеется некоторая поддержка DebugFS для iwlagn (CONFIG_IWLWIFI_DEBUGFS).

В-третьих, если вы используете WPA или 802.11i (вам следует), вы можете убить NetworkManager и создать свой собственный файл конфигурации для wpa_supplicant (см. README , чтобы узнать как) , Затем вы можете запустить wpa_supplicant с ключом -dd, чтобы включить его отладочную информацию.

...