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!
Nowy laptop - Asus K75VJ sam mi się włącza w nocy. Sam się włączył bodajże już 1 nocy po kupnie, później jeszcze kilka razy, ale zignorowałem to sądząc, że przejdzie albo, że jest to jakaś technologiczna nowinka. Tydzień temu czytałem o tym w internecie, bo włączał się średnio 2-3 razy w tygodniu, ale nic sensownego nie znalazłem (WoL wyłączone, w BIOSie też wszystko okey). Nie ważne czy go całkowicie wyłączę przez "poweroff" czy uśpię/zahibernuje i tak potrafi sam się włączyć w nocy. Wczoraj wziąłem go w stan uśpienia i odłączyłem pendrive - rano rozczarowanie, bo laptop nie dość, że włączony to jeszcze nagrzany - w logach mam co sekundę info od kernela, więc pewnie przez to, że odłączyłem tego pendrive po uspaniu - i po wybudzeniu męczył się z tym USB;
sty 26 05:10:44 laptop_kasus kernel: hub 1-3:1.0: unable to enumerate USB device on port 4 sty 26 05:10:45 laptop_kasus kernel: hub 1-3:1.0: unable to enumerate USB device on port 4 sty 26 05:10:46 laptop_kasus kernel: hub 1-3:1.0: unable to enumerate USB device on port 4
jak jest całkowicie wyłączony albo zahibenowany to w logach mam standardowe logi jak przy włączaniu komputera, lecz przy wstrzymaniu znalazłem coś takiego;
sty 26 00:55:45 laptop_kasus systemd-sleep[4989]: Suspending system... sty 26 00:55:46 laptop_kasus kernel: PM: Syncing filesystems ... done. sty 26 00:55:46 laptop_kasus kernel: PM: Preparing system for mem sleep sty 26 00:55:46 laptop_kasus kernel: bbswitch: enabling discrete graphics sty 26 05:09:15 laptop_kasus kernel: pci 0000:01:00.0: power state changed by ACPI to D0 sty 26 05:09:15 laptop_kasus kernel: pci 0000:01:00.0: enabling device (0006 -> 0007)
o 05:09 się włączył sam. Ma ktoś może jakiś pomysł co to może być? Uszkodzenie hardware? Pamiętam, że włączyłem go od razu jak tylko dostałem paczke nie czekając. mimo że komputer był zimny. Może to przez to? Jako ciekawostkę dodam, że mój stary laptop Compaq Armada 7400 w tym samym miejscu też się okazyjnie sam włączał w nocy i nigdy nie ustaliłem czemu - myślałem, że to po prostu zużyty hardware (laptop z czasów win95). Mam zwyczajną listwę i podłączone do niej wszystkie urządzenia. stacjonarka sama się nie włączała. Nie chcę po 3 tygodniach oddawać do serwisu ;/
Ostatnio edytowany przez dominbik (2013-01-26 20:42:48)
Offline
To pod Debianem czy Archem?
Offline
pod Archem. Piszę na DUGu ..., no, bo DUG to DUG trudno znaleźć mi lepsze forum jeśli chodzi o linuxowe/nielinuxowe problemy
Offline
To chyba wypada takie informacje podawać od razu.
Szczególnie, że tam to może wyglądać zupełnie inaczej:
https://wiki.archlinux.org/index.php/Systemd#ACPI_power_management
Ostatnio edytowany przez yossarian (2013-01-26 21:38:21)
Offline
http://www.sevenforums.com/performance-maintenance/ … ml#post564306
Here's another one. I had a similar problem with one of my laptops and a desktop at random times, but also am, without fail.. I accepted it for some months and then decided it was time to investigate.
Found out eventually. Both computers have infrared detectors. They were in line of my lounge TV. Whenever the remote was used, the computers woke up!!
:D
Offline
@yossarian z tego co tam wyczytałem tylko można zdefiniować co mają robić np;
-zamknięcie pokrywy ekranu
-naciśnięcie przycisku zasilania itd....
Póki co wyłączyłem aktualizacje w Windows8 (obok Arch Linux mam Windows8) i dzisiaj w nocy się nie włączył ;D Napiszę jak się znów włączy i co z tym fantem zrobiłem.
hipoteza z pilotem odpada, bo nikt o tej godzinie u mnie nie ogląda TV ;p 2 - laptop nie posiada podczerwieni
Ostatnio edytowany przez dominbik (2013-01-27 11:27:11)
Offline
Ale czy to występuje również przy wyłączaniu spod Windowsa?
Offline
jeszcze tego nie zbadałem, ale zbadam i napisze swoje doświadczenia.
Offline
Nie masz myszy na usb bezprzewodowej?
Offline
Jeszcze sprawdź, czy nie mas Intel AMT czy jakoś tak ;) może Ci ktoś po WiFi robi wakeonlan :P albo na BT reaguje. Albo ma jakieś inne cudo autostartu. Ogólnie może jakiś pad zasilania w środku jest i obrywa czymś bardzo zabawnym. U mnie laptop bardzo różnie reaguje na różne stany zasilania i wybudzani itd. Raz (ale tylko raz) uruchomił się będąc w plecaku.
Offline
mati75 napisał(-a):
Nie masz myszy na usb bezprzewodowej?
Mam bezprzewodową.
Póki co wyłączam go poweroff na razie brak takich incydentów. Oprócz tego jako ciekawostka;
-gdy daję "reboot" i włączam Windows8 nie działa wyjście audio karty dźwiękowej. Dopiero jak wyłączę komputer i zbootuje Windows8 wtedy wyjście lineout działa;p
Offline
To kolega dokładnie taką samą sytuacje, laptop się w nocy włącza jak nie wyłączy myszki.
Offline
Ok. Dzięki to też przetestuje.
Offline
A jest jakiś sposób, żeby zablokować lub powstrzymać start systemu, kiedy pokrywa lapka jest zamknięta?
Bo, jak przypuszczam, guzika od zasilania to pewnie w obecnych lapkach nie dowieźli, podobnie, jak dwóch prostych do układów hybrydowych:
hdmi - {intel (nvidia wyłączona)|nvidia}
matryca -{intel (nvidia wył)|nvidia}.
Rozwiązanie 1000 razy prostsze, niż majstrowanie w sterownikach i biosach, acpi, optimusach, i podobnych bzdurach. :D
Ostatnio edytowany przez Jacekalex (2013-01-30 16:41:45)
Offline
lut 01 23:45:08 laptop_kasus kernel: PM: Preparing system for mem sleep lut 01 23:45:08 laptop_kasus kernel: bbswitch: enabling discrete graphics lut 02 03:58:53 laptop_kasus kernel: pci 0000:01:00.0: power state changed by ACPI to D0 lut 02 03:58:53 laptop_kasus systemd[1]: Time has been changed
niestety dzisiaj znów w nocy sie włączył. Był zahibernowany i się włączył. Będę musiał jeszcze spróbować czy to nie przez tą myszkę. W nocy włączyłem TV, by zobaczyć walkę Szpilki, ale to nie o tej godzinie.
Offline
Przyglądając się tym pisanych na kolanie skryptom z tego wątku:
http://forum.dug.net.pl/viewtopic.php?id=22866
można znaleźć m. in. takie:
for i in /sys/bus/usb/devices/*/power/wakeup; do echo enabled > $i done
To teraz przeczytaj za co one odpowuiadają:
power/wakeup
This file is empty if the device does not support
remote wakeup. Otherwise the file contains either the
word "enabled" or the word "disabled", and you can
write those words to the file. The setting determines
whether or not remote wakeup will be enabled when the
device is next suspended. (If the setting is changed
while the device is suspended, the change won't take
effect until the following suspend.)
What is Remote Wakeup?
----------------------
When a device has been suspended, it generally doesn't resume until
the computer tells it to. Likewise, if the entire computer has been
suspended, it generally doesn't resume until the user tells it to, say
by pressing a power button or opening the cover.
However some devices have the capability of resuming by themselves, or
asking the kernel to resume them, or even telling the entire computer
to resume. This capability goes by several names such as "Wake On
LAN"; we will refer to it generically as "remote wakeup". When a
device is enabled for remote wakeup and it is suspended, it may resume
itself (or send a request to be resumed) in response to some external
event. Examples include a suspended keyboard resuming when a key is
pressed, or a suspended USB hub resuming when a device is plugged in.
http://www.mjmwired.net/kernel/Documentation/usb/power-management.txt
Prawdopodobnie coś Ci w nocy wybudza mysz.
W ogóle cały ten plik to nieporozumienie. IMHO większość tamtych regułek jest w bezsensowna, większość z nich jest standardowo już włączona w skryptach pm-utils, a cześć jest zupełnie nielogiczna.
Zaglądałeś kiedyś do /etc/pm/power.d/ i /usr/lib/pm-utils/power.d/?
Tam są do ustawienia wszystkie te opcje.
Ostatnio edytowany przez yossarian (2013-02-04 15:47:43)
Offline
yossarian rzeczywiście było to na szybko pisane, ale co tam można lepszego zrobić niż proste pętle for?
2. Nie zaglądałem do /etc/pm/* ,gdyż wogóle nie korzystam z pm-utils (wtedy z tego co wiem /etc/pm/* może sobie być a i tak nic tego nie wykona) - a prócz tego te skrypty w /pm/* są wykonywane chyba tylko przy hibernacji/suspend? - więc, nawet jak jest tam wszystko poustawiane to gdy odłączymy sobie kabelek od zasilacza nie urządza nas to - chyba, że damy jakąś regułkę udeva, która po kolei by wykonała stamtąd skrypty. Nie mam teraz dostępu do pm-utils, ale serio jest tam wszystko prawidłowo ustawione, że PowerTOP po włączeniu pokazuje same "Good" ?
Co do myszy to właśnie sprawdzam czy to nie jej wina - aczkolwiek problem występował już wcześniej przed tą regułką. Będę musiał o tym jeszcze poczytać - ta regułka rzeczywiście wydaje się podejrzana - wziąłem ją nie myśląc od Pana Ext73 z forum Ubuntu.
Offline
Standardowo to działa tak (przynajmniej w Debianie i u mnie):
cat /etc/acpi/events/ac /etc/acpi/events/battery # /etc/acpi/events/ac # Called when the user connects ac power to us # event=ac_adapter.* action=/etc/acpi/power.sh # /etc/acpi/events/battery # Called when AC power goes away and we switch to battery event=ac_adapter.* action=/etc/acpi/power.sh
Możesz tam sobie zdefiniować wszystkie czynności do wykonania dla poszczególnych zmian acpi.
Nie potrzeba do tego udeva. Przy podłączeniu i odłączeniu zasilania uruchamia się cała procedura skryptów pm. Na początku zmienia się status pm-powersave:
cat /etc/acpi/power.sh #!/bin/sh test -f /usr/share/acpi-support/key-constants || exit 0 . /usr/share/acpi-support/policy-funcs if [ -z "$*" ] && { CheckPolicy || CheckUPowerPolicy; }; then exit; fi pm-powersave $*
I lecą skrypty z /usr/lib/pm-utils/power.d/ i /etc/pm/power.d/ Te drugie mają wyższy priorytet, dlatego ewentualne zmiany w nim lepiej umieszczać, a resztę zostawić w /usr/lib
Dlatego te skrypty odnoszą się do aktualnego stanu pm-powersave
I przykładowy skrypt, który załatwia większość ustawień w PowerTOP:
cat /etc/pm/power.d/pci_devices #!/bin/sh # # This script adjusts the power control of a set of PCI devices that # prove beneficial to enable power savings # PCI_DEVICES_PM_ENABLE="${PCI_DEVICES_PM_ENABLE:-true}" buslist="pci spi i2c" set_pci_device() { for dev in /sys/bus/pci/devices/* ; do if [ -e $dev/class -a -e $dev/power/control ]; then id=`basename $dev` case `cat $dev/class` in 0x020000) # ethernet echo "Setting Ethernet device $id to $1" echo $1 > $dev/power/control ;; 0x028000) # wireless echo "Setting Wireless device $id to $1" echo $1 > $dev/power/control ;; 0x040300) # audio echo "Setting Audio device $id to $1" echo $1 > $dev/power/control ;; 0x060000) # host bridge echo "Setting Host Bridge $id to $1" echo $1 > $dev/power/control ;; 0x080500) # SD card reader echo "Setting SD card reader device $id to $1" echo $1 > $dev/power/control ;; 0x088000|0x088001) # card reader echo "Setting card reader device $id to $1" echo $1 > $dev/power/control ;; 0x0c0000|0x0c0010) # firewire echo "Setting FireWire device $id to $1" echo $1 > $dev/power/control ;; esac fi done } case "$1" in true) # powersaving on [ "$PCI_DEVICES_PM_ENABLE" = true ] && set_pci_device "auto" for bus in $buslist; do for i in /sys/bus/$bus/devices/*/power/control; do echo auto > $i done done ;; false) # powersaving off [ "$PCI_DEVICES_PM_ENABLE" = true ] && set_pci_device "on" for bus in $buslist; do for i in /sys/bus/$bus/devices/*/power/control; do echo on > $i done done ;; *) exit 254 ;; esac exit 0
To standardowy skrypt z /usr/lib/pm-utils/power.d/
Umieściłem w nim kilka zmian i dlatego jest przekopiowany do /etc/pm/power.d/ żeby się zmiany w nim nie dokonywały przy aktualizacjach. A uruchamia się zamiast tamtego standardowego bo ma tę sama nazwę.
Ustawienia dysku są w pliku /usr/lib/pm-utils/power.d/laptop-mode i tak wygląda jego początek:
#!/bin/sh . "${PM_FUNCTIONS}" VM="/proc/sys/vm" vmfiles="laptop_mode dirty_ratio dirty_background_ratio dirty_writeback_centisecs" LAPTOP_MODE=${LAPTOP_MODE:-5} LAPTOP_DIRTY_RATIO=${LAPTOP_DIRTY_RATIO:-60} LAPTOP_DIRTY_BG_RATIO=${LAPTOP_DIRTY_BG_RATIO:-40} LAPTOP_DIRTY_WRITEBACK=${LAPTOP_DIRTY_WRITEBACK:-60000}
Jak masz inną wizję tych ustawień, to zmieniasz wartości i zapisujesz w /etc/pm/power.d/ żeby Twoje były wykonywane zamiast standardowych.
I tak ze wszystkimi parametrami można.
Oczywiście możesz dodać tam swoje, ale po co dokładać sobie pracy i dublować narzędzia?
Pokazuje Good tam gdzie zmiany wykona sam domyślny automat.
W kilku pozycjach musiałem dodać kilka wpisów i dlatego mam je w /etc/pm/power.d/ i teraz pokazuje.
ls /etc/pm/power.d/ brightness laptop-mode pci_devices sata_alpm
Wszystko masz podane tam na tacy i działa z automatu nie potrzeba żadnych wynalazków od różnych mito/megalomanów.
Zawsze możesz podpatrzeć wartości u innych i testować, zamiast wszystko wpisywać z palca ;)
Ostatnio edytowany przez yossarian (2013-02-04 19:52:33)
Offline
Hmm no to zaskoczyłeś mnie - więc w Debianie nie trzeba nic kombinować, bo większość działa od razu jak ma działać. Po zakupie laptopa przerzuciłem się na Arch Linux i tutaj chyba i tak będzie lepiej jak załatwię to skryptami, bo;
1. nie chcę daemona acpid na rzecz regułek udeva, poza tym systemd obsługuje podstawowe acpi handlers jak np. zamknięcie pokrywy ekranu itd....
2. nie chcę pm-utils ,bo systemd obsługuje hibernacje/suspend
do tego pakiet acpi, kilka skryptów, 2-3 usługi systemd i myślę, że wszystkie te programy do zarządzania energią można zastąpić podstawowymi narzędziami + kilkoma skryptami w bashu.
tak wracając do tematu;
Chcę odłączyć ten laptop od sieci na noc, aby zobaczyć czy to nie zwarcie - obawiam się tylko, że włączy się i bateria rozładuje się do 0% (co niszczy baterie) i padnie. Istnieje jakiś lekki program/daemon, który zahibernuje komputer gdy bateria będzie mieć np. 5% albo najlepiej np. 70% ? mówiąc lekki mam na myśli to, że używam openboxa i aby zadziałał nawet gdy żaden user nie jest zalogowany do Xów.
Ostatnio edytowany przez dominbik (2013-02-04 20:14:28)
Offline
Dlaczego po prostu nie sprawdzisz na innym systemie czy to wina sprzętu czy ustawień?
PS A czy to nie są podstawowe narzędzia? Sygnał ACPI i powiązanych z nim kilka skryptów ;)
Ostatnio edytowany przez yossarian (2013-02-04 20:13:53)
Offline
Tylko cały dowcip polega na tym, że ten komputer potrafi się włączyć nawet jak go wyłączam przez "poweroff". Ale rzeczywiście spróbuję czy włączy się jak go zamknę/zahibernuje spod Windows8.
Offline
Wracając do systemd, to nie obsługuje najważniejszego sygnału:
Note: Systemd cannot handle AC and Battery ACPI events, so if you use Laptop Mode Tools or other similar tools acpid is still required.
https://wiki.archlinux.org/index.php/Systemd#ACPI_power_management
Więc na samym systemd się nie da wszystkiego oprzeć i tak musisz kombinować z zewnętrznymi narzędziami.
Ostatnio edytowany przez yossarian (2013-02-04 20:23:19)
Offline
No mogli napisać o regułach udeva. Z tym laptop-mode-tools też miałem epizody, kiedy chciałem powstrzymać parkowanie głowicy dysku - tylko po co mi całe laptop-mode-tools kiedy wystarczy 1 usługa http://archlinux.pl/forum/topic/803/
wogóle ciekawe co to są te Battery ACPI events - tylko podłączenie/odłączenie zasilacza?
apropo czegoś lekkiego, by coś zrobiło kiedy np. 7% baterii http://pastebin.com/raw.php?i=69NyVMnv
tylko trzeba dopasować, bo nie u każdego bateria rozładowuje się tak szybko/wolno
Offline
A to jeszcze ktoś używa laptop-mode-tools?
cat /usr/lib/pm-utils/power.d/95hdparm-apm #! /bin/sh # # This script adjusts hard drive APM settings using hdparm. The hardware # defaults (usually hdparm -B 127) cause excessive head load/unload cycles # on many modern hard drives. We therefore set hdparm -B 254 while on AC # power. On battery we set hdparm -B 127, because the head parking is # very useful for shock protection. # # Refactored from acpi-support's 90-hdparm.sh for pm-utils if grep -wq "nohdparm" /proc/cmdline ; then exit 0 fi # Do nothing when called via /etc/init.d/acpi-support; udev rules take care # of setting the initial hdparm policy for us. if ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]; then exit 0 fi if [ -e /usr/sbin/laptop_mode ] ; then LMT_CONTROL_HD_POWERMGMT=$(. /etc/laptop-mode/laptop-mode.conf && echo "$CONTROL_HD_POWERMGMT") if [ "$LMT_CONTROL_HD_POWERMGMT" != 0 ] \ && [ -e /var/run/laptop-mode-tools/enabled ] then # Laptop mode controls hdparm -B settings, we don't. exit 0 fi fi . /lib/hdparm/hdparm-functions resume_hdparm_apm() { for dev in /dev/sd? /dev/hd? ; do if [ -b $dev ] && hdparm_try_apm $dev ; then # Check for APM support; discard errors since not all # drives support HDIO_GET_IDENTITY (-i). if hdparm -i $dev 2> /dev/null | grep -q 'AdvancedPM=yes' then for option in $(hdparm_options $dev); do case $option in -B*) apm_opt=$option ;; *) ;; esac done if [ -n "$apm_opt" ]; then hdparm $apm_opt $dev fi fi fi done } resume_hdparm_spindown() { for dev in /dev/sd? /dev/hd? ; do if [ -b $dev ] && hdparm_try_apm $dev ; then # Check for APM support; discard errors since not all # drives support HDIO_GET_IDENTITY (-i). if hdparm -i $dev 2> /dev/null | grep -q 'AdvancedPM=yes' then for option in $(hdparm_options $dev); do case $option in -S*) apm_opt=$option ;; *) ;; esac done if [ -n "$apm_opt" ]; then hdparm $apm_opt $dev fi fi fi done } case "$1" in true|false) # powersaving on/off resume_hdparm_apm ;; thaw|resume) resume_hdparm_apm # only set the -S option on resuming, not necessary for power.d resume_hdparm_spindown ;; *) exit 254 ;; esac
Wystarczy:
touch /etc/pm/power.d/95hdparm-apm
i parkowanie sie nie załącza.
Jest jeszcze /etc/hdparm.conf poza tym
;)
Uruchom sobie:
acpi_listen
i sam sprawdź jakie sygnały możesz dodatkowo zdefiniować. Podstawowe są uwzględnione w acpi-events.
Ostatnio edytowany przez yossarian (2013-02-04 20:56:32)
Offline