Od kiedy przestałem wyłączać laptopa — suspenduje go tylko na czas podróży1, jedna rzecz losowo przestaje działać — sieci.
Symptomy są takie że knetworkmanager wskazuje mi że się łączy, ale nie uzyskuje połączenia.
Resetowanie knwetworkmanagera nie specjalnie pomaga.
Mi pomaga taka magia:
- Wyłączyć knetworkmanagera
- Wywalić z jądra linuksa moduły odopwiadające za karty sieciowe.
- Włączyć te moduły
- Włączeyć knetworkmanagera
Po kolei:
Skąd mam wiedzieć jakie moduły odpowiadają za karty sieciowe
Możesz spytać lokalnego guru linuksa.
Możesz spróbować te które dla mnie dają radę.
Ale jest lepsze rozwiązanie: Jest takie polecenie dmesg które wyświetla logi jądra linuksa. Wykonanie jakiejś większej czynności powoduje wyplucie logów. Na szczęście włożenie wtyczki do gniazdka sieciowego, czy rozpoczęcie łączenia z siecią bezprzewodową spowoduje wyświetlenie w logach komunikatów. Na przykład kiedy wyjmę i włożę do komputera wtyczkę sieciową pojawią się następujące komunikaty:
[51519.972020] tg3: eth0: Link is down.
[51523.868542] tg3: eth0: Link is up at 100 Mbps, full duplex.
No i mogę wnioskować że jeśli jest moduł jądra o nazwie tg3 to odpowiada on za sieć kablową.
Jakie moduły za to odpowiadają u Ciebie
Sieć bezprzewodowa: iwl3945 i iwlwifi_mac80211.
Sieć przewodowa: tg3
Wyłączanie/włączanie modułów
Polecenie modprobe służy do zarządzania modułami jądra.
Wywala je się wpisując modprobe -r lista_modułów_do_wywalenia.
Włącza je wpisując to samo bez -r.
Uwaga:
Jeśli pomiędzy modułami są jakieś zależności to musisz je wyłączać/włączać w odpowiediej kojelności. Jeśli moduł A zależy od modułu B, to najpierw wyłączasz A a potem B (inaczej — możesz dostać błąd że nie można wyłączyć modułu B bo ten jest używany), włączasz je w odwrotnej kolejności (inaczej dostaniesz błąd).
Disclajmer
Grzebanie w jądrze może coś zepsuć. Zanim zaczniesz to robić zapisz swoją pracę, zbackupuj dane i tak dalej.
Nie odpowiadam z adekwatność tych danych,… choć u mnie działa.