Strona 1 z 1

DuŻy pobór energii z baterii przez laptopa

: 24 maja 2009, 20:48
autor: rogi555
Witam!

Dotychczas korzystając z laptopa miałem go podłączonego do sieci elektrycznej jeżeli chodzi o zasilanie, więc nie bardzo mnie interesowało ile pobiera prądu. Kiedy jednak musiałem go odłączyć i pracować na Debianie z baterii, spotkała mnie niemiła niespodzianka. Otóż po czterdziestu minutach zabrakło energii i musiałem znowu podłączyć kabel. Pod Windowsem energii starcza na dwie godziny pracy. Trochę poszukałem na temat oszczędzania energii i dowiedziałem się, że warto zainstalować program powertop. Tak też zrobiłem i po wydaniu takiej komendy w konsoli, dowiedziałem się tego:

Kod: Zaznacz cały

Cn                Avg residency       P-states (frequencies)
C0 (CPU aktywny)        ( 6,1%)         1,91 GHz   100,0%
polling           0,0ms ( 0,0%)         1,80 GHz     0,0%
C1                2,9ms (93,9%)         1,60 GHz     0,0%
                                         800 MHz     0,0%


Wakeups-from-idle per second : 318,4    interval: 5,0s
szacowanie użycia energii ACPI jest niedostępne

Top causes for wakeups:
  40,6% (296,8)         audacious : hrtimer_start_range_ns (hrtimer_wakeup) 
  16,5% (120,8)       firefox-bin : hrtimer_start_range_ns (hrtimer_wakeup) 
  13,8% (100,6)       <interrupt> : eth0 
  11,4% ( 83,2)     <kernel core> : hrtimer_start_range_ns (tick_sched_timer) 
   6,4% ( 47,0)       <interrupt> : HDA Intel 
   3,7% ( 27,0)      <kernel IPI> : Rescheduling interrupts 

Podpowiedź: włącz zarządzanie zasilaniem łącza SATA ALPM przez:
  echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
lub naciśnij klawisz S.
Po wpisaniu

Kod: Zaznacz cały

powertop -d
natomiast, z wyłączonymi wszystkimi programami (oprócz konsoli i conkyego) dostaję takie coś:

Kod: Zaznacz cały

PowerTOP 1.10    (C) 2007, 2008 Intel Corporation 

Zbieranie danych przez 15 sekund 


Cn	          Avg residency
C0 (CPU aktywny)        ( 1,9%)
polling		  0,0ms ( 0,0%)
C1		 12,0ms (98,1%)
P-states (frequencies)
  1,91 GHz   100,0%
  1,80 GHz     0,0%
  1,60 GHz     0,0%
   800 MHz     0,0%
Wakeups-from-idle per second : 81,7	interval: 15,0s
szacowanie użycia energii ACPI jest niedostępne
Top causes for wakeups:
  53,2% (100,7)       <interrupt> : eth0 
  17,7% ( 33,5)     <kernel core> : hrtimer_start_range_ns (tick_sched_timer) 
   5,3% ( 10,1)       <interrupt> : acpi 
   5,3% ( 10,0)       <interrupt> : b43 
   3,5% (  6,5)      <kernel IPI> : Rescheduling interrupts 
   2,6% (  5,0)     <kernel core> : hrtimer_start (tick_sched_timer) 
   1,8% (  3,5)       <interrupt> : ahci 
   1,5% (  2,9)   USB device usb2 : EHCI Host Controller (Linux 2.6.29.3 ehci_hcd) 
   1,0% (  1,9)   hald-addon-usb- : schedule_timeout (process_timeout) 
   1,0% (  1,9)       <interrupt> : ohci_hcd:usb1 
   1,0% (  1,8)    gnome-terminal : hrtimer_start_range_ns (hrtimer_wakeup) 
   0,8% (  1,5)   USB device usb1 : OHCI Host Controller (Linux 2.6.29.3 ohci_hcd) 
   0,6% (  1,1)     <kernel core> : schedule_delayed_work_on (delayed_work_timer_fn) 
   0,5% (  1,0)          ifconfig : queue_delayed_work (delayed_work_timer_fn) 
   0,5% (  1,0)             conky : hrtimer_start_range_ns (hrtimer_wakeup) 
   0,5% (  1,0)           fluxbox : hrtimer_start_range_ns (hrtimer_wakeup) 
   0,3% (  0,5)          cpufreqd : schedule_timeout (process_timeout) 
   0,2% (  0,5)              phy0 : ieee80211_sta_work (ieee80211_sta_timer) 
   0,2% (  0,5)          cpufreqd : hrtimer_start (it_real_fn) 
   0,2% (  0,4)       <interrupt> : ehci_hcd:usb2 
   0,2% (  0,4)   USB device  1-9 : Fingerprint Sensor () 
   0,2% (  0,4)   USB device  1-3 : HP Integrated Module (Broadcom Corp) 
   0,2% (  0,4)   USB device  2-4 : HP Webcam (SuYin) 
   0,2% (  0,3)     <kernel core> : enqueue_task_rt (sched_rt_period_timer) 
   0,1% (  0,3)      <kernel IPI> : TLB shootdowns 
   0,1% (  0,3)   <kernel module> : neigh_table_init_no_netlink (neigh_periodic_timer) 
   0,1% (  0,2)              init : hrtimer_start_range_ns (hrtimer_wakeup) 
   0,1% (  0,2)      wicd-monitor : hrtimer_start_range_ns (hrtimer_wakeup) 
   0,1% (  0,1)   <kernel module> : sta_info_start (sta_info_cleanup) 
   0,1% (  0,1)     <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer) 
   0,1% (  0,1)         ssh-agent : hrtimer_start_range_ns (hrtimer_wakeup) 
   0,1% (  0,1)     <kernel core> : ehci_work (ehci_watchdog) 
   0,1% (  0,1)   <kernel module> : usb_hcd_poll_rh_status (rh_timer_func) 
   0,0% (  0,1)       <interrupt> : PS/2 keyboard/mouse/touchpad 
   0,0% (  0,1)              Xorg : hrtimer_start_range_ns (hrtimer_wakeup) 
   0,0% (  0,1)              phy0 : queue_delayed_work (delayed_work_timer_fn) 
   0,0% (  0,1)     <kernel core> : page_writeback_init (wb_timer_fn) 
   0,0% (  0,1)          ifconfig : nv_open (nv_do_stats_poll) 
   0,0% (  0,1)          rsyslogd : hrtimer_start_range_ns (hrtimer_wakeup) 
   0,0% (  0,1)   <kernel module> : <f8172800> (inet_frag_secret_rebuild) 
   0,0% (  0,1)     <kernel core> : addrconf_verify (addrconf_verify) 
   0,0% (  0,1)                sh : start_this_handle (commit_timeout) 
   0,0% (  0,1)     <kernel core> : neigh_add_timer (neigh_timer_handler) 
   0,0% (  0,1)              hald : hrtimer_start_range_ns (hrtimer_wakeup) 
   0,0% (  0,1)   hald-addon-usb- : hrtimer_start_range_ns (hrtimer_wakeup) 
   0,0% (  0,1)   USB device  1-6 : USB RECEIVER (Logitech) 

A USB device is active 100,0% of the time:
USB device  1-6 : USB RECEIVER (Logitech)

Podpowiedź: włącz zarządzanie zasilaniem łącza SATA ALPM przez: 
  echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
lub naciśnij klawisz S.

Recent USB suspend statistics
Active  Device name
  0,1%	USB device  1-9 : Fingerprint Sensor ()
100,0%	USB device  1-6 : USB RECEIVER (Logitech)
  0,1%	USB device  1-3 : HP Integrated Module (Broadcom Corp)
  0,0%	USB device  2-4 : HP Webcam (SuYin)
  0,9%	USB device usb2 : EHCI Host Controller (Linux 2.6.29.3 ehci_hcd)
100,0%	USB device usb1 : OHCI Host Controller (Linux 2.6.29.3 ohci_hcd)
Na forach przeczytałem, że aby powyłączać niektóre niepotrzebne rzeczy, należy wciskać literki na klawiaturze, które podpowiada program. U mnie niewiele to pomaga. Słyszałem też, że można stworzyć skrypt, który będzie uruchamiany przy starcie systemu, i ten skrypt będzie wyłączał niepotrzebne rzeczy. Niestety nie wiem jak to zrobić.

Innym problemem jest to, jak komputer zachowuje się po odłączeniu z gniazdka. Otóż wifi przestaje działać (nie ma internetu), sypie się też conky (znika z pulpitu). Kiedy podczas danej sesji odłączę komputer od gniazdka sieci elektrycznej, a później z powrotem go podłączę, nadal są problemy. Podczas wyłączania, kiedy z graficznego trybu przechodzi znowu do konsoli gdzie wszystko jest pokazane jak po kolei zamyka się system, cały czas sypie błędami:

Kod: Zaznacz cały

b43-phy0: DMA Fatal Error
Nie idzie tego procesu przerwać - informuje o błędach w nieskończoność, nie reaguje na Ctrl+C ani na przycisk włączania komputer. Trzeba go wówczas zrestartować.

Nie wiem, co począć. Podam może parametry techniczne komputera:
Laptop HP dv6500ew
Procesor: AMD Turion 64 X2
Karta grafiki: NVIDIA GeForce 8400GS
to chyba te ważniejsze.
Reszta z lspci:

Kod: Zaznacz cały

00:00.0 RAM memory: nVidia Corporation MCP65 Memory Controller (rev a3)
00:01.0 ISA bridge: nVidia Corporation MCP65 LPC Bridge (rev a3)
00:01.1 SMBus: nVidia Corporation MCP65 SMBus (rev a1)
00:01.3 Co-processor: nVidia Corporation MCP65 SMU (rev a1)
00:02.0 USB Controller: nVidia Corporation MCP65 USB Controller (rev a3)
00:02.1 USB Controller: nVidia Corporation MCP65 USB Controller (rev a3)
00:06.0 Ethernet controller: nVidia Corporation MCP65 Ethernet (rev a3)
00:07.0 Audio device: nVidia Corporation MCP65 High Definition Audio (rev a1)
00:08.0 PCI bridge: nVidia Corporation MCP65 PCI bridge (rev a1)
00:09.0 IDE interface: nVidia Corporation MCP65 IDE (rev a1)
00:0a.0 IDE interface: nVidia Corporation MCP65 SATA Controller (rev a3)
00:0b.0 PCI bridge: nVidia Corporation Device 045b (rev a1)
00:0c.0 PCI bridge: nVidia Corporation MCP65 PCI Express bridge (rev a1)
00:0d.0 PCI bridge: nVidia Corporation MCP65 PCI Express bridge (rev a1)
00:0e.0 PCI bridge: nVidia Corporation MCP65 PCI Express bridge (rev a1)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
03:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 02)
05:00.0 VGA compatible controller: nVidia Corporation GeForce 8400M GS (rev a1)
07:05.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
07:05.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
07:05.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
07:05.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
07:05.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
Proszę o jakieś podpowiedzi i wytłumaczenie jak co po kolei robić. Będę bardzo wdzięczny za każdą pomoc.

: 24 maja 2009, 21:59
autor: ponton
Czy masz zainstalowany pakiet laptop-mode-tools?

: 24 maja 2009, 22:01
autor: rogi555
Tak, mam zainstalowany ten pakiet, ale nie wiem jak sie go wlacza...

: 24 maja 2009, 22:05
autor: ponton
Ale po co go wyłączać? Myślałem, że go brakuje. ;)

: 24 maja 2009, 22:11
autor: rogi555
No mam go zainstalowanego, a myślałem, że jak się go włączy to coś daje, albo się go jakoś konfiguruje wtedy... Jestem w tym zielony jak widać.

: 24 maja 2009, 22:32
autor: 0dd

Kod: Zaznacz cały

  1,91 GHz   100,0%
  1,80 GHz     0,0%
  1,60 GHz     0,0%
   800 MHz     0,0% 
Zainstaluj cos do skalowania czestotliwosci procesora, np pakiet "cpufrequtils".

: 24 maja 2009, 23:00
autor: rogi555
Mam ten pakiet. Nie wiem tylko co zrobić, żeby faktycznie skalował...

: 24 maja 2009, 23:18
autor: 0dd
Na przyklad w ten sposob:

Kod: Zaznacz cały

# cpufreq-set -g ondemand

: 25 maja 2009, 20:23
autor: rogi555
Ok, dziękuję.

Jednak nadal nie rozwiązałem problemu z brakiem stabilności po odłączeniu zasilania...

Jakieś pomysły?

[ Dodano: 2009-07-21, 20:14 ]
Ok, już wiem co zrobić, żeby po odłączeniu kabelka system nadal działał. Poniżej małe HOWTO:

Okazuje się, że aby laptop-mode mógł wkroczyć do akcji, należy o tym "poinformować ACPI", które domyślnie trochę niczym pies ogrodnika nie pozwola laptop-mode nic zrobić z zarządzaniem energią. Aby dać znać ACPI, że będziemy korzystać z laptop-mode-tools należy dodać do pliku

Kod: Zaznacz cały

/etc/default/acpi-support
na samym końcu wkleić linijkę

Kod: Zaznacz cały

ENABLE_LAPTOP_MODE=true
Po tej operacji (oczywiście jeśli w /etc/laptop-mode/laptop-mode.conf włączyliśmy program laptop-mode-tools) zajmie się on zarządzaniem energii. W moim przypadku zrobił to na tyle dobrze, że mogę pracować na baterii. Co mnie niepokoi, to, że czas pracy jest dość krótki, nie dobija nawet do godziny. Myślę jednak, że to wina nie najmłodszej już, półtoraletniej baterii oraz nie powyłączanych niektórych funkcji (np. czas pracy HP Webcam czy Fingerprint sensora wynosi 100%, podczas gdy w ogóle z nich nie korzystam)

Swoją drogą ktoś kto wie coś na temat oszczędzania energii, mógłby coś tu napisać jakie skrypty startowe należy stworzyć, żeby powyłączać HW Webcamy i inne takie ;)

Pozdrawiam