Ich hatte seit meinem Update auf Kubuntu immer wieder mit Netzwerkausfällen zu kämpfen. Anfangs war ich noch der Meinung, dass ich ein DNS Problem hatte da ich immer wieder einzelne URLs im Browser nicht auflösen konnte. Das herumspielen an den DNS-Einstellungen und resolconf
erwies sich als Holzweg.
Sehr auffällig war, dass nach einiger Zeit die Pingzeiten die Anfangs im Millisekundenbereich lagen in den höheren Sekundenbereich hochschnellten. Das hatte doch nichts mit DNS zu tun da die IP sich ja nicht änderte und ich auch direkt IP-Adressen in meinem LAN pingte.
Die Lösung fand ich bei AskUbuntu. Meine Netzwerkkarte wurde im Draft-n Standard betrieben. Der genutzte Linux Treiber für meine WLAN Karte “03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6205 [Taylor Peak] (rev 34)” (iwlwifi) ist hier allerdings ein bisschen Buggy was zu permanenten Fehlermeldungen im Log (dmesg) führte.
Der Workaround
Ein Workaround wurde dann gefunden. Der n-Draft Modus einfach abgeschaltet. Das kann einfach über eine Option an den Treiber passieren.
options iwlwifi 11n_disable=1
Diese Zeile habe ich dann an das Ende der Datei /etc/modprobe.d/iwlwifi.conf angefügt. Nach dem Reboot lief das System dann dauerhaft stabil. Keine Abbrüche mehr beim “pingen”.
Analyse von Kernel-Modulen
In diesem Zuge ist es vielleicht interessant zu wissen, welche Parameter/Optionen ein jeweiliges Kernel-Modul (wie der WLAN Treiber) besitzt. Es gibt hier zwei Tools die interessant sind.
systool
Das Tool “systool” kann bei gelandenen Modulen die gesetzten Parameter anzeigen. Die Installation erfolgt unter Ubuntu über das Paket “sysfsutils”
apt-get install sysfsutils
Danach kann man die Optionen wie folgt auflisten:
systool -v -m iwlwifi
modinfo
Über modinfo
kann man sich Informationen über ein Kernel-Modul holen. Die verfügbaren Paramter kann man sich so holen:
modinfo -p iwlwifi
In meinem Fall erhalte ich folgende Ausgabe:
swcrypto:using crypto in software (default 0 [hardware]) (int)
11n_disable:disable 11n functionality, bitmap: 1: full, 2: disable agg TX, 4: disable agg RX, 8 enable agg TX (uint)
amsdu_size_8K:enable 8K amsdu size (default 0) (int)
fw_restart:restart firmware in case of error (default true) (bool)
antenna_coupling:specify antenna coupling in dB (defualt: 0 dB) (int)
wd_disable:Disable stuck queue watchdog timer 0=system default, 1=disable, 2=enable (default: 0) (int)
nvm_file:NVM file name (charp)
bt_coex_active:enable wifi/bt co-exist (default: enable) (bool)
led_mode:0=system default, 1=On(RF On)/Off(RF Off), 2=blinking, 3=Off (default: 0) (int)
power_save:enable WiFi power management (default: disable) (bool)
power_level:default power save level (range from 1 - 5, default: 1) (int)
Und hier ist auch schon der gute Parameter “11n_disable” zu sehen.
Ich hoffe ihr könnt mit diesem Wissen auch eure WLAN Problem selbst beheben.