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/.

Użytkownik


Witam
Mam podłączony dysk SATA poprzez kontroler na PCI. Chciałbym zmniejszyć w nim częstotliwość parkowania głowicy i wyłączyć zasilanie jeśli jest nieużywany (to drugi dysk).
hdparm nie działa na ten dysk
hdparm -B254 /dev/sda /dev/sda: setting Advanced Power Management level to 0xfe (254) HDIO_DRIVE_CMD failed: Input/output error
Z kolei sdparm ma inną składnie i ciężko mi znaleźć jakieś konkrety.
Może ktoś ma jakiś pomysł?
Offline




elektryk dyżurny





wpisz do crontaba linijkę, która będzie co 5 minut tworzyła pusty plik na tym dysku i usuwała go ;)
albo ls > /dev/null czy coś w ten deseń
po prostu rób coś na tym dysku. mało eleganckie, ale skuteczne :)
Offline

Użytkownik


Fakt mało eleganckie :)
ale teraz jest inna sprawa. Kompilowałem nowe jądro bo te standardowe z Lennego nie obsługiwało ext4. Po aktualizacji wcześniejszy dysk który był wykrywany jako hda jest teraz sda i jak wcześniej mogłem ustawiać dla niego opcje przez hdparm to teraz już nie.
Tak więc czy da się wymusić obsługę tego dysku (ATA) przez kontroler ATA nie SCSI?
Offline



inż.
Wywal libata z jajka.
A do dysków SCSI/SATA nie jest przypadkiem sdparm? :>
Offline

Użytkownik


Mam dysk sata i używam hdparm. Zależy od dysku.
Offline

Użytkownik


To czy czy hdparm da rade zaradzać dyskiem zależy pewnie od sterownika, który jest używany co zapewne miało miejsce jak kompilowałem nowe jajko i po tym z hda zrobiło mi się sda.
Jak wcześniej hdparm z hda działa bez problemu to teraz dla sda nie chce (choć fizycznie nic się nie zmieniło) czyli wniosek taki że sterownik za to odpowiada.
Więc teraz pytanie? który :)
Offline




elektryk dyżurny





panowie, oboje macie rację. to czy hdparm potrafi obsłuzyć dany dysk zależy oczywiście od sterownika w jajcu i od samego dysku też. oprócz tego zależy także od wersji hdparma ;)
może nie wkompilowałeś w jajco właściwego sterownika dla swojego kontrolera dysku? zarzuć wynik lspci
Offline

Użytkownik


Proszę bardzo:
Są dwa kontrolery jeden na płycie VIA (IDE ATA) i jeden na PCI Promise (SATA)
lspci -vv
00:01.0 PCI bridge: VIA Technologies, Inc. VT8633 [Apollo Pro266 AGP] (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR+ INTx-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
Memory behind bridge: e4000000-e5ffffff
Prefetchable memory behind bridge: e0000000-e3ffffff
Secondary status: 66MHz+ FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR+
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Kernel modules: shpchp
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
Subsystem: VIA Technologies, Inc. Device aa01
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32
Interrupt: pin A routed to IRQ 5
Region 0: [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8]
Region 1: [virtual] Memory at 000003f0 (type 3, non-prefetchable) [size=1]
Region 2: [virtual] Memory at 00000170 (32-bit, non-prefetchable) [size=8]
Region 3: [virtual] Memory at 00000370 (type 3, non-prefetchable) [size=1]
Region 4: I/O ports at d000 [size=16]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: pata_via
Kernel modules: pata_via
00:14.0 Mass storage controller: Promise Technology, Inc. PDC20375 (SATA150 TX2plus) (rev 02)
Subsystem: Promise Technology, Inc. PDC20375 (SATA150 TX2plus)
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 96 (1000ns min, 4500ns max), Cache Line Size: 576 bytes
Interrupt: pin A routed to IRQ 12
Region 0: I/O ports at dc00 [size=64]
Region 1: I/O ports at e000 [size=16]
Region 2: I/O ports at e400 [size=128]
Region 3: Memory at e7421000 (32-bit, non-prefetchable) [size=4K]
Region 4: Memory at e7400000 (32-bit, non-prefetchable) [size=128K]
[virtual] Expansion ROM at 20000000 [disabled] [size=16K]
Capabilities: [60] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Kernel driver in use: sata_promise
Kernel modules: sata_promiseDo kompletu jeszcze lsmod:
lsmod Module Size Used by nfsd 191039 11 lockd 49101 1 nfsd nfs_acl 1695 1 nfsd auth_rpcgss 24892 1 nfsd sunrpc 133436 9 nfsd,lockd,nfs_acl,auth_rpcgss exportfs 2526 1 nfsd ext4 250398 1 jbd2 54715 1 ext4 crc16 1027 1 ext4 fuse 43130 1 padlock_aes 4295 0 aes_generic 25738 1 padlock_aes via_rng 1085 0 rng_core 2178 2 via_rng vt1211 9728 0 hwmon_vid 1504 1 vt1211 loop 9609 0 usbhid 27360 0 hid 50405 1 usbhid evdev 5581 0 i2c_viapro 4383 0 parport_pc 15799 0 parport 22526 1 parport_pc i2c_core 12540 1 i2c_viapro button 3586 0 processor 25439 1 ehci_hcd 26714 0 uhci_hcd 15709 0 firewire_ohci 16425 0 serio_raw 2920 0 floppy 40843 0 shpchp 21220 0 sata_promise 7177 1 usbcore 96165 4 usbhid,ehci_hcd,uhci_hcd via_rhine 14166 0 firewire_core 30503 1 firewire_ohci via_ircc 13231 0 mii 2714 1 via_rhine nls_base 4541 1 usbcore pci_hotplug 18065 1 shpchp crc_itu_t 1035 1 firewire_core irda 75720 1 via_ircc crc_ccitt 1039 1 irda ext3 93133 5 jbd 31605 1 ext3 mbcache 3766 2 ext4,ext3 sd_mod 25601 9 crc_t10dif 1012 1 sd_mod thermal 9198 0 fan 2590 0 thermal_sys 9378 3 processor,thermal,fan ata_generic 2015 0 pata_via 5577 6 libata 113120 3 sata_promise,ata_generic,pata_via scsi_mod 100576 2 sd_mod,libata
Ostatnio edytowany przez life (2010-12-06 10:47:18)
Offline

Użytkownik


Ktoś ma jakąś propozycję? :)
Nowy kernel jaki kompilowałem to 2.6.32
Ostatnio edytowany przez life (2010-12-08 08:37:25)
Offline







Kapelusznik








life napisał(-a):
Ktoś ma jakąś propozycję? :)
milyges napisał(-a):
Wywal libata z jajka.
Skoro chcesz jechać na starych sterach IDE, to ta propozycja jest przecież idealna :P
Offline

Użytkownik


Czyli co wywalić libata z initrd (bo stamtąd jest ładowany)? dodanie bo blacklist nic nie daje (moduł się ładuje).
Offline







Kapelusznik








Nie wiem czy tak się da wymusić, chodziło raczej o zrobienie tego na etapie kompilacji...
ta gałąź to stery ide:
│ Symbol: IDE [=n] │ Type : tristate │ Prompt: ATA/ATAPI/MFM/RLL support (DEPRECATED) │ Defined at drivers/ide/Kconfig:9 │ Depends on: HAVE_IDE [=y] && BLOCK [=y] │ Location: │ -> Device Drivers
a ta to libata:
│ Symbol: ATA [=y] │ Type : tristate │ Prompt: Serial ATA and Parallel ATA drivers │ Defined at drivers/ata/Kconfig:5 │ Depends on: HAS_IOMEM [=y] && BLOCK [=y] && (!M32R && !M68K || BROKEN [=n]) │ Location: │ -> Device Drivers │ Selects: SCSI [=y]
Zobacz jakich sterowników używasz na tym kernelu na którym wszystko działa i wkompiluj to co trzeba ze sterów ide, a libata całkiem wyłącz.
================================
EDIT: Tak w ogóle to Ty masz Lennego i sam kompilowałeś jajo żeby mieć wsparcie ext4? Zakładając że tak... Sprawdź na dystrybucyjnym kernelu 2.6.32 z backportów dla Lennego (ext4 jest w nim wkompilowane), może tam po prostu będzie działać ;)
Offline

Użytkownik


usunięcie libata z initrd skutkuje tym że system nie chce się uruchomić.
No nic sprawdzę jeszcze kompilację kernela bez libata
-- EDIT --
Dziś zrobiłem upgrade systemu do Squeez i zainstalowałem jajko systemowe (myślałem że to pomoże) ale sytuacja bez zmian.
Ostatnio edytowany przez life (2010-12-12 21:48:31)
Offline

Użytkownik

Użytkownik


Przekompilowane jądro, bez libata (ata_generic i sterowniki mostka płyty vtxxx) dyski nadal widoczne jako sdx i hdparm
Zbig - sprawdzę jeszcze z latop-detect i acpi-support może pomoże, dzięki
Offline


Użytkownik



Za sdx odpowiadają sterowniki scsi
Offline

Użytkownik


to wiem i jest do tego sdparm ale jego skladnia jest zupełnie inna i nie ma wszystkich opcji co hdparm a manual mało czytelny jak dla mnie.
Ostatnio edytowany przez life (2010-12-13 13:43:10)
Offline




Pan inż. Cyc





O po co chcesz wydłużyć czas bezczynności konieczny do zaparkowania głowicy oraz wyłączać jego zasilanie? Bo o uwstecznianiu jajka nie ma co mówić.
Offline

Użytkownik


qluk napisał(-a):
O po co chcesz wydłużyć czas bezczynności konieczny do zaparkowania głowicy oraz wyłączać jego zasilanie? Bo o uwstecznianiu jajka nie ma co mówić.
Bo w chwili obecnej parkuje mi nawet około 200-300 razy na dobę.
Offline




Pan inż. Cyc





Ale to nie wyjaśnia paradoksu z wyłączeniem. I co z tego że parkuje. Ma parkować bo inaczej zaora o talerz.
Offline

Użytkownik


Dysk jest nowy ma przepracowane 98 godzin i zaliczył 1300 parkowań głowicy. Czyli co mam się tym nie przejmować?
Offline




Pan inż. Cyc





Większość nowych dysków ma mechanizmy oszczędzania energii. Żeby dysk wyhamować trzeba przemieścić głowice w bezpieczne położenie. Identycznie jest gdy dysk ma.zmienną prędkość wirowania jako mechanizm oszczędzania energii. Problem parkowania wplywa na responsywnosc podczas wybudzenia.
Wogóle to zacznijmy od tego że nie wiemy jaki to dysk i co SMART wykazuje.
Offline

Użytkownik


Dysk 3,5 cala, 1,5TB WD (seria green), po południu postaram się wrzucić to co wypluwa SMART.
Te parkowanie nie będzie mi przeszkadzać, jeśli będę wiedział że oscyluje w bezpiecznym zakresie, a na chwilę obecną to nie wiem czy jest to norma czy nie.
-- EDIT --
Znalazłem informacje na stronie WD że ilość cykli jaką gwarantują to 300 000 (Load/Unload Cycles) jeśli to ten parametr bo nie było to jakoś dokładnie opisane.
Tak więc przeliczając to co do tej pory było (1300 cykli na 98 godzin pracy) to poziom 300 000 cykli osiągnę za około 2,5 roku. Czyli stosunkowo szybko co jest mało pocieszające.
-- EDIT2 --
Zdaje się że jest to problem dysków WD które przechodzą w stan uśpienia po 8 sekundach bezczynności, jeśli na dysku trwają jakieś operacje to jest to problem częstego wybudzania. Ponoć jest program (wdidle3) którym można zmienić w firmware parametry i zamiast 8 sekund dać np, 5 minut.
Poszperam dokładniej na forum WD, zrobię jakąś bootującą płytę z FreeDOS i zobaczymy :)
Tak czy siak będę tu pisał jak się sprawy mają.
Ostatnio edytowany przez life (2010-12-16 13:15:11)
Offline

Użytkownik


Ogłaszam wszem i wobec że winę za częste parkowanie głowicy ponosił sam dysk a dokładnie jego fabryczne ustawienia który wyrywały bezczynność po 8 sekundach i parkowały głowicę. Wyżej wspomniany program (wdidle3) pozwala na zmianę tego parametru. Ja ustawiłem na 5 minut okres po jakim parkowana jest głowica i póki co sprawuje się świetnie :)
Z tego co wyczytałem na forum WD problem dotyczy większość dysków z serii green.
Offline




Pan inż. Cyc





Najbardziej cieszy mnie fakt że zaczołeś szukać wiedzy i informacji. Jak więc widzisz samo parkowanie to norma. :)
Offline