Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
Ostatnio bawię się trochę z LFS 7.4 i w związku z tym stanąłem przed zadaniem samodzielnego skompilowania jądra Linuksa. Mam problem z właściwą konfiguracją acpi - wykrywanie wciśnięcia przycisków. Mój sprzęt to Toshiba 650C-15J.
Poniżej zamieszczam wyniki polecenia acpi_listen:
Jak to wygląda w Debianie.
Wersja stabilna:
button/sleep SBTN 00000080 00000000 K video/switchmode VMOD 00000080 00000000 video/brightnessdown BRTDN 00000087 00000000 video/brightnessup BRTUP 00000086 00000000 button/volumedown VOLDN 00000080 00000000 K button/volumeup VOLUP 00000080 00000000 K
Regulacja podświetlania w powłoce działa.
Kernel z backportów:
button/screenlock SCRNLCK 00000080 00000000 K button/battery BAT 00000080 00000000 K button/sleep SBTN 00000080 00000000 K button/suspend SUSP 00000080 00000000 K video/switchmode VMOD 00000080 00000000 K video/brightnessdown BRTDN 00000087 00000000 K video/brightnessup BRTUP 00000086 00000000 K button/wlan WLAN 00000080 00000000 K button/volumedown VOLDN 00000080 00000000 K button/volumeup VOLUP 00000080 00000000 K
Regulacja podświetlania w powłoce nie działa.
Teraz moje próby.
Kernel 3.10.31 plik config
video 0VGA 00000080 00000000 video DD03 00000087 00000000 video DD03 00000086 00000000
Regulacja podświetlenia działa
Kernel 3.10.32 zmiany w stosunku do poprzedniego pliku config
I acpi_listen nie wykrywa wciśnięcia przycisków (puste wyjście), jak się można spodziewać regulacja podświetlenia nie działa.
Moje pytanie, na co w tym wypadku zwrócić uwagę przy konfiguracji kernela? Bo ja prawdę mówiąc to już się pogubiłem co od czego zależy.
Offline
Rzuć okiem na ten wątek (cały):
http://forum.dug.net.pl/viewtopic.php?id=20515
Chyba powinien pomóc.
Offline
Jacekalex napisał(-a):
Rzuć okiem na ten wątek (cały):
http://forum.dug.net.pl/viewtopic.php?id=20515
Chyba powinien pomóc.
Pobieżnie przejrzałem. Nie do końca chyba dotyczy mego problemu...
W każdym bądź razie, ściągnąłem źródła kernela 3.12.13, bazując na jądrze z backportów (i jego configu) dokonałem drobnych zmian - wyrzuciłem niezaładowane moduły, kilka zostało wkompilowanych na stałe. Obecnie acpi_listen pokazuje coś podobnego do kernela z backportów na Wheezy.
Podświetlenie w konsoli po załadowaniu systemu nie działa. Działa natomiast po załadowaniu sterownika karty graficznej, a przed tworzeniem listy urządzeń w /dev (LFS 7.4 ma trochę inny porządek startu niż Debian), potem przestaje.
Z testów na jądrze z backportów w Debianie, regulacja podświetlenia działa po zalogowaniu w XFCE (w Openboksie, Trinity i powłoce już nie). Natomiast na jądrze z wersji stabilnej (3.2) działa wszędzie.
Ja już nie mam pomysłów, jakieś sugestie? Ewentualnie gdzie można doczytać o tym acpi?
W sumie bardziej mi zależy żeby się czegoś dowiedzieć, niż żeby mi to zaczęło działać ;)
Dopisek. Podświetlenie w sensie "regulacja jasności podświetlenia".
Ostatnio edytowany przez pioki (2014-03-05 07:22:09)
Offline
Sprawdź który sterownik za to u Ciebie odpowiada:
[ 2.461668] thinkpad_acpi: detected a 8-level brightness capable ThinkPad [ 2.827720] thinkpad_acpi: This ThinkPad has standard ACPI backlight brightness control, supported by the ACPI video driver [ 2.827721] thinkpad_acpi: Disabling thinkpad-acpi brightness events by default... [ 3.602399] thinkpad_acpi: Standard ACPI backlight interface available, not loading native one
Z testów na jądrze z backportów w Debianie, regulacja podświetlenia działa po zalogowaniu w XFCE (w Openboksie, Trinity i powłoce już nie). Natomiast na jądrze z wersji stabilnej (3.2) działa wszędzie.
Domyślam się, że w pierwszym przypadku działa sterownik producenta, w drugim standardowy sterownik acpi.
Pobaw się wpisem w Grubie acpi_backlight=
Offline
Wygląda na to, że miałeś rację. Sprawcą zamieszania wydaje się być moduł "toshiba_acpi". Po dodaniu go do czarnej listy (samo wyładowanie nie pomaga) na nowszym kernelu acpi_listen pokazuje podobne zdarzenia do wersji stabilnej (gdzie mimo, że jest załadowany wydaje się nie działać) i regulacja podświetlenia działa. Co prawda po tej czynności tracę dostęp do zdarzeń SCRNLCK, BAT, SUSP, VMOD, WLAN.... Nie wiem na ile poprawne jest to rozwiązanie.
Jeśli chodzi o parametr acpi_backlight to jak wyczytałem może przyjmować dwie wartości: vendor bądź video. W moim przypadku nie przyniosło to pozytywnych rezultatów: pierwszy parametr powodował "całkowite" wyłączenie możliwości regulacji podświetlenia, drugi nic nie zmieniał.
Pozdrawiam.
Offline
Pokaż co tam tym steruje:
ls /sys/class/backlight/
Wrzuć gdzieś cały dmesg
Jaka masz kartę graficzną?
Sprawdź jeszcze taki parametr:
video.use_native_backlight=1
Ostatnio edytowany przez yossarian (2014-03-05 21:33:14)
Offline
Karta graficzna to intel 4500m, sterownik i915.
Wynik polecenia `ls /sys/class/backlight` to dla jądra 3.2 (z Debiana stabilnego): acpi_video0 intel_backlight toshiba, dla jądra z backportów tylko dwa pierwsze.
Dmesg: 3.2 Wheezy, 3.12 backporty, 3.12.13 LFS 7.4 i915 wbudowany na stałe.
Ten parametr nic nie robi, albo ja coś robię źle.
Offline
Sprawdź jeszcze czy da się to kontrolować za pomocą pliku brightness w katalogach acpi_video0 lub intel_backlight (to przy używaniu standardowego sterownika acpi).
Ja nie zadziała to trzeba będzie pokombinować z tym modułem toshiba_acpi i ustawieniu acpi_backlight=vendor. Widać, że brakuje tam katalogu /sys/class/backlight/toshiba.
Wywal z Gruba wpisy acpi_osi=xxx To rzadko działa, a może powodować problemy.
[Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
Offline
Użytkownik root przy pomocy komendy `echo 4 > /sys/class/backlight/acpi_video0/brightness` może kontrolować wartość podświetlenia (z zakresu 0-7).
Jeśli chodzi o acpi_osi to nie mam takich wpisów w grubie, chyba że dodają się jakoś automagicznie...
Zastanawia mnie to działanie zmiany podświetlenia po zalogowaniu w xfce: przed załadowaniem modułu toshiba_acpi naciśnięcie przycisku zmienia poziom o 2 jednostki, po załadowaniu o 1). I czemu po jego załadowaniu w acpi_listen pojawia się na końcu znak "K" (jak w logach w pierwszym poście).
Offline
pioki napisał(-a):
Użytkownik root przy pomocy komendy `echo 4 > /sys/class/backlight/acpi_video0/brightness` może kontrolować wartość podświetlenia (z zakresu 0-7).
Sprawdź czy masz jakieś specjalne ustawienia dla Toshiby w /etc/acpi.
W sumie możesz sobie sam je dorobić wg tego przykładu:
https://github.com/codingtony/acer-brightness-linux-acpi
Zastanawia mnie to działanie zmiany podświetlenia po zalogowaniu w xfce: przed załadowaniem modułu toshiba_acpi naciśnięcie przycisku zmienia poziom o 2 jednostki, po załadowaniu o 1). I czemu po jego załadowaniu w acpi_listen pojawia się na końcu znak "K" (jak w logach w pierwszym poście).
Skoro zarządzają tym dwa różne narzędzia, to zachowanie też jest różne.
Tu piszą, że parametr video.use_native_backlight=1 działa od 3.13.
W ogóle pokombinuj z różnymi wersjami kernela bo wygląda na jakiś problem z tym modułem toshiba_acpi. Może na innych/nowszych wersjach jądra działa to lepiej.
Tam na wiki masz trochę więcej informacji o tym.
Ostatnio edytowany przez yossarian (2014-03-07 16:40:37)
Offline
Na razie przerobiłem trochę podane przez Ciebie skryty i tak:
c650_jasniej
event=video/brightnessup BRTUP 00000086 00000000 K action=/etc/acpi/c650-jasniej.sh
c650_ciemniej
event=video/brightnessdown BRTDN 00000087 00000000 K action=/etc/acpi/c650-ciemniej.sh
i analogiczne skrypty:
c650-jasniej.sh
#!/bin/bash max=$(cat /sys/class/backlight/acpi_video0/max_brightness) poziom=$(cat /sys/class/backlight/acpi_video0/actual_brightness) if [ $poziom -lt $max ]; then poziom=$((poziom+1)) else poziom=$max fi echo $poziom > /sys/class/backlight/acpi_video0/brightness
c650-ciemniej.sh
#!/bin/bash poziom=$(cat /sys/class/backlight/acpi_video0/actual_brightness) if [ $poziom -gt 0 ]; then poziom=$((poziom-1)) else poziom=0 fi echo $poziom > /sys/class/backlight/acpi_video0/brightness
I wydaje się działać - no tym razem z wyjątkiem xfce gdzie zachowuje się odrobinę nieprzewidywalnie.
Jeśli chodzi o konfigurację Debiana, to obawiam się, że jest ona dla mnie zbyt mądra...
To może nie do końca wina modułu toshiba_acpi, co serii C650 - od początku były z nią problemy. Przykładowo "normalne" modele toshiby obsługują moduły acpi: toshiba i toshiba_acpi - u mnie załadowanie modułu toshiba powoduje błąd (niezgodność biosu czy coś takiego). W sumie dziwię się, że ten drugi jakoś działa ;)
Na razie testowałem 3.2, 3.10 i 3.12.
No nic, będę się musiał w to jeszcze trochę wgryźć.
Dzięki za pomoc.
Offline