Portál AbcLinuxu, 20. května 2025 23:15
V tomto blogu popíšem riešenie problému s ovladačom nouveau. Použité jadro je 3.2.53 s patchom grsecurity. Použitá grafika nvidia riva tnt2.
Tento problém sa prejavuje zastaveniu zobrazovanie informácii pri boote systému. Na prvý pohľad to vyzeralo na zaseknutie na neznámej chybe. Výstup na monitore zostal rovnaký po akomkoľvek vstupe z klávesnice.
Medzi možné príčiny som zaradi problém s RAM modulmi. Môj typ bol prvý pamäťový modul. Predpokládal som chybnú časť RAM, pretože boot zastavil vo fáze initrd. Po čase sa začala chyba objavovať častešie, tak došlo k výmene RAM, ale problém pretrvával. Pamätové moduli som testoval s memtest86+.
Ako ďalšie riešenie som zvolil modul netconsole. Modul netconsole dokáže pomocou UDP posielať správy z dmesg po LAN. Nevýhoda tohto modulu je, že nefunguje od zavedenia jadra zavadzačom, ale neskôr v boot sekvencii. Tento problém sa prejavuje len s patchom grsecurity.
Tento modul je bežne dostupný v jadre. Na rozbehnutie stačí pridať debug netconsole="ip adresy a porty zdroja a cieľu"
do boot cmd jadra.
Protistrana môže použiť nástroj na čítanie paketov. Napríklad nc -u -l -p port.
Podľa výstupu z dmesg došlo k uzamknutiu GPU. Podobnú hláška je zapisaná v bug reporte pri jadre 2.6. Nevylučujem, že príčina zaseknutia GPU v prípade spomínaného bug reportu nevyvoala úplne iná chyba. Ďalši krok jadra bol prechod na softvérový fb0 ale k tomu nedošlo z neznámej príčiny. Táto správa napovedala, že problém bude v grafickej karte. Na danom pc mám dostupný ssh server a pokus o pripojenie bol úspešny. To znamená, že systém nabehne normálne, len bez akéhokoľvek výstupu na monitor. Skúšal som softvérovo kartu odpojiť z systému ale došlo k opakovaniu uzamknutia.
Použíť boot parameter nomodeset
. Ďalšia zvláštnosť je, že problém neexistuje pri použití proprietarných ovladačoch. Medzi ďalší postup som zvolil inštaláciu ovladačov grafickej karty. Problém týmto zmizol.
Ako konečné riešenie som zvolil cestu proprietarných ovladačov. Tento spôsob má svoje úskalia. Napríklad ak chcem vymeniť iné jadro, ktoré je inštalované lokálne, mimo repozitára, musím odinštalovať ovladače. Po úspešnej výmene jadra môžem znovu nahodiť ovladač grafiky.
Ako ďalšie riešenie je zapnutie podpory framebuffera pre Nvidia Riva TNT2 v jadre.
V jadre zrejme problém nie je. Je možné, že patch ovplyvnil modul grafiky, čo spôsobilo lockup. Dǎlšia možnosť je špecifický bug grafiky ale ten by sa prejavil bez ohľadu na patch. Proprietarny ovladač asi neovplyvnuje patch, preto nedošlo k zaseknutiu. Celé je to divne, pretože som skúšal aj variantu s aplikovaným patchom ale s vypnutými ochranami. ccache to zrejme nespôsobilo, pretože by problém bol aj inom PC s nvidia grafikov. Používať non-free ovladač aby bola dostupná textová konzola je extrém.
29.12.2013 16:27 - pridanie ďalšieho riešenia problému.
Tiskni
Sdílej:
Hry nie. Je to určené na testovanie. Použitie iných ovladačov odstránilo uzamknutie GPU. Grafika nvidia MMX 440 nemá problém s tým.
ale dost by mě zajímalo proč si zvolil TNT2?A proč by si nezvolil? Třeba já jsem prostě potřeboval grafiku do desktopu, tak jsem sáhl v brmlabu do takové té velké krabice se šrotem :) a vytáhl TNT2. V čem přesně by to mělo být špatné? Na moje xtermy by stačila i S3, ale má málo paměti pro akceleraci videa (XVideo), vejde se tam jenom 352x288 :).
Pridal som ďalšie riešenie problému. Zrejme v defaulte nie je zapnutá podpora fb pre túto kartu. Dôvod môže byť špecifickosť komunikácie karty.
Ak som dal original jadro s patchom, tak grafika prestala fungovať. Keď som zapol spominanu voľbu v konfigurácii jadra, tak problém zmizol.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.