Diagnostika hardwarových problémů na systémech Linux mi není cizí. I když většina mé profesionální práce za posledních několik let zahrnovala virtualizaci, stále mě baví krčit se pod stolem a hrabat se se zařízeními a paměťovými moduly. Tedy, kromě té části "krčení pod stoly". Ale nic z toho neznamená, že přetrvávající a záhadné chyby nejsou frustrující. Nedávno jsem čelil jedné z těchto chyb na své pracovní stanici Ubuntu 18.04, která zůstávala měsíce nevyřešená.
Zde se podělím o svůj problém a mnoho pokusů o jeho vyřešení. I když se pravděpodobně nikdy nesetkáte s mým konkrétním problémem, proces odstraňování problémů může být užitečný. A kromě toho si užijete pocit samolibosti nad tím, kolik času a úsilí jsem promarnil sledováním zbytečných vodítek.
Všechno to začalo, když jsem si všiml, že latence sítě a rychlost stahování na mé pracovní stanici jsou hrozné. No, nech mě zpátky. Opravdu to začalo před několika lety, když jsem se přestěhoval a nemohl jsem se obtěžovat protáhnout kabelem přes můj nový domov do všech místností, které by potřebovaly připojení. Místo toho jsem si koupil spoustu USB WiFi adaptérů. Výkon nebyl tak dobrý jako Ethernet, ale byl dost dobrý – obvykle mezi 2Mbps a 4Mbps mezi počítači.
Ale pak jednoho pošmourného zimního dne se připojení k mé pracovní stanici zhoršilo. Pokud jsem mohl soudit, zdálo se, že to zasáhlo přibližně v době, kdy jsem nakrátko uvedl své rozhraní do režimu monitoru, abych experimentoval se síťovým čicháním. Latence byla nyní vysoká, často jsem měl štěstí na rychlost stahování 300 kb/s a ifconfig hlásil vysoký počet chyb přenosu. Bylo to tak špatné, že jsem si pravidelně stahoval větší internetové balíčky do notebooku a přenášel je na svou pracovní stanici pomocí USB. Co je to za století?
Odstranění nemožného
Mohlo se moje USB WiFi rozhraní časem zhoršit? Žádný problém:po domě je jich pravděpodobně 10 – všechny různé modely. Zkusil jsem tedy dva nebo tři další, ale s podobně depresivními výsledky.
Linuxový terminál
- 7 nejlepších emulátorů terminálu pro Linux
- 10 nástrojů příkazového řádku pro analýzu dat v systému Linux
- Stáhnout nyní:SSH cheat sheet
- Cheat sheet pro pokročilé příkazy systému Linux
- Výukové programy příkazového řádku systému Linux
I když to bylo dlouhé, neuškodilo zkontrolovat připojení ke službě ISP. Několik webových stránek pro testování rychlosti DSL potvrdilo, že můj poskytovatel mi dal vše, co řekl. Možná za to mohl WiFi router poskytnutý mým ISP. Ani náhodou. Notebook získával dobré připojení ke stejnému routeru, i když seděl hned vedle pracovní stanice.
Byl jsem si jistý, že jde o problém s WiFi? Možná to byl obecný problém se sítí. Abych to zjistil, spojil jsem dva staré kabely CAT5 a vedl je od routeru, pod jídelním stolem, přes obývací pokoj, přes chodbu a do mé kanceláře. Spokojenost s okamžitým připojením:25 Mbps stahování. Ale cítil jsem, že z dlouhodobého hlediska by manželka nemusela dobře reagovat na kabel v jídelně. Není to řešení, ale potvrdilo, že problém byl specifický pro WiFi.
Popletl si můj krátký přechod do monitorovacího režimu nějaké nejasné nastavení WPA_supplicant? (WPA_supplicant je balíček pro správu klientských připojení pomocí protokolu WPA, WiFi Protected Access.) Nejrychlejším způsobem, jak to s jistotou zjistit, bylo nabootovat moji pracovní stanici do živé relace USB Ubuntu a získat tak nedotčený operační systém připravený přímo z krabice. Výsledek? I při použití živé relace jsem stále měl špatnou konektivitu. Což do značné míry vylučovalo softwarové konfigurace, že?
Co tedy zbývá? V zoufalství jsem poslal e-mail starému příteli, který mi dal několik logických návrhů, včetně kontroly chyb dmesg, konfliktních ovladačů lsmod a verzí firmwaru mých bezdrátových čipových sad. Vzhledem k tomu, jak velkého pokroku bylo za posledních několik let dosaženo začleněním tak široké škály WiFi čipových sad do linuxového jádra – a jak komplikované by mohlo být ponořit se do verze firmwaru králičí díra –, přeskočil jsem poslední položku a doufal v nejlepší .
Nakonec mi můj přítel poradil, abych vyčistil wpa_supplicant a znovu jej nainstaloval. Tento bit „přeinstalace“ by mohl být ošemetný, vezmeme-li v úvahu, že v této fázi nebudu mít žádné WiFi připojení. Ale jde to. Tak jsem to udělal a opravdu se moje spojení zlepšilo... na týden nebo tak. Pak to bylo zpět do doby temna 250 kbps.
Zoufalý jsem zkusil odinstalovat NetworkManager a nahradit jej balíčkem Wicd. Dva zajímavé postřehy k tomu:
- Věděli jste, že odinstalování NetworkManageru v GNOME 3 automaticky způsobí odinstalaci i gnome-control-center? To je mimochodem považováno za funkci, nikoli za chybu.
- A věděli jste, proč Wicd není výchozím nástrojem WiFi používaným u všech linuxových distribucí, které znám? Nyní jsem si docela jistý, že – i když to může být v některých okrajových scénářích záchrana života – je to proto, že modul s větší pravděpodobností zavede spoustu nepříjemných chyb.
Nový hardware, stejný starý problém
Takže tam věci stály několik nepříjemných týdnů, dokud jsem se z většinou nesouvisejících důvodů rozhodl postavit náhradní pracovní stanici.
Naštěstí moje spojení s novým strojem bylo robustní. Dokud tomu tak nebylo.
Během pár dní jsem se vrátil ke sledování internetu přes hustou mlhu. Rychlostní testy mi ukázaly, že jsem měl latenci v rozsahu 100 ms a přenosové rychlosti byly smrtelně pomalé. Co se dělo? Jediný kus hardwaru, který oba stroje sdílely, byl napájecí zdroj a v žádném případě to zde nehrálo roli.
Ve skutečnosti mi upgrade pracovní stanice věci zjednodušil, protože vyřadil téměř všechno. A jak skvěle řekl Sherlock Holmes, když vyloučíte nemožné, zbývá to, co je pravděpodobné.
Co tedy zbylo? Byla tam opravdu jen jedna věc, ale trvalo to všechny ty slepé uličky a neúspěchy, než jsem se k tomu dostal. Protože moje pracovní stanice žije pod mým stolem, a protože příjem WiFi může trpět za příliš mnoha fyzickými překážkami, chtěl jsem zvednout svůj USB WiFi adaptér co nejvýše. Abych to udělal, připojil jsem ho ke své pracovní stanici přes třístopý USB extender a posadil jsem ho na povrch svého stolu. V tušení jsem vytáhl extender a zapojil adaptér přímo do jednoho z integrovaných portů USB.
Okamžitý úspěch. Možná, že použití extenderu byl od začátku špatný nápad, nebo spíše časem degradoval, ale všechno teď vesele hučelo. Vsadím se, že jste ten konec neuhádli. Já určitě ne.