I’ve dug into NetworkManager (and from there, into dbus, etc.) and identified the wireless driver I’m using (iwlagn); but I’m sure there’s more I can learn, if I only knew where to look.
Pointers to tutorials, references (on- or off-line), or howtos would be gratefully appreciated.
(If folks feel that this would be better asked on serverfault.com, or superuser.com, just let me know.)
If it’s of interest, here’s what sudo lspci -vvxxx -s 04:0.0 returns:
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
First of all, you should enable the debug output of the 802.11 stack in the kernel.
Second, you should compile your kernel (or just the driver module) with debugging output enabled (
CONFIG_IWLWIFI_DEBUG). Here’s an excerpt from the Kconfig file:There’s also some DebugFS support for the iwlagn (
CONFIG_IWLWIFI_DEBUGFS).Third, if you’re using WPA or 802.11i (you should), you can kill the NetworkManager and create you’re own config file for the wpa_supplicant (check out the README to see how). Then you can run wpa_supplicant with the
-ddswitch to turn on its debug info.