Portál AbcLinuxu, 6. května 2024 20:58

Podozrenie na bug v nouveau.

28.12.2013 23:38 | Přečteno: 1319× | bug ? | poslední úprava: 29.12.2013 16:29

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.

Úvod

Popis problému

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.

Hladanie príčiny

Debug

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.

modul netconsole

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.

Zistená príčina

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.

Možné riešenia

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.

Konečné riešenie

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.

Záver

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.

EDIT

29.12.2013 16:27 - pridanie ďalšieho riešenia problému.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

David Heidelberg avatar 29.12.2013 00:26 David Heidelberg | skóre: 46 | blog: blog_
Rozbalit Rozbalit vše Re: Podozrenie na bug v nouveau.
Odpovědět | Sbalit | Link | Blokovat | Admin
zkoušel si napsat na ml? Případně skoč na IRC #nouveau a zkus pokecat s vývojáři, ale 3.2 je dost staré jádro, předpokládám že potřebuješ 3.2, ale pokud náhodou ne, zkus novější třeba 3.4 nebo nejlépe 3.10 :)
Mobilní telefony a tablety s GNU/Linuxem v roce 2020. Proč byste se měli zajímat?
David Heidelberg avatar 29.12.2013 00:31 David Heidelberg | skóre: 46 | blog: blog_
Rozbalit Rozbalit vše Re: Podozrenie na bug v nouveau.
ale dost by mě zajímalo proč si zvolil TNT2? hry na tom asi hrát nebudeš, že? :D
29.12.2013 00:34 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: Podozrenie na bug v nouveau.

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.

Root v linuxe : "Root povedal, linux vykona."
Jendа avatar 29.12.2013 06:46 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Podozrenie na bug v nouveau.
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 :).
Jendа avatar 29.12.2013 06:43 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Podozrenie na bug v nouveau.
Odpovědět | Sbalit | Link | Blokovat | Admin
Co máš za Xka? TNT2 podporoval pouze nějaký starý binární ovladač a na novém Debianu už mi to nešlo.
Já to s tou denacifikací Slovenska myslel vážně.
29.12.2013 16:30 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: Podozrenie na bug v nouveau.
Odpovědět | Sbalit | Link | Blokovat | Admin

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.

Root v linuxe : "Root povedal, linux vykona."
David Heidelberg avatar 29.12.2013 16:45 David Heidelberg | skóre: 46 | blog: blog_
Rozbalit Rozbalit vše Re: Podozrenie na bug v nouveau.
rivafb (nebo jak se to jmenuje) != nouveau. Nouveau je komplexní ovladač, přičemž rivafb je jen primitivní framebuffer :)

Zeptal ses už na IRC čím by to mohlo být?
29.12.2013 17:15 ewew | skóre: 40 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: Podozrenie na bug v nouveau.

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.

Root v linuxe : "Root povedal, linux vykona."
David Heidelberg avatar 29.12.2013 17:33 David Heidelberg | skóre: 46 | blog: blog_
Rozbalit Rozbalit vše Re: Podozrenie na bug v nouveau.
problém nezmizel, nomodeset jen vypne KMS (a tedy ovladače od grafiky, pokud si pamatuji dobře). Ten problém je v Nouveau.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.