"Usínající" klávesnice u notebooku

Veros Kaplan xkaplan na informatics.muni.cz
Pondělí Únor 7 12:12:57 CET 2000


Krásného dne přeji,

V KOSTCE:
instaloval jsem Linux na notebook Compaq Contura 400 a narazil jsem na
problém s usínáním klávesnice. Klávesnice po nedeterministicky dlouhé době
(10s až 10min) usne a přestane reagovat i přesto, ze je zakázané šetření
energií.

Ostatní součástky nejspíš neusínají (disk hrčí, sériový port reaguje,
display zobrazuje, procesor žije - jiné nevím). Je zajímavé, že tato
situace v DOSu nenastává. Napadá někoho, kde může být zakopán pes?

DELŠÍ:
Problém je pravděpodobně v jiním přístupu DOSu a Linuxu ke klávesnici.
Dalo by se to ošetřit patchem do jádra, ale nevím přesně, co by měl
dělat :-(

DOS: Standardní ovladač klávesnice je v BIOSu a při stisku klávesy
překládá ScanCode na ASCII-hodnotu a ukládá je do bufferu klávesnice
(vyhrazená oblast někde v paměti). DOS pro klávesy chodí přes rutinu
BIOSu, která tahá znaky z tohoto bufferu.

Linux: Funguje to podobně, ovladač klávesnice sedí na přerušení, chytá
klávesy a sází je do vlastních bufferů (pro každou VC jeden).

Rozdíl by mohl být v tom, že při stisku klávesy v DOSu se volá
přerušení, na kterém by teoreticky mohl viset "probouzeč" klávesnice.
Windows3 toto přerušení ale také přepisují a neusínají.

Druhá myšlenka: většina DOSových ovladačů klávesnice zapisuje klávesy do
bufferu klávesnice, je možné, že by si počítač hlídal zápis do této
oblasti paměti? Jako řešení mi to připadá dost krkolomné a nevím, zda je
to vůbec reálné.

Zkoušel jsem to s kernelem 2.0.29 (nesmějte se mi)
Zkoumal jsem Laptop-HOWTO, ale nic o tomto problému jsem se tam
nedozvěděl, na počítači žádné APM neexistuje (model 7let starý).
battery-Powered mini-HOWTO také nic nepraví.

S pozdravem
--
Věroš Kaplan <xkaplan na informatics.muni.cz>    http://www.fi.muni.cz/~xkaplan/
ISO-8859-2 compatible                           ministerstvo medvědích služeb
"Po rozhovoru s ním jsem měl deník plný poznámek. Celou dobu mlčel."


Další informace o konferenci Linux