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/.
laptop przestal usypiac przy niskim stanie baterii
konfiguracja wedlug tego:
https://wiki.archlinux.org/index.php/laptop
i o ile plik testujacy discharging sie tworzy
cat /etc/udev/rules.d/98-discharging.rules SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", RUN+="/usr/bin/touch /home/przemo/discharging"
to juz samo usypianie przy niskim stanie baterii nie
cat /etc/udev/rules.d/99-lowbat.rules # Suspend the system when battery level drops to 5% or lower SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="10", RUN+="/usr/sbin/acpitool -s" SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="5", RUN+="/usr/sbin/pm-suspend" SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="2", RUN+="/usr/sbin/pm-suspend" SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="0", RUN+="/usr/sbin/pm-suspend"
z palca dziala i pm-suspend i acpitool -s
jakies pomysly????
Offline
W sumie to też chciałem sobie coś takiego zaimplementować i tak sobie patrzę i coś jest pochrzanione. xD
U mnie bateria wygląda tak:
root:~# udevadm info --path=/sys/class/power_supply/BAT0 P: /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 E: DEVPATH=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 E: POWER_SUPPLY_CAPACITY=95 E: POWER_SUPPLY_CAPACITY_LEVEL=Normal E: POWER_SUPPLY_CHARGE_FULL=3465000 E: POWER_SUPPLY_CHARGE_FULL_DESIGN=3465000 E: POWER_SUPPLY_CHARGE_NOW=3326000 E: POWER_SUPPLY_CYCLE_COUNT=0 E: POWER_SUPPLY_MANUFACTURER=HP E: POWER_SUPPLY_NAME=BAT0 E: POWER_SUPPLY_PRESENT=1 E: POWER_SUPPLY_STATUS=Charging E: POWER_SUPPLY_TECHNOLOGY=Li-ion E: POWER_SUPPLY_VOLTAGE_MIN_DESIGN=12005000 E: SUBSYSTEM=power_supply
I napisałem w oparciu o te zmienne regułkę:
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_STATUS}=="Discharging", ENV{POWER_SUPPLY_CAPACITY}=="95", RUN+="/usr/bin/acpitool --suspend"
Oczywiście jak bateria się rozładowała do 95%, nic się nie stało, a przy 94% wiedziałem, że już nic się nie stanie. xD
Jak było na 95% jeszcze to podłączyłem kabel i się laptop uśpił. xD Wybudziłem go i za chwilę zasnął znowu. xD I tak do chwili aż wybiło 96%.
Wychodzi na to, że nie ma triggera co by odpalał regułę hibernującą/usypiającą system. Dopiero w chwili podłączania/odłączania kabla taki trigger jest i to odpala regułę. Jak to fixnać to nie mam pojęcia ale też bym był ciekaw jak to rozwiązać.
Offline
mysle ze ten problem ma cos wspolnego z moim tabletem wacom ktory usypia system (modol wifi)
https://forum.dug.net.pl/viewtopic.php?pid=280643#p280643
obecnie po przeinstalowaniu wszystkich pakietow zwiazanych usypianie dziala ale tablet nie dziala jak trzeba tzn usypia system
na kernelu z repo jest ok .
nie moge wyciagnac konfiga z kernela na ktorym jest ok???
zcat /proc/config.gz > running.config gzip: /proc/config.gz: No such file or directory
Ostatnio edytowany przez pink (2014-12-30 13:57:53)
Offline
jak ktos ma dalej problemy z suspend i hibernacja to powrot do kernela 3.16 rozwiazal wszystkie problemy z wacom i usypianiem. happy new year.
Offline
Ja to sobie przez przypadek rozwiązałem przy pomocy upower. Gdzieś na necie wyczytałem, że ten upower potrafi zwracać czas potrzebny do rozładowania/naładowania baterii i dodatkowo potrafi podać ile wat pobiera laptp. W sumie to wygląda tak:
morfik:~$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 native-path: BAT0 vendor: HP power supply: yes updated: Sun 25 Jan 2015 05:43:35 AM CET (85 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: charging warning-level: none energy: 4.08614 Wh energy-empty: 0 Wh energy-full: 46.2249 Wh energy-full-design: 38.1721 Wh energy-rate: 37.7147 W time to full: 1.1 hours percentage: 9% capacity: 100% technology: lithium-ion icon-name: 'battery-caution-charging-symbolic' History (charge): 1422161015 9.000 charging History (rate): 1422161015 37.715 charging
Czyli w tej chwili laptop pobiera prawie 38W i naładuje baterię za 1h. Ale nie o tym chciałem. xD Ten upower potrafi zainicjować akcję jeśli zostanie osiągnięty pewny pułap rozładowania akumulatora. To ile % i jaką akcję podjąć można sprecyzować w /etc/UPower/UPower.conf :
... PercentageLow=10 PercentageCritical=3 PercentageAction=2 ... CriticalPowerAction=HybridSleep
I to jest ciekawy bajer, bo ten upower wykrywa faktyczny stan rozładowania akumulatora i nawet jeśli jest podjęcie akcji przy 2%, to u mnie akumulator się rozładował do 0 i wisiał tak dobre 40min jeszcze i akcja nie została podjęta. xD Ale laptop nie zdechł z braku zasilania. Na jakieś 2-4min przed utratą zasilania, zainicjował to hybrydowe uśpienie, które polega na zrzuceniu kopi zawartości pamięci do swap i zwyczajnym uśpieniu maszyny, bez hibernowania jej. I system będzie sobie tak siedział na tej resztce baterii i jeśli przed jej wyczerpaniem się podłączy zasilacz, to komputer wystartuje od razu z danych które są jeszcze w RAM, jeśli nie da rady podłączyć kabla i system zdechnie, to wtedy wystartuje tak jak przy hibernacji czyli przerzuci swap do ram. I to działa wyśmienicie. xD
Offline
jeszcze jedna ciekawostka z pm-suspend
cat /etc/udev/rules.d/99-lowbat.rules # Suspend the system when battery level drops SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="7", RUN+="/usr/sbin/pm-suspend" SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="5", RUN+="/usr/sbin/pm-suspend" SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="3", RUN+="/usr/sbin/pm-suspend"
przy 7% nic ale przy 5% dziala.
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00003 | SET NAMES latin2 |
0.00119 | 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.141.42.41' WHERE u.id=1 |
0.00182 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.141.42.41', 1732545671) |
0.00055 | SELECT * FROM punbb_online WHERE logged<1732545371 |
0.00094 | DELETE FROM punbb_online WHERE ident='185.191.171.15' |
0.00048 | SELECT topic_id FROM punbb_posts WHERE id=280630 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=26856 ORDER BY posted |
0.00027 | 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=26856 AND t.moved_to IS NULL |
0.00032 | SELECT search_for, replace_with FROM punbb_censoring |
0.00167 | 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=26856 ORDER BY p.id LIMIT 0,25 |
0.00071 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=26856 |
Total query time: 0.00812 s |