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  2006-05-31 21:43:42

  dpspider - Nowy użytkownik

dpspider
Nowy użytkownik
Skąd: Dąbrowa Górnicza
Zarejestrowany: 2006-05-31

Usypianie laptopa - problem z acpid i przyciskiem sleep

Witam.

Posiadam laptopa Acer Aspire 5021 WLMi. Mam zainstalowanego Debiana Etch (x86) z kernelem 2.6.15 (kompilowałem pod tego laptopa).
Przed włączeniem trybu uśpienia (do pamięci, tylko ten tryb mnie interesuje) muszę odłączyć od jądra moduł do karty sieciowej, a później po wznowieniu spowrotem załadować ten moduł i zrestartować usługę 'networking'. To jest konieczne bo w przeciwnym wypadku laptop, po wznowieniu, najczęściej wiesza się po pierwszym odwołaniu do karty sieciowej. Z samymi poleceniami nie mam problemu. Chciałbym jednak te czynności zautomatyzować. Otwieranie konsoli za każdym razem przed wejściem w stan uśpienia trochę mnie irytuje.

Wiem, że można do tego wykorzystać daemona acpid, znalazłem odpowiednie miejsca w katalogu /etc/acpi/ i wiem co tam dopisać. Niestety po pciśnięciu przycisku sleep (Fn + F4) nic się nie dzieje, nie ma też odpowiedniego wpisu w pliku /var/log/acpid. Przyciski Power i Lid (wskazuje opuszczenie/podniesienie ekranu) działają bez zarzutu i wpisy w var/log/acpid pojawiają się. Nie chcę jednak usypiać komputera przez pokrywę a tym bardziej przez przycisk zamknięcia. Nadmienię, że w /proc/acpi/button jest widoczny przycisk sleep.
Do katalogu /etc/acpi/events/ dodałem plik sleepbtn o zawartości:

Kod:

# /etc/acpi/events/sleepbtn
# This is called when the user presses the sleep button and calls
# /etc/acpi/sleepbtn.sh for further processing.


event=button[ /]sleep
action=/etc/acpi/sleepbtn.sh

Do katolu /etc/acpi/ dodałe plik sleepbtn.sh o zawartości

Kod:

#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.

echo "Sleep: Usypianie......."

/etc/init.d/network stop
/sbin/rmmod r8169
/bin/echo -n mem > /sys/power/state

Wiem, że nie ma tam jeszcze przywracania sieci po wznowieniu. Na to mam narazie tylko koncepcję z wykorzystaniem cron'a.

Myślałem, że za problem z przyciskiem sleep może być odpowiedzialne dodatkowe mapowanie klawiatury pod tego laptopa, które znalazłem na necie, ale jak to wyłączyłem to nic się nie zmieniło. Acpid nadal nie wykrywa wciśnięcia przycisku sleep. W tym dodatkowym skrypcie do mapowania klawiatury jest taki komentarz dotyczący przycisku sleep:

Kod:

# Fn + Z is 142 and handled out of the box 

Pozostałe przyciski są definowane tak (tylko przykład)

Kod:

# Fn + Touchpad Switch
   /usr/bin/setkeycodes e071 143 1>&2

Rozwiązanie alternatywnym może być użycie narzędzia dostępnego w KDE - KLaptop. Nie mogę jednak znaleźć żadnych plików konfiguracyjnych do KLaptop.

Myślę, że już dość obszernie opisałem mój problem.
Czy ktoś wie co może powodować brak reakcji daemona acpid na wciśnięcie przycisku sleep i jak to mogę rozwiązać?

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.009 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00011 SET CHARSET latin2
0.00005 SET NAMES latin2
0.00129 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.135.193.70' WHERE u.id=1
0.00069 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.135.193.70', 1738324616)
0.00049 SELECT * FROM punbb_online WHERE logged<1738324316
0.00087 DELETE FROM punbb_online WHERE ident='3.135.184.218'
0.00049 SELECT topic_id FROM punbb_posts WHERE id=30670
0.00059 SELECT id FROM punbb_posts WHERE topic_id=3895 ORDER BY posted
0.00073 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=3895 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00092 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=3895 ORDER BY p.id LIMIT 0,25
0.00098 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=3895
Total query time: 0.00729 s