Siec

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:

  1. Wyłączyć knetworkmanagera
  2. Wywalić z jądra linuksa moduły odopwiadające za karty sieciowe.
  3. Włączyć te moduły
  4. 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.

O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License