#linux #wifi #ubuntu-10.04 #linux-device-driver #diagnostics
#linux #wifi #ubuntu-10.04 #linux-device-driver #диагностика
Вопрос:
Я покопался в NetworkManager (а оттуда в dbus и т. Д.) И Определил используемый мной драйвер беспроводной сети (iwlagn); но я уверен, что я могу узнать больше, если бы только знал, где искать.
С благодарностью будут оценены указатели на учебные пособия, ссылки (on- или off-line) или инструкции.
(Если люди считают, что об этом лучше спросить на 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:
Прежде всего, вы должны включить отладочный вывод стека 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
помощью переключателя, чтобы включить его отладочную информацию.
Комментарии:
1. Есть ли у вас какие-либо предложения о том, что я должен изучить / где я мог бы это сделать, чтобы лучше понять весь этот вывод отладки?
2. Я не знал о пакете wireless-tools, и это различные прекрасные инструменты: iwconfig, iwlist и т. Д. Сейчас я с восторгом смотрю на iwlist… Ух ты!
3. wireless.kernel.org это основной сайт, представляющий интерес. Вы также можете взглянуть на источники драйверов. Забудьте о пакете wireless-tools, он устарел!
iw
Вместо этого используйте инструмент: linuxwireless.org/en/users/Documentation/iw4. Вот еще один отличный источник, который я раньше не видел: hpl.hp.com/personal/Jean_Tourrilhes/Linux /…
5. mac80211 больше похож на фреймворк драйвера устройства для беспроводных карт. Смотрите описание: linuxwireless.org/en/developers/Documentation/mac80211 Большинство современных драйверов беспроводной сети (включая iwlagn!) основаны на mac80211.