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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-03-01 08:05:00

  pioki - Użytkownik

pioki
Użytkownik
Zarejestrowany: 2010-04-10

kernel i acpi - problem z konfiguracją

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:

Kod:

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:

Kod:

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 [url=http://wklej.org/id/1286404/]plik config[/url]

Kod:

video 0VGA 00000080 00000000
video DD03 00000087 00000000
video DD03 00000086 00000000

Regulacja podświetlenia działa

Kernel 3.10.32 [url=http://wklej.org/id/1286405/]zmiany w stosunku do poprzedniego pliku config[/url]

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

 

#2  2014-03-01 11:14:08

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: kernel i acpi - problem z konfiguracją

Rzuć okiem na ten wątek (cały):
http://forum.dug.net.pl/viewtopic.php?id=20515

Chyba powinien pomóc.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2014-03-05 07:12:04

  pioki - Użytkownik

pioki
Użytkownik
Zarejestrowany: 2010-04-10

Re: kernel i acpi - problem z konfiguracją

[quote=Jacekalex]Rzuć okiem na ten wątek (cały):
http://forum.dug.net.pl/viewtopic.php?id=20515

Chyba powinien pomóc.[/quote]
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

 

#4  2014-03-05 09:16:45

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: kernel i acpi - problem z konfiguracją

Sprawdź który sterownik za to u Ciebie odpowiada:

Kod:

[    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.[/quote]
Domyślam się, że w pierwszym przypadku działa sterownik producenta, w drugim standardowy sterownik acpi.

Pobaw się wpisem w Grubie [tt]acpi_backlight=[/tt]

Offline

 

#5  2014-03-05 21:16:14

  pioki - Użytkownik

pioki
Użytkownik
Zarejestrowany: 2010-04-10

Re: kernel i acpi - problem z konfiguracją

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

 

#6  2014-03-05 21:31:22

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: kernel i acpi - problem z konfiguracją

Pokaż co  tam tym steruje:

Kod:

ls /sys/class/backlight/

Wrzuć gdzieś cały [tt]dmesg[/tt]
Jaka masz kartę graficzną?
Sprawdź jeszcze taki parametr:

Kod:

video.use_native_backlight=1

Ostatnio edytowany przez yossarian (2014-03-05 21:33:14)

Offline

 

#7  2014-03-06 09:07:23

  pioki - Użytkownik

pioki
Użytkownik
Zarejestrowany: 2010-04-10

Re: kernel i acpi - problem z konfiguracją

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: [url=http://wklej.org/id/1291134/]3.2 Wheezy[/url], [url=http://wklej.org/id/1291130/]3.12 backporty[/url], [url=http://wklej.org/id/1291132/]3.12.13 LFS 7.4 i915 wbudowany na stałe[/url].

Ten parametr nic nie robi, albo ja coś robię źle.

Offline

 

#8  2014-03-06 20:37:29

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: kernel i acpi - problem z konfiguracją

Sprawdź jeszcze czy da się to kontrolować za pomocą pliku [tt]brightness[/tt] 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[/quote]

Offline

 

#9  2014-03-07 08:57:24

  pioki - Użytkownik

pioki
Użytkownik
Zarejestrowany: 2010-04-10

Re: kernel i acpi - problem z konfiguracją

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

 

#10  2014-03-07 16:27:38

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: kernel i acpi - problem z konfiguracją

[quote=pioki]Użytkownik root przy pomocy komendy `echo 4 > /sys/class/backlight/acpi_video0/brightness` może kontrolować wartość podświetlenia (z zakresu 0-7).[/quote]
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).[/quote]
Skoro zarządzają tym dwa różne narzędzia, to zachowanie też jest różne.

[url=https://wiki.archlinux.org/index.php/backlight#ACPI]Tu[/url] piszą, że parametr [tt]video.use_native_backlight=1[/tt] 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

 

#11  2014-03-07 21:56:16

  pioki - Użytkownik

pioki
Użytkownik
Zarejestrowany: 2010-04-10

Re: kernel i acpi - problem z konfiguracją

Na razie przerobiłem trochę podane przez Ciebie skryty i tak:

c650_jasniej

Kod:

event=video/brightnessup BRTUP 00000086 00000000 K
action=/etc/acpi/c650-jasniej.sh

c650_ciemniej

Kod:

event=video/brightnessdown BRTDN 00000087 00000000 K
action=/etc/acpi/c650-ciemniej.sh

i analogiczne skrypty:

c650-jasniej.sh

Kod:

#!/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

Kod:

#!/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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.012 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00012 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00149 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.138.170.67' WHERE u.id=1
0.00073 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.138.170.67', 1732364694)
0.00041 SELECT * FROM punbb_online WHERE logged<1732364394
0.00048 SELECT topic_id FROM punbb_posts WHERE id=259383
0.00008 SELECT id FROM punbb_posts WHERE topic_id=25360 ORDER BY posted
0.00045 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25360 AND t.moved_to IS NULL
0.00011 SELECT search_for, replace_with FROM punbb_censoring
0.00259 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25360 ORDER BY p.id LIMIT 0,25
0.00096 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25360
Total query time: 0.00746 s