Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Gentoo ciągle wyłącza dysk w laptopie na baterii.
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Instalacja i sprzęt
View previous topic :: View next topic  
Author Message
spinerr
n00b
n00b


Joined: 16 Jun 2010
Posts: 37

PostPosted: Tue Mar 20, 2012 6:27 pm    Post subject: Gentoo ciągle wyłącza dysk w laptopie na baterii. Reply with quote

Proszę o pomoc w pilnej sprawie. Mam laptopa N410c z gentoo na dysku. Jeśli laptop pracuje na zasilczu to dysk ciągle się zatrzymuje. Zapis/odczyt, kilka sekund i stop, i tak w kółko. Co ciekawe dysk zapamiętuje to ustawienie - nawet po restarcie dalej tak się dzieje. Dysk zatrzymuje się obojętnie czy jest potem uruchomiony winXP, DOS, czy dysk będzie podpięty do kontrolera ATA-->USB. Jedyne co przywraca normalne działanie to włączenie zasilacza podczas gdy jest uruchomione gentoo. Na zasilaczu wszystko jest OK, nawet po restarcie i włączeniu potem windowsa na baterii dysk cały czas się kręci. Wygląda na to, że gentoo wysyła coś do dysku i ten to zapamiętuje. Dysk HM60HC w niecałe pól roku wykonał grubo ponad 40 000 cykli start/stop !!! Początkowo myślałem, że to problem z dyskiem, zmieniłem na nowy HM160HC i to samo. Po dwóch dniach całkiem nowy dysk ma 380 cykli start/stop! W gnome wyłączyłem opcję wstrzymywanie pracy dysków jeśli możliwe, ale nic nie dało (swoją drogą powinna tam być jakaś regulacja czasu). Oprócz tego na starcie systemu init odpala hdparma z opcją all_args="-S84". Czyli po 7 minutach stop.
Myślę, że można znaleźć winowajce podglądając komendy wysyłane do dysku, ale jak to zrobić?
Proszę o pomoc.
Back to top
View user's profile Send private message
SlashBeast
Moderator
Moderator


Joined: 23 May 2006
Posts: 2836

PostPosted: Tue Mar 20, 2012 7:17 pm    Post subject: Reply with quote

Uzywasz laptop-mode?

Anyway, sprawdz czy 'hdparm -B 254 /dev/sda' rozwiazuje problem, u mnie netbook czesto wylaczal dysk, przy takich ustawieniach juz tego nie robi.
_________________
BitBucket -- better-initramfs
Back to top
View user's profile Send private message
spinerr
n00b
n00b


Joined: 16 Jun 2010
Posts: 37

PostPosted: Tue Mar 20, 2012 10:12 pm    Post subject: Reply with quote

Dzięki wielkie. Wygląda na to, że coś przestawia APM na 1. Bardzo ciekawi mnie czy to robi kernel, gnome czy coś innego. Domyślne ustawienie APM na najbardziej agresywny tryb to niezbyt rozsądne rozwiązanie.
Nie używam laptop-mode-tools.

Oto tabela prawdy APM którą znalazłem tutaj:
http://forum.hddguru.com/hddscan-logfile-t7429.html
Niestety wszystkie linki do strony samsunga nie działają, a seagate który przejął fabryki samsunga milczy na ich temat.

Code:

**APM
Decimal Level
0 Reserved
1 Minimum power consumption with Standby
2-127 Intermediate power management levels with Standby
128 Minimum power consumption without Standby
129-253 Intermediate power management levels without Standby
254 Maximum performance
255 Reserved

***Power Management standby timeout (Table 38)
0 Time-out disabled
1-240 (value * 5) seconds (i.e., 5 seconds to 1200 seconds)
241-251 ((value - 240) * 30) MINUTES (i.e., 30 minutes to 330 minutes)
252 minutes
253 Period between 8 hours and 12 hours
254 Reserved
255 21 min. 15 seconds
Back to top
View user's profile Send private message
SlashBeast
Moderator
Moderator


Joined: 23 May 2006
Posts: 2836

PostPosted: Tue Mar 20, 2012 10:34 pm    Post subject: Reply with quote

Pewnie gnome ma jakis cudowny przelacznik dla laptopow i zmienia Ci apm. Kolejny powod by nie uzywac DE.
_________________
BitBucket -- better-initramfs
Back to top
View user's profile Send private message
spinerr
n00b
n00b


Joined: 16 Jun 2010
Posts: 37

PostPosted: Thu Mar 22, 2012 10:19 am    Post subject: Reply with quote

nie wiem czy to gnome. Po uruchomieniu gentoo przełączyłem na pierwszą konsolę, wpisałem
Code:

/etc/init.d/xdm stop

a potem wyłączyłem zasilacz i niestety dalej to samo. Co jeszcze może to powodować?

I jeszcze coś: hdparm -B rozwiązuje problem, ale trzeba to wklepać zawsze po wyłączeniu zasilacza.

Na baterii APM przeskakuje na 1 czyli najbardziej brutalny tryb.
Back to top
View user's profile Send private message
Garrappachc
Guru
Guru


Joined: 26 Dec 2008
Posts: 357
Location: Kraków

PostPosted: Thu Mar 29, 2012 7:59 pm    Post subject: Reply with quote

Też miałem ten problem, rozwiązaniem jest utworzenie pustego pliku /etc/pm/power.d/harddrive, który jest skryptem nadpisującym /usr/lib/pm-utils/power.d. Pozostaje ustawić APM na 254 i śmiga :)
_________________
De profundis clamavi ad Te, Domine

emerge --info | virtual aviation
Back to top
View user's profile Send private message
spinerr
n00b
n00b


Joined: 16 Jun 2010
Posts: 37

PostPosted: Wed Apr 11, 2012 2:05 pm    Post subject: Reply with quote

Skrypt ten wykonuje 4 operacje na dysku
-wyłącza/włącza pamięć podręczną zapisu (chroni przed utratą danych przy pracy na baterii, w momencie rozładowania ?)
-ustala czas spindown
-zmienia poziom naszego apm
-zmienia poziom acoustic management

Za realizację powyższych odpowiada hdparm.

Wydaje się, że lepszym rozwiązaniem będzie nie ignorowanie całego skryptu, a modyfikacja zmiennych.
Skąd ten skrypt wczytuje wartości $DRIVE_POWER_MGMT_AC i $DRIVE_POWER_MGMT_BAT ? Chyba nie sam z siebie?


oto zawartość pliku /usr/lib/pm-utils/power.d/harddrive:

Code:

#!/bin/sh

[ -x /sbin/hdparm ] || exit $NA

# Default values on AC
DRIVE_SPINDOWN_VALUE_AC="${DRIVE_SPINDOWN_VALUE_AC:-0}"
DRIVE_WRITE_CACHE_AC="${DRIVE_WRITE_CACHE_AC:-1}"
DRIVE_POWER_MGMT_AC="${DRIVE_POWER_MGMT_AC:-254}"
DRIVE_ACOUSTIC_MGMT_AC="${DRIVE_ACOUSTIC_MGMT_AC:-0}"

# Default values on battery
DRIVE_SPINDOWN_VALUE_BAT="${DRIVE_SPINDOWN_VALUE_BAT:-6}"
DRIVE_WRITE_CACHE_BAT="${DRIVE_WRITE_CACHE_BAT:-0}"
DRIVE_POWER_MGMT_BAT="${DRIVE_POWER_MGMT_BAT:-1}"
DRIVE_ACOUSTIC_MGMT_BAT="${DRIVE_ACOUSTIC_MGMT_BAT:-254}"

# Default devices to operate on
DRIVE_LIST="/dev/[hs]d[a-z]"

help() {
cat <<EOF
--------
$0: Control hard drive spindown, write caching,
    power management and acoustic management.

This hook has 8 tuneable parameters:
DRIVE_SPINDOWN_VALUE_AC = time until a drive will spin down on AC
Defaults to 0, which disables drive spindown.
DRIVE_SPINDOWN_VALUE_BAT = time until a drive will spin down on battery
Defaults to 6, which will spin the drive down after 30 seconds of inactivity.

See the -S option on the hdparm manpage for more information.

DRIVE_WRITE_CACHE_AC = Whether the drive caches writes on AC
Defaults to 1, which means that the drive will cache writes internally.
DRIVE_WRITE_CACHE_BAT = Whether the drive caches writes on battery.
Defaults to 0 which means that the drive will not cache writes internally.

See the -W option on the hdparm man page for more information.

DRIVE_POWER_MGMT_AC = Drive Advanced Power Management value on AC
Defaults to 254 for max performance.
DRIVE_POWER_MGMT_BAT = Drive Advanced Power Management value on battery
Defaults to 1 for max power savings.

See the -B option on the hdparm man page

Drive acoustic management:
DRIVE_ACOUSTIC_MGMT_AC = Drive Acoustic Management value on AC
Defaults to 254 for max head speed.
DRIVE_ACOUSTIC_MGMT_BAT = Drive Acoustic Management value on battery
Defaults to 128 for max quietness.

See the -M option on the hdparm man page.

Drives to manage:
DRIVE_LIST = the list of hard drives to manage.
Defaults to "/dev/[hs]d[a-z]", which will manage up to the first 25 drives.

EOF
}

harddrive_ac () {
    for dev in $DRIVE_LIST; do
   # disable write caching, do not spin down the drive, disable APM
   # and acoustic management, and sync everything to drive.
   printf "Disabling hard drive power management for %s..." "$dev"
   hdparm -W $DRIVE_WRITE_CACHE_AC \
       -S $DRIVE_SPINDOWN_VALUE_AC \
       -B $DRIVE_POWER_MGMT_AC \
       -M $DRIVE_ACOUSTIC_MGMT_AC $dev >/dev/null 2>&1 \
       && echo Done. || echo Failed.
    done
}

harddrive_battery() {
    for dev in $DRIVE_LIST; do
   # disable write caching, enable acoustic management
   printf "Enabling power management for %s..." "$dev"
   hdparm -W $DRIVE_WRITE_CACHE_BAT \
       -S $DRIVE_SPINDOWN_VALUE_BAT \
       -B $DRIVE_POWER_MGMT_BAT \
       -M $DRIVE_ACOUSTIC_MGMT_BAT -F $dev >/dev/null 2>&1 \
       && echo Done. || echo Failed.
    done
}

case $1 in
    true) harddrive_battery ;;
    false) harddrive_ac ;;
    help) help;;
    *) exit $NA ;;
esac

exit 0
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Instalacja i sprzęt All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum