Stałe wejście zerowe

1

Mam Lenovo Ideapad 700 z Antergos. Wygląda na to, że co sekundę jest stałe wejście, co uniemożliwia mi przewijanie w terminalu lub używanie tty. To jest wyjście za pomocą

$ xev
KeyPress event, serial 38, synthetic NO, window 0x5400001,  
root 0x153, subw 0x0, time 7416716, (262,3), root:(1124,458),  
state 0x0, keycode 221 (keysym 0x0, NoSymbol), same_screen YES,  
XLookupString gives 0 bytes:   
XmbLookupString gives 0 bytes:   
XFilterEvent returns: False 

Próbowałem już wyłączyć blokadę Fn w BIOS-ie, ale to nie pomogło. Czy ktoś wie, jak to naprawić lub uzyskać dalsze informacje, skąd pochodzi to wejście?

twinrix
źródło
1
Czy możesz sprawdzić sudo modprobe -rv peaq_wmi?
grawity
@ grawity Wyjście jest rmmod peaq_wmi rmmod input_polldev
twinrix
Właśnie zauważyłem, że twoje polecenie to naprawiło, wielkie dzięki! Czy chcesz ponownie opublikować go jako odpowiedź, aby zaakceptować go jako poprawny?
twinrix

Odpowiedzi:

2

Jądro Linuksa 4.13 wprowadziło peaq_wmi sterownik, który obsługuje skróty klawiszowe na tabletach PEAQ (szczególnie przycisk „Dolby” na PEAQ PMM C1010).

Sterownik jest ładowany dla określonego identyfikatora GUI obiektu WMI, który znajduje się w oprogramowaniu systemowym (w tabelach ACPI). Niestety, twórcy oprogramowania sprzętowego PEAQ nie wygenerowali unikalnego identyfikatora GUID - po prostu skopiowali go z Microsoft próba Sterownik WMI.

Niestety, nie byli oni jedynym producentem, który to zrobił - ten sam identyfikator GUI WMI można znaleźć w oprogramowaniu Lenovo, które oczywiście ma zupełnie inne znaczenie. Gdy sterownik zostanie załadowany do niekompatybilnego systemu, otrzymuje wynik śmieci i myśli, że przycisk jest zawsze wciśnięty.

Również niestety, aktualne oprogramowanie sprzętowe PEAQ nie powiadamia systemu operacyjnego za każdym naciśnięciem przycisku; zamiast tego system operacyjny musi wielokrotnie sprawdzać swój status. Tak więc kierowca ciągle otrzymuje ten sam wynik śmieci co sekundę.

Kierowca był ostatnio naprawiony aby sprawdzić również nazwę producenta systemu, a poprawka powinna wkrótce dotrzeć do stabilnych jąder (4.14.x, 4.13.x). W międzyczasie możesz usunąć moduł, używając:

modprobe -r peaq_wmi

i / lub czarna lista za pośrednictwem /etc/modprobe.d lub za pomocą parametru jądra:

modprobe.blacklist=peaq_wmi

W przyszłości do debugowania takich problemów użyj narzędzi, które zgłaszają poszczególne urządzenia wejściowe; na przykład, evemu-record lub libinput debug-events. (The xinput narzędzie może to zrobić również w X11.) Może to zawęzić do konkretnego sterownika.

(Lub możesz przejść przez wszystkie zatwierdzenia Git z 4.12 do 4.13, aż znajdziesz taki, który sprawia, że ​​myślisz „ten nowy moduł wygląda zabawnie, zastanawiam się, co się dzieje, gdy go rozładujesz” )

grawity
źródło