Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Polskie forum (Polish) Instalacja i sprzęt
  • Search

Gentoo ciągle wyłącza dysk w laptopie na baterii.

Pytania i problemy związane z instalacją Gentoo oraz sprzętem

Moderator: SlashBeast

Post Reply
  • Print view
Advanced search
7 posts • Page 1 of 1
Author
Message
spinerr
n00b
n00b
Posts: 43
Joined: Wed Jun 16, 2010 6:06 pm

Gentoo ciągle wyłącza dysk w laptopie na baterii.

  • Quote

Post by spinerr » Tue Mar 20, 2012 6:27 pm

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.
Top
SlashBeast
Retired Dev
Retired Dev
User avatar
Posts: 2922
Joined: Tue May 23, 2006 11:50 am
Contact:
Contact SlashBeast
Website

  • Quote

Post by SlashBeast » Tue Mar 20, 2012 7:17 pm

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.
Top
spinerr
n00b
n00b
Posts: 43
Joined: Wed Jun 16, 2010 6:06 pm

  • Quote

Post by spinerr » Tue Mar 20, 2012 10:12 pm

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: Select all

**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
Top
SlashBeast
Retired Dev
Retired Dev
User avatar
Posts: 2922
Joined: Tue May 23, 2006 11:50 am
Contact:
Contact SlashBeast
Website

  • Quote

Post by SlashBeast » Tue Mar 20, 2012 10:34 pm

Pewnie gnome ma jakis cudowny przelacznik dla laptopow i zmienia Ci apm. Kolejny powod by nie uzywac DE.
Top
spinerr
n00b
n00b
Posts: 43
Joined: Wed Jun 16, 2010 6:06 pm

  • Quote

Post by spinerr » Thu Mar 22, 2012 10:19 am

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

Code: Select all

/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.
Top
Garrappachc
Guru
Guru
User avatar
Posts: 362
Joined: Fri Dec 26, 2008 9:13 pm
Location: Kraków
Contact:
Contact Garrappachc
Website

  • Quote

Post by Garrappachc » Thu Mar 29, 2012 7:59 pm

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
Top
spinerr
n00b
n00b
Posts: 43
Joined: Wed Jun 16, 2010 6:06 pm

  • Quote

Post by spinerr » Wed Apr 11, 2012 2:05 pm

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: Select all

#!/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
Top
Post Reply
  • Print view

7 posts • Page 1 of 1

Return to “Instalacja i sprzęt”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic