HDPARM(8) System Manager's Manual HDPARM(8) NAZWA hdparm - pobiera/ustawia parametry dysku SATA/IDE SKLADNIA hdparm [opcje] [urzadzenie ...] OPIS Program hdparm udostepnia interfejs wiersza polecen do roznych interfejsow jadra, obslugiwanych przed linuksowy podsystem SATA/PATA/SAS "libata" i starszy podsystem sterownika IDE. Wiele nowszych (z roku 2008 i nowszych) urzadzen USB obsluguje rowniez "SAT" (SCSI-ATA Command Translation) i dlatego moze rowniez dzialac z hdparm. Dotyczy to na przyklad nowszych modeli dyskow zewnetrznych WD "Passport" i NexStar-3. Czesc opcji moze dzialac poprawnie tylko z najnowszymi jadrami. OPCJE Gdy nie podano opcji, zaklada sie -acdgkmur. W przypadku opcji "pobiera/ustawia", odpytanie bez opcjonalnego parametru (np. -d) odpyta (pobierze) stan urzadzenia, a z parametrem (np. -d0) ustawi stan urzadzenia. -a Pobiera/ustawia wskaznik odczytu z wyprzedzeniem (read-ahead) systemu plikow. Jest to uzywane do zwiekszania wydajnosci w sekwencyjnych odczytach duzych plikow poprzez pobieranie dodatkowych blokow, w nadziei, ze beda potrzebne danemu zadaniu. Wiele sterownikow IDE ma takze wbudowane oddzielne funkcje tego typu, ktore w wielu sytuacjach niweluja potrzebe odczytu z wyprzedzeniem przez system plikow. -A Pobiera/ustawia wlasciwosc odczytu wyprzedzajacego (read-lookahead) napedu IDE (zwykle domyslnie ON -- wlaczona). Uzycie: -A0 (wylacza) lub -A1 (wlacza). -b Pobiera/ustawia stan magistrali. -B Pobiera/ustawia wlasciwosci zaawansowanego zarzadzania energia (APM), o ile naped ja obsluguje. Mala wartosc oznacza agresywne zarzadzanie energia, a duza - wyzsza wydajnosc. Mozliwe wartosci obejmuja zakres od 1 do 127 (ktora pozwala na zatrzymanie talerzy - "spin-down") i wartosci od 128 do 254 (ktora na to nie pozwala). Najwyzszy stopien zarzadzania energia jest ustawiany wartoscia 1, a najwyzsza wydajnosc wejscia/wyjscia wartoscia 254. Wartosc 255 nakazuje hdparm wylaczyc zaawansowane zarzadzenia energia (nie wszystkie dyski potrafia ja wylaczyc, ale wiekszosc tak). -c Pobiera/ustawia obsluge 32-bitowego wejscia/wyjscia w (E)IDE. Mozna uzyc numerycznego parametru wlaczajacego/wylaczajacego obsluge. Obecnie obslugiwane wartosci obejmuja 0 dla wylaczenia obslugi 32-bitowego I/O, 1 dla wlaczenia 32-bitowej transmisji danych, 3 dla wlaczenia 32-bitowej transmisji danych ze specjalna sekwencja sync wymagana przez wiele chipsetow. Wartosc 3 dziala z prawie wszystkimi 32-bitowymi chipsetami IDE, lecz naraza na dodatkowe koszty. Zauwaz, ze "32-bit" odnosi sie do transmisji poprzez magistrale PCI lub VLB, ale tylko do karty interfejsu; wszystkie napedy (E)IDE maja wciaz tylko 16-bitowe polaczenie z karta interfejsu. -C Sprawdza obecny stan trybu zasilania IDE. Jest on zawsze jednym z: unknown (dysk nie obsluguje tego polecenia), active/idle (normalne dzialanie), standby (tryb oszczedzania energii, dysk sie zatrzymal), lub sleeping (najnizszy tryb oszczedzania energii, dysk jest calkowicie wylaczony). Za pomoca opcji -S, -y, -Y, i -Z mozna manipulowac trybami zasilania IDE. -d Pobiera/ustawia flage "using_dma" (uzywajacy DMA) dla tego napedu. Opcja ta dziala tylko z kilkoma kombinacjami napedow i interfejsow, ktore obsluguja DMA, i ktore sa znane sterownikowi IDE. Dobrym pomyslem jest rowniez uzycie odpowiedniej opcji -X w polaczeniu z -d1 aby zapewnic, ze sam naped jest zaprogramowany odpowiedni tryb DMA, choc wiele BIOS-ow powinno zrobic to za uzytkownika podczas uruchamiania komputera. Uzywanie DMA prawie zawsze powoduje zwiekszenie wydajnosci i przepustowosci oraz zmniejsza zuzycie procesora. Lecz jest co najmniej kilka zestawien chipsetow i dyskow, dla ktorych uzycie DMA nie zrobi wiekszej roznicy, lub nawet spowolni dysk (na naprawde spapranym sprzecie). Ale to zalezy. --dco-freeze DCO to skrot od Device Configuration Overlay (nakladka konfiguracji urzadzen), sposobu, w jaki dostawcy selektywnie wylaczaja okreslone funkcje napedu. Opcja --dco-freeze zamraza/blokuje biezaca konfiguracje napedu, uniemozliwiajac w ten sposob oprogramowaniu (lub malware), zmieniac ustawienia DCO po nastepnym ponownym uruchomieniu urzadzenia. --dco-identify Odpytuje i zrzuca informacje na temat ustawien konfiguracji urzadzenia, ktore moga byc wylaczone przez dostawce lub instalatora OEM. Te ustawienia pokazuja mozliwosci napedu, ktore mogly zostac wylaczone przez dostawce, w celu "rozszerzonej kompatybilnosci". Gdy sa wylaczone, sa one ukryte nie beda pokazywane w wyniku polecenia -I. Na przyklad, dostawcy systemu czasami wylaczaja 48-bitowe adresowanie na duzych napedach, z powodow kompatybilnosci (lub jej utraty) z okreslonym BIOS-em. W takich przypadkach --dco-identyfy pokaze, ze naped posiada opcje 48_bit, ale -I nie pokaze jej, ani naped nie bedzie akceptowac polecen 48_bit. --dco-restore Resetuje wszystkie ustawienia, funkcje i dostepne mozliwosci napedu do wartosci fabrycznych i pelnych mozliwosci. Polecenie zawiedzie, jesli DCO zostalo zamrozone/zablokowane, lub gdy ustawiono rowniez maksymalne ograniczenie rozmiaru -Np. Jest to NIEZWYKLE NIEBEZPIECZNE i prawdopodobnie spowoduje powazna utrate danych. Prosze NIE UZYWAC TEGO POLECENIA. --direct Uzywa flagi "O_DIRECT" jadra podczas przeprowadzania pomiarow czasow -t. W ten sposob ominieta jest pamiec podreczna strony, powodujac bezposredni odczyt z napedu do buforow hdparm, uzywajac tzw. "surowego" wejscia/wyjscia. W wielu przypadkach moze to dac znacznie szybsze odczyty niz zwykla metoda stronicowanej pamieci podrecznej, dajac lepszy wskaznik surowej wydajnosci urzadzenia i sterownika. --drq-hsm-error BARDZO NIEBEZPIECZNE, PROSZE NAWET NIE MYSLEC O UZYWANIU TEJ OPCJI. Opcja powoduje wydanie przez hdparm do jadra, niepoprawnie oznaczonego jako "non-data", polecenia IDENTIFY. Powoduje to pozostawienie sterownika z jego wierszem dataReQuest(DRQ) w stanie "utkniecia". Dezorientuje to sterowniki jadra i moze spowodowac natychmiastowa awarie systemu lacznie z powazna utrata danych. Opcja istnieje w celu pomocy w testowaniu i zabezpieczaniu jadra przed rzeczywistymi bledami napedow. BARDZO NIEBEZPIECZNE, NIE UZYWAC! -D Wlacza/wylacza wbudowana w naped wlasciwosc zarzadzania uszkodzeniami, za pomoca ktorej jego firmware probuje automatycznie zarzadzac uszkodzonymi sektorami, przenoszac je na sektory "zapasowe", zarezerwowane fabrycznie do tego celu. Kontrolowanie tej funkcji za pomoca opcji -D nie jest obslugiwane przez wiekszosc wspolczesnych napedow od ATA-4; w zwiazku z tym, to polecenie moze sie nie powiesc. -E Ustawia szybkosc napedu CD/DVD. NIE jest to konieczne do normalnego dzialania, gdyz naped automatycznie sam przelacza predkosci. Jednak jesli chcesz sie nim bawic, podaj po tej opcji wartosc szybkosci, zwykle liczbe taka jak 2 lub 4. Moze byc to niekiedy przydatne, np. aby odtwarzanie filmow z DVD stalo sie plynniejsze. -f Synchronizuje (sync) i oproznia (flush) bufory podreczne urzadzenia przy wyjsciu. Operacja ta jest rowniez wykonywana jako czesc pomiarow -t, -T i innych opcji. --fallocate Opcja dziala obecnie jedynie w systemach plikow ext4 i xfs. Gdy zostanie uzyta, musi byc jedyna podana opcja. Wymaga dwoch parametrow: oczekiwanej wielkosci pliku w kilobajtach (liczba bajtow podzielona przez 1024), a po niej sciezki nowego pliku. Utworzy ona nowy plik o okreslonym rozmiarze, bez zapisywania jakichkolwiek danych do pliku. Jest to zwykle bardzo szybkie i nie obciaza urzadzenia dyskowego. Przykladowo: utworzenie pliku o rozmiarze 10 kB: hdparm --fallocate 10 plik_tymczas --fibmap Gdy zostanie uzyta, musi byc jedyna podana opcja. Wymaga sciezki pliku jako parametru i powoduje wypisanie listy ekstentow (zakresow sektorow) blokow zajetych przez plik na dysku. Numery sektorow sa podane jako absolutne numery LBA, odnoszace sie do sektora 0 fizycznego urzadzenia, a nie do partycji czy systemu plikow. Ta informacja moze byc nastepnie uzyta do wielu celow, takich jak sprawdzanie stopnia fragmentacji wiekszych plikow, czy okreslanie poprawnych sektorow w celu rozmyslnego uszkodzenia podczas procedur testowych wstrzykiwania bledow. Opcja uzywa nowej FIEMAP (file extent map - mapy ekstentow pliku) ioctl(), jesli jest dostepna lub wykorzystuje starsza FIBMAP (file block map - mapa blokow pliku) ioctl() w przeciwnym wypadku. Prosze zauwazyc, ze z powodu wykorzystywania 32-bitowego interfejsu liczb blokow, FIBMAP nie dziala powyzej 8 TB lub 16 TB. FIBMAP jest rowniez bardzo wolna i nie dziala dobrze z zaalokowanymi wstepnie ekstentami w systemach plikow ext4/xfs, chyba ze wykonano sync() przed uzyciej tej opcji. --fwdownload Gdy zostanie uzyta, powinna byc jedyna podana opcja. Wymaga podania bezposrednio po opcji sciezki pliku, z ktorej powinno byc odczytane nowe firmware napedu. Zawartosc pliku zostanie wyslana do napedu przy uzyciu polecenia DOWNLOAD MICROCODE (S)ATA, uzywajac albo protokolu transferu 7 (caly plik na raz), albo, jesli naped to obsluguje, protokolu transferu 3 (pobieranie we fragmentach). Polecenie to jest NIEZWYKLE NIEBEZPIECZNE i moze zniszczyc zarowno naped, jak i jego wszystkie dane. Prosze NIE UZYWAC TEGO POLECENIA. Odmiany --fwdownload-mode3 , --fwdownload-mode3-max i --fwdownload-mode7 pozwalaja na przesloniecie automatycznie wykrytego protokolu, wymuszajac na hdparm uzycie okreslonego protokolu transferu (jedynie do celow testowych). -F Oproznia bufory zapisu dysku (starsze napedy moga nie implementowac tej funkcji). -g Pokazuje geometrie dysku (cylindry, glowice, sektory), rozmiar (w sektorach), a takze przesuniecie (w sektorach) poczatku urzadzenia, poczynajac od poczatku napedu. -h Pokazuje krotka informacje o uzyciu (pomoc). -H Odczytuje temperature niektorych dyskow (glownie Hitachi). Informuje rowniez, czy temperatura znajduje sie w zalecanym przedziale wartosci (moze nie byc to wiarygodne). Nie powoduje to rozkrecenia talerzy napedu, jesli znajduje sie w stanie bezczynnosci. -i Pokazuje informacje identyfikacyjne, ktore sterowniki jadra (IDE, libata) pobraly z napedu podczas startu/konfiguracji, o ile sa one dostepne. Rezultaty moga sie roznic od biezacych informacji pozyskiwanych bezposrednio ze sterownika opcja -I. Zwracane dane moga nie byc aktualne, zaleznie od czynnosci wykonanych po uruchomieniu systemu. Dla dokladniejszej interpretacji informacji identyfikacyjnych, odsylamy do AT Attachment Interface for Disk Drives (ANSI ASC X3T9.2 working draft, revision 4a, April 19/93 i pozniejsze edycje). --idle-immediate Wykonuje polecenie ATA IDLE_IMMEDIATE, powodujac przejscie napedu w nizszy stan zasilania. Z reguly talerze napedu nie ulegaja zatrzymaniu. --idle-unload Wykonuje polecenie ATA IDLE_IMMEDIATE_WITH_UNLOAD, powodujac odlaczenie lub zaparkowanie glowic i przejscie napedu w nizszy stan zasilania. Z reguly talerze napedu nie ulegaja zatrzymaniu. -I Zada informacji identyfikacji bezposrednio od napedu. Informacja jest wyswietlana w nowym, rozszerzonym formacie z wieksza iloscia szczegolow, niz przy starszej opcji -i. --Iraw sciezka Opcja zrzuca informacje identyfikujace w surowym formacie binarnym do podanego pliku. --Istdin Jest to specjalna odmiana opcji -I, ktora akceptuje blok identyfikacyjny dysku jako standardowe wejscie zamiast uzywania parametru /dev/hd*. Format tego bloku musi byc dokladnie taki sam jak w "plikach" /proc/ide/*/hd*/identify lub utworzony za pomoca opcji --Istdout opisanej ponizej. Ta odmiana jest przeznaczona do uzytku z "bibliotekami" informacji identyfikacyjnych dysku, oraz z dyskami ATAPI, dla ktorych standardowe mechanizmy moga dzialac blednie. Gdy uzywana jest opcja --Istdin, musi byc ona *jedynym* podanym parametrem. Prosze zauwazyc, ze niektore informacje moga byc niekompletne, poniewaz strony dziennika napedu sa niedostepne gdy uzyto opcji --Istdin. --Istdout Opcja zrzuca informacje identyfikacyjne dysku w zapisie szesnastkowym na standardowe wyjscie, w formacie podobnym do /proc/ide/*/identify i odpowiednim do pozniejszego uzycia z opcja --Istdin. -J Pobiera/ustawia wartosc czasu oczekiwania "idle3" dyskow Western Digital (WD) Green Drive. Czas ten kontroluje czestosc parkowania glowic dysku i przejscia w nizszy stan zasilania. Ustawieniem fabrycznym jest osiem (8) sekund, co jest bardzo kiepskim wyborem do systemu Linux. Pozostawienie wartosci domyslnej, powoduje setki lub tysiace cykli ladowania/odlaczenia glowic w bardzo krotkim czasie. Mechanizm dysku zostal zaprojektowany na 300 000 do 1 000 000 cykli, tak wiec pozostawienie wartosci domyslnej moze spowodowac przedwczesne zuzycie dysku, nie wspominajac o wplywie na wydajnosc, gdy naped czesto musi sie wybudzic przed wykonaniem operacji wejscia/wyjscia. Firma WD dostarcza DOS-owe narzedzie WDIDLE3.EXE do zmiany tego ustawienia i powinno sie go uzyc zamiast hdparm, gdy tylko to mozliwe. Implementacja w hdparm, uzyskana za pomoca inzynierii wstecznej nie jest tak kompletna jak oryginalny i oficjalny program, nawet jesli wyglada na dzialajaca na przynajmniej kilku sztukach tych dyskow. Aby zmiana w ustawieniach zadzialala, potrzebny jest pelny cykl zasilania (wlaczenie i wylaczenie), niezaleznie od tego, ktory program zostanie uzyty do zmiany ustawien. Zaleca sie ustawienie wartosci 30 sekund do uzycia z Linuksem. Dozwolonymi wartosciami jest 8 do 12 sekund, a nastepnie 30 do 300 sekund w 30 sekundowych odstepach. Podanie wartosci zero (0) wylaczy calkowicie czas idle3 dyskow WD (NIE ZALECANE!). -k Pobiera/ustawia flage "keep_settings_over_reset" (zachowaj ustawienia po resecie). Gdy ta flaga jest ustawiona, sterownik bedzie chronil opcje -dmu po miekkim resecie (wykonanym np. podczas sekwencji odzyskiwania po bledzie). Flaga ta domyslnie jest wylaczona, aby uchronic naped przed petlami resetowan, ktore moglyby byc spowodowane kombinacjami ustawien -dmu Opcja -k powinna wiec byc ustawiana tylko gdy jest sie przekonanym, ze to co robisz jest dobre. Praktycznie, wszystko co trzeba zrobic aby przetestowac konfiguracje (przed uzyciem -k) to sprawdzenie czy naped daje sie odczytac/zapisac i czy proces nie generuje bledow w logach (komunikaty jadra) (w wiekszosci systemow nalezy zajrzec do /var/log/messages). -K Ustawia flage "keep_features_over_reset" (zachowaj wlasciwosci po resecie). Jej ustawienie powoduje, ze naped odzyskuje po miekkim resecie ustawienia dla -APSWXZ. Nie wszystkie napedy obsluguja te wlasciwosc. -L Ustawia flage blokowania drzwiczek (doorlock flag). Wartosc 1 spowoduje zablokowanie drzwiczek niektorych wymiennych dyskow twardych (np. Syquest, ZIP, Jazz...). Z kolei wartosc 0 spowoduje odblokowanie drzwiczek. Normalnie Linux automatycznie zarzadza mechanizmem blokowania drzwiczek, w zaleznosci od eksploatacji dysku (zablokowane, gdy system plikow jest zamontowany). Lecz podczas zamykania systemu moze byc to uciazliwe, gdy glowna partycja znajduje sie na dysku wymiennym, gdyz partycja ta pozostaje zamontowana (w trybie tylko-do-odczytu) po zamknieciu systemu. Dzieki uzyciu tej opcji po przemontowaniu glownego systemu plikow w trybie tylko-do-odczytu mozliwe jest wyjecie kasety ze stacji po zamknieciu systemu. -m Pobiera/ustawia licznik sektorow dla wielosektorowego I/O w napedzie. Ustawienie 0 wylacza te wlasciwosc. Tryb ten (inaczej znany jako IDE Block Mode) jest wlasciwoscia wiekszosci nowoczesnych dyskow twardych IDE, zezwalajaca na transfer wielu sektorow na przerwanie I/O, w przeciwienstwie do tradycyjnego jednego sektora. Gdy wlaczona jest ta wlasciwosc, zazwyczaj obciazenie I/O przez system zmniejsza sie o 30-50%. W wielu systemach powoduje to takze zwiekszenie przeplywu danych o 5% do 50%. Mimo to, niektore napedy (najbardziej zauwazalnie seria WD Caviar), wydaja sie dzialac wolniej w tym trybie. Roznie to jednak bywa. Wiekszosc napedow wspiera minimalny zestaw ustawien obejmujacy 2, 4, 8 i 16 (sektorow). Dla niektorych dyskow mozliwe sa takze wieksze wartosci. Ustawienie 16 lub 32 wydaje sie optymalnym dla wielu systemow. Western Digital zaleca nizsze ustawienia od 4 do 8 na wielu z ich dyskow, a to z powodu malych (32KB) buforow w napedach i niezoptymalizowanych algorytmow buforowania. Opcja -i moze sluzyc do znajdywania maksymalnej wspieranej wartosci zainstalowanego napedu (szukaj MaxMultSect na wyjsciu). Niektore napedy twierdza, ze wspieraja ten tryb, lecz traca dane przy niektorych ustawieniach. W rzadkich wypadkach, takie bledy moga spowodowac powazne uszkodzenie systemu plikow. --make-bad-sector Celowo tworzy uszkodzony sektor (bad sector, media error) na dysku. NIEZWYKLE NIEBEZPIECZNE, NIE UZYWAC TEJ OPCJI!. Moze byc to przydatne przy testowaniu mechanizmow odzyskiwania bledow urzadzenia/RAID. Numer sektora jest podany jako (dziesiatkowy) parametr po opcji. W zaleznosci od urzadzenia, hdparm wybierze jedno z dwoch dostepnych polecen ATA do uszkodzenia sektora. WRITE_LONG dziala w przypadku wiekszosci urzadzen, lecz jedynie do granicy 28-bitow. Czesc najnowszych napedow (2008) moze obslugiwac nowe polecenie WRITE_UNCORRECTABLE_EXT, ktore dziala na wszystkich sektorach LBA48. Jesli jest ono dostepne, hdparm uzyje go zamiast WRITE_LONG. Samo polecenie WRITE_UNCORRECTABLE_EXT prezentuje wybor jak nowy uszkodzony sektor powinien sie zachowywac. Domyslnie, wyglada on jak kazdy inny uszkodzony sektor i napedowi moze zajac nieco czasu aby wykonac kolejne ponowne i nieudane proby odczytu (READ) sektora. Jesli jednak poda sie pojedyncza litere f bezposrednio przed pierwsza cyfra parametru numeru sektora, to hdparm wykona "flagowane" WRITE_UNCORRECTABLE_EXT, ktore powoduje, ze naped oznacza sektor jako uszkodzony (zamiast rzeczywiscie go uszkadzac), dzieki czemu proby odczytu (READ) sektora natychmiast sie nie powioda (zamiast po kilku kolejnych probach). Prosze zauwazyc, ze opcja --repair-sector moze byc uzyta aby odzyskac (kazdy) uszkodzony sektor, gdy nie jest on dluzej potrzebny, wlaczajac w to rowniez sektory rzeczywiscie uszkodzone (naped prawdopodobnie przemapuje je do przestrzeni zapasowej dysku). -M Pobiera/ustawia wartosc Automatycznego Zarzadzania Glosnoscia (Automatic Acoustic Management - AAM). Wiekszosc nowych dyskow ma mozliwosc zwolnienia obrotow glowicy aby zredukowac poziom halasu. Wartosci moga byc z przedzialu od 0 do 254. 128 jest najcichszym (a zatem najwolniejszym) ustawieniem, a 254 najszybszym (i najglosniejszym). Niektore dyski maja tylko dwa poziomy (cichy / szybki), a inne moga przyjmowac wszystkie wartosci od 128 do 254. W tej chwili, wiekszosc napedow obsluguje jedynie 3 opcje: wylaczone, cichy i szybki. Mozna im przypisac obecnie, odpowiednio, wartosci 0, 128 i 254, ale pozostale wartosci zostaly przeznaczone do przyszlych rozszerzen, wiec moze to ulec zmianie. -n Pobiera lub ustawia flage "ignore_write_errors" (ignoruj bledy zapisu) w sterowniku. NIE baw sie tym bez uprzedniego zapoznania sie z kodem zrodlowym sterownika. -N Pobiera/ustawia maksymalna widzialna liczbe sektorow, znana rowniez jako ustawienie Host Protected Area. Bez parametru, -N wyswietla biezace ustawienie, ktore jest wyswietlane jako dwie wartosci: pierwsza okresla biezace maksymalne ustawienie sektorow, druga pokazuje natywny (rzeczywisty) limit sprzetowy dysku. Roznica pomiedzy tymi dwiema wartosciami wskazuje na liczbe sektorow, ktore sa aktualnie ukryte dla systemu operacyjnego w formie Host Protected Area (HPA). Obszar ten jest czesto uzywany przez osoby skladajace komputer do przechowania oprogramowania diagnostycznego i/lub kopii oryginalnego systemu operacyjnego w celach odzyskiwania. Innymi mozliwymi powodami moga byc ukrycie rzeczywistej pojemnosci bardzo duzego dysku dla BIOS-u/systemu, ktory nie moze normalnie funkcjonowac z dyskami tego rozmiaru (np. obecnie (2010) BIOS-y nie potrafia poradzic sobie z dyskami o rozmiarze przekraczajacym 2 TB, a HPA moze byc uzyte do raportowania przez dysk o pojemnosci 3 TB, ze ma 2 TB). Aby zmienic biezace maksimum (BARDZO NIEBEZPIECZNE, UTRATA DANYCH JEST NIEZWYKLE PRAWDOPODOBNA), nowa wartosc powinna byc dostarczona (dziesiatkowo) zaraz po opcji -N. Wartosc ta jest okreslona jako liczba sektorow, zamiast "maksymalny adres sektora" dysku. Napedy korzystaja z pomyslu tymczasowych (ulotnych) ustawien, ktore sa tracone przy nastepnym resecie sprzetowym oraz bardziej stalej (nieulotnej) wartosci, ktora nie jest zmieniana w czasie resetow i kolejnych cykli zasilania. Domyslnie, -N zmienia jedynie ustawienie tymczasowe (ulotne). Aby zmienic wartosc stala (nieulotna), prosze poprzedzic pierwsza cyfre wartosci poczatkowym znakiem p. Napedy sa zaprojektowane na pozwolenie na tylko jedna zmiane wartosci stalem w sesji. Przed kolejna, permanentna operacja -N konieczny jest reset sprzetowy (lub wylaczenie i wlaczenie). Prosze zauwazyc, ze kazda proba zmienienia tej wartosci moze zawiesc, jesli dysk jest dostepny dla innego programu w tym samym czasie. Jest tak, poniewaz ustawienie wartosci wymaga wymiany pary polecen dyskowych, ale nie ma sposobu na zapobiegniecie wstawienia pomiedzy nie innych polecen przez jadro. Jesli wiec zmiana poczatkowo sie nie powiedzie, prosze po prostu sprobowac ponownie. Obsluga opcji -N przez jadro jest bledna dla wielu typow adapterow przez w wielu wersjach jadra. Raportowana jest wowczas niekiedy nieprawidlowa (zbyt mala) wartosc maksymalnego rozmiaru. Obecnie (jadro 2.6.27) wyglada na to, ze w koncu dzialanie powinno byc poprawne w przypadku wiekszosci sprzetu. --offset Przesuwa (offset) do podanego numeru GiB (1024*1024*1024), podczas przeprowadzania pomiarow czasu -t odczytu urzadzenia. Szybkosc zmienia sie (okolo dwukrotnie) w przypadku wielu dyskow mechanicznych. Z reguly, choc nie zawsze, najwieksza jest na poczatku dysku. Napedy solid-state drive (SSD) powinny wykazywac podobne czasy niezaleznie od przesuniecia. -p Probuje przeprogramowac chipset interfejsu IDE na okreslony tryb PIO, lub probuje automatycznie dostosowac sie do "najlepszego" trybu PIO obslugiwanego przez naped. Wlasciwosc ta jest obslugiwana w jadrze tylko dla kilku "znanych" chipsetow i nawet ta obsluga jest co najwyzej niepewna. Niektore chipsety IDE nie sa w stanie zmienic trybu PIO dla pojedynczego napedu; wowczas opcja ta moze spowodowac ustawienie trybu PIO dla obydwu napedow. Wiele chipsetow IDE wspiera albo mniej, albo wiecej niz standardowe 6 (od 0 do 5) trybow PIO, wiec dokladne ustawienie szybkosci, ktore wlasciwie jest zaimplementowane, bedzie roznic sie zaleznie od wyrafinowania chipsetu/sterownika. Uzywaj z wielka ostroznoscia! Wlasciwosc ta nie chroni przed nierozwaga, a niepomyslne dzialanie moze spowodowac powazne uszkodzenie systemu plikow! -P Ustawia maksymalny licznik sektorow dla wewnetrznych mechanizmow preodczytu napedu. Nie wszystkie napedy obsluguja te wlasciwosc i zostala ona usunieta z oficjalnej specyfikacji od ATA-4. --prefer-ata12 W czasie uzywania protokolu SAT (SCSI ATA Translation), hdparm zwykle preferuje uzycie polecen 16-bajtowych gdzie to tylko mozliwe. Czesc napedow zewnetrznych USB nie dziala poprawnie z poleceniami 16-bajtowymi. Opcja moze zostac uzyta do wymuszenia mniejszego, 12-bajtowego formatu polecen do takich napedow. Program hdparm wciac bedzie uzywal polecen 16-bajtowym do rzeczy, ktore nie moga byc wykonane przy uzyciu formatu 12-bajtowego (np. sektory wykraczajace poza format 28-bajtowy). -q Obsluguje nastepna opcje cicho, nie wydajac zwyklych komunikatow (nie dotyczy do komunikatow o bledach) na wyjscie. Jest to przydatne do zmniejszenia zamieszania na ekranie w wypadku uruchamiania ze skryptow startowych. Nie mozna stosowac do opcji -i, -v, -t, oraz -T. -Q Pobiera lub ustawia queue_depth polecen urzadzenia, jesli jest to obslugiwane przez sprzet. Opcja dziala tylko z jadrami 2.6.xx (i nowszymi) i jedynie z kombinacja urzadzen i sterownika, ktora obsluguje zmiane queue_depth. W przypadku dyskow SATA jest to glebokosc kolejki Native Command Queuing (NCQ). -r Pobiera/ustawia flage read-only (tylko do odczytu) urzadzenia. Gdy jest ustawiona, Linux nie pozwala na operacje zapisu na tym urzadzeniu. -R Pobiera/ustawia funkcje Write-Read-Verify, jesli naped ja obsluguje. Uzycie: -R0 (wylaczone) lub -R1 (wlaczone). Funkcja przeznaczona jest do automatycznego ponownego odczytania przez firmware dysku danych, ktore zostaly zapisane przez oprogramowanie, w celu weryfikacji, czy zapis odbyl sie poprawnie. Ogolnie rzecz biorac jest to zachowanie przesadne, ktore moze spowolnic zapis na dysk dwukrotnie (lub jeszcze bardziej). --read-sector Odczytuje z okreslonego numera sektora i zrzuca jego zawartosc w zapisie szesnastkowym na standardowe wyjscie. Sektor wiersza musi byc podany (dziesietnie) po opcji. Program hdparm wykona niskopoziomowy odczyt (kompletnie omijajac zwykla warstwe blokowa mechanizmow odczytu/zapisu) podanego sektora. Mozna uzyc tej opcji do definitywnego rozstrzygniecia czy dany sektor jest uszkodzony (bad sector, media error) czy tez nie (uczynienie tego za pomoca zwyklych mechanizmow moze niekiedy dac falszywe alarmy). --repair-sector Jest to alias BARDZO NIEBEZPIECZNEJ opcji --write-sector. -s Wlacza/wylacza funkcje zasilania w trybie gotowosci, jesli jest obslugiwana przez naped. BARDZO NIEBEZPIECZNE. Prosze jej nie uzywac, chyba ze jest sie absolutnie pewnym, ze zarowno systemowy BIOS (lub firmware) jak i jadro systemu operacyjnego (Linux >=2.6.22) obsluguje probkowanie urzadzenia w celu uzycia tej funkcji. Gdy jest wlaczona, naped jest zasilany w trybie standby (gotowosci), pozwalajac kontrolerowi na uruchomienie urzadzen po kolei, redukujac chwilowy pobor energii, gdy wiele napedow jest podlaczonych do tego samego zasilacza. Przydatne glownie do duzych zestawow RAID. Funkcja jest zwykle wylaczona, a naped jest zasilany, gdy jest w trybie active - aktywnym (patrz powyzej, opcja -C). Prosze zauwazyc, ze naped moze rowniez pozwalac na wlaczenie tej opcji za pomoca zworki. Czesc dyskow SATA obsluguje kontrole tej funkcji za pomoca pinu 11. w zlaczu zasilania SATA. W takich przypadkach, polecenie moze nie byc obslugiwane, lub moze byc ignorowane. -S Ustawia naped w trybie idle (nizszego niskiego poboru energii), ustawia rowniez czas oczekiwania standby (zatrzymania dysku). Wartosc ta jest uzywana przez naped w celu uzyskania informacji o tym, jak dlugo oczekiwac (bez aktywnosci dyskowych) przed wylaczeniem silnika w celach oszczednosci mocy. W takich warunkach, dysk moze potrzebowac do 30 sekund aby odpowiedziec na nagle odwolanie, choc wiekszosc napedow robi to znacznie szybciej. Odczytanie wartosci czasu oczekiwania jest nieco osobliwe. Wartosc 0 oznacza "czasy oczekiwania sa wylaczone": naped nie przejdzie do trybu standby w sposob automatyczny. Wartosci od 1 do 240 okreslaja wielokrotnosci 5 sekund, czyli daja czasy oczekiwania od 5 sekund do 20 minut. Wartosci od 241 do 251 okreslaja od 1. do 11. jednostki po 30 minut dla czasow od 30 minut do 5,5 godzin. Wartosc 252 oznacza czas oczekiwania 21 minut, 253 ustawia czas oczekiwania zdefiniowany przez dostawce, zamykajacy sie miedzy 8 a 12 godzinami, a wartosc 254 jest zarezerwowana. 255 jest interpretowane jako 21 minut plus 15 sekund. Prosze zauwazyc, ze czesc starszych napedow moze intepretowac te wartosci w calkowicie inny sposob. --set-sector-size Przypadku urzadzen obslugujacych zmiane konfiguracji rozmiaru sektora logicznego, ta flaga mozna podac zadany nowy rozmiar sektora w bajtach. BARDZO NIEBEZPIECZNE. Najprawdopodobniej zniszczy wszystkie dane na dysku. Podany rozmiar musi byc jednym z nastepujacych: 512, 520, 528, 4096, 4160 lub 4224. Jedynie kilka napedow obsluguje wartosci inne niz 512 i 4096. Przyklad: hdparm --set-sector-size 4096 /dev/sdb -t Dokonuje pomiarow czasu odczytow z urzadzenia dla celow porownawczych i testow wydajnosciowych. Aby uzyskac miarodajne wyniki, operacja ta powinna byc powtarzana 2-3 razy na nieaktywnym pod innymi wzgledami systemie (bez innych aktywnych procesow) z przynajmniej kilkoma megabajtami wolnej pamieci. Wyswietlana jest szybkosc odczytu poprzez bufory cache z dysku, bez wczesniejszego cache'owania danych. Wartosc ta jest miara szybkosci, z jaka naped jest w stanie obslugiwac liniowe odczyty danych pod Linuksem bez obciazenia zwiazanego z systemem plikow. Aby zapewnic dokladne pomiary, cache jest oprozniany za pomoca ioctl BLKFLSBUF. -T Dokonuje pomiarow czasu odczytow z cache dla celow porownawczych i testow wydajnosciowych. Aby uzyskac miarodajne wyniki, operacja ta powinna byc powtarzana 2-3 razy na nieaktywnym pod innymi wzgledami systemie (bez innych aktywnych procesow) z przynajmniej kilkoma megabajtami wolnej pamieci. Wyswietlana jest szybkosc odczytu bezposrednio z linuksowych buforow cache, bez dostepu do dysku. Wartosc ta jest wskaznikiem przeplywu danych miedzy procesorem, cache i pamiecia systemu. --trim-sector-ranges Do napedow Solid State Drive (SSD). NIEZWYKLE NIEBEZPIECZNE. NIE UZYWAC TEJ OPCJI! Nakazuje firmware dysku odrzucac niepotrzebne sektory danych, niszczac wszelkie dane, ktore moga one zawierac. W tej sposob sektory te sa dostepne do natychmiastowego uzycia przez mechanizm odsmiecania pamieci (garbage collection) firmware, w celu poprawy rownomiernego poziomu zuzycia komorek flash. Opcja oczekuje podania jednego lub wiecej par zakresow zaraz po niej w formie: poczatek adresu LBA, dwukropek i liczba sektorow (maksymalnie 65535) bez spacji w pojedynczym zapisie. NIEZWYKLE NIEBEZPIECZNE. NIE UZYWAC TEJ OPCJI! Przyklad: hdparm --trim-sector-ranges 1000:4 7894:16 /dev/sdz --trim-sector-ranges-stdin Identyczne do --trim-sector-ranges powyzej, z wyjatkiem tego, ze lista par lba:liczba jest czytana ze standardowego wejscia, zamiast byc podana w wierszu polecen. Mozna wykorzystac te opcje do unikniecia problemow z wyjatkowo dlugimi wierszami polecenia. Pozwala to rowniez na skumulowanie wielu wiecej zakresow sektorow w jedno polecenie, az do aktualnie skonfigurowanego limitu transferu (max_sectors_kb). -u Pobiera/ustawia flage interrupt-unmask napedu. Ustawienie 1 zezwala sterownikowi na niemaskowanie innych przerwan podczas przetwarzania przerwania dyskowego, co w znaczacym stopniu zmniejsza czas reakcji na Linuksa na polecenia uzytkownika i eliminuje bledy "serial port overrun". Uzywajac tej opcji nlezy zachowac ostroznosc: niektore kombinacje napedu/kontrolera nie radza sobie dobrze z ta wlasciwoscia, co moze spowodowac powazne uszkodzenie systemu plikow. W szczegolnosci, interfejsy CMD-640B i RZ1000 (E)IDE moga byc niestabilne (z powodu usterek sprzetowych) gdy opcja ta jest uzywana z wersjami jadra wczesniejszymi niz 2.0.13. Wylaczenie wlasciwosci IDE prefetch tych interfejsow (zwykle ustawienie BIOS/CMOS) daje bezpieczne rozwiazanie tego problemu dla wczesniejszych jader. -v Wypisuje niektore podstawowe ustawienia, tak jak -acdgkmnru dla IDE. Jest to tez domyslne zachowanie, kiedy nie poda sie zadnych opcji. -V Wyswietla wersje programu i natychmiast konczy prace. --verbose Wyswietla dodatkowe informacje diagnostyczne w przypadku niektorych polecen. -w Resetuje urzadzenie (NIEBEZPIECZNE). NIE uzywaj tej opcji. Jest ona tylko do uzytku w nieoczekiwanych sytuacjach, gdy dla przywrocenia dysku do stanu uzywalnosci i tak moze byc konieczne przeladowanie systemu. --write-sector Zapisuje zera do podanego numeru sektora. BARDZO NIEBEZPIECZNE. Numer sektora musi zostac podany (dziesiatkowo) po opcji. Program hdparm wykona niskopoziomowy zapis (calkowicie omijajac zwykla warstwe blokowa mechanizmow odczytu/zapisu) do okreslonego sektora. Moze to zostac wykorzystane do wymuszenia na napedzie naprawe uszkodzonego sektora (bad sector, media error). -W Pobiera/ustawia funkcje pamieci podrecznej zapisu (write-caching) napedow IDE/SATA. -X Ustaw tryb transferu IDE dla nowszych napedow (E)IDE/ATA. Jest to zazwyczaj uzywane lacznie z -d1 gdy wlacza sie DMA do/z napedu na wspieranym chipsecie interfejsu, przy czym -X mdma2 sluzy do wyboru trybu transferow multiword DMA mode2 a -X sdma1 do wyboru prostego trybu mode1 transferow DMA. Na systemach, ktore wspieraja UltraDMA uzycie -X udma2 sluzy do ustawiania trybu transferow UltraDMA mode2 (bedziesz musial przygotowac wczesniej chipset do uzycia UltraDMA). Poza tym, uzycie tej opcji jest rzadko potrzebne gdyz wiekszosc/wszystkie nowoczesne napedy IDE domyslnie ustawiaja sie w najszybszym ze swoich trybow PIO przy wlaczaniu. Manipulowanie tym moze byc bezcelowe i ryzykowne. Na dyskach, ktore wspieraja alternatywne tryby transferu, -X moze sluzyc do przelaczania tylko trybu napedu. Przed zmiana trybu transferu, interfejs IDE powinien byc ustawiony za pomoca zworek lub zaprogramowany (zobacz opcje -p) do nowego trybu, aby zapobiec utracie i/lub zniszczeniu danych. Uzywaj tego ze szczegolna uwaga! Dla trybow transferu PIO (Programmed Input/Output), uzywanych przez Linuksa, wartosc ta jest zwyczajnie oczekiwanym numerem trybu PIO plus 8. Dlatego wartosc 09 ustawia tryb PIO mode1, 10 PIO mode2, a 11 wybiera PIO mode3. Ustawienie 00 odtwarza "domyslny" tryb PIO dysku, a 01 wylacza IORDY. W przypadku trybu multiword DMA, uzywana wartoscia jest oczekiwany tryb DMA plus 32. Dla UltraDMA wartoscia jest oczekiwany numer trybu UltraDMA plus 64. -y Zmusza naped IDE do natychmiastowego przejscia w tryb mniejszego zuzycia energii: standby. To najczesciej powoduje zwolnienie pracy dysku. aktualny tryb moze byc sprawdzony dzieki opcji -C. -Y Zmusza naped IDE do natychmiastowego przejscia w tryb najmniejszego zuzycia energii: sleep. To kompletnie wylacza naped. Aby naped byl dostepny ponownie potrzebny jest twardy lub miekki reset (sterownik IDE Linuksa automatycznie wykona reset gdy bedzie potrzebny). Aktualny tryb moze byc sprawdzony dzieki opcji -C. -z Zmusza jadro do ponownego odczytu tablicy partycji podanych urzadzen. -Z Wylacza automatyczne funkcje oszczedzania energii w niektorych napedach Seagate (modelach ST3xx?), aby uchronic je od wylaczania sie w nieoczekiwanych momentach. Zestaw funkcji bezpieczenstwa ATA Eksperymenty z ponizszymi przelacznikami sa NIEBEZPIECZNE i moga nie dzialac z niektorymi jadrami. UZYCIE NA WLASNE RYZYKO. --security-help Wyswietla krotka informacje o uzyciu na temat wszystkich opcji --security-*. --security-freeze Zamraza ustawienia bezpieczenstwa napedu. Naped nie akceptuje zadnych polecen bezpieczenstwa do kolejnego resetu przy podlaczeniu zasilania. Prosze uzyc te funkcje w kombinacji z --security-unlock do zabezpieczenia dysku przed jakimikolwiek probami ustawienia nowego hasla. Moze rowniez zostac uzyta samodzielnie. Z ta opcja nie mozna podac w wierszu polecen zadnych innych opcji. --security-prompt-for-password Pyta o HASLO do opcji --security zamiast uzyskiwac go z argumentow podanych w wierszu polecen. W ten sposob unika sie ujawniania hasel w historii powloki lub w /proc/self/cmdline podczas wykonywania operacji. --security-unlock HASLO Odblokowuje naped, uzywajac hasla HASLO. Haslo jest podane jako lancuch ASCII i jest uzupelniane znakami NUL do wielkosci 32 bajtow. Odpowiednie haslo napedu jest wybierane przelacznikiem --user-master (domyslnie jest to haslo uzytkownika - "user"). Z ta opcja w wierszu polecen nie mozna podac zadnych innych. --security-set-pass HASLO Blokuje naped, uzywajac hasla HASLO (ustawia haslo) (NIEBEZPIECZNE). Haslo jest podane jako lancuch ASCII i jest wyrownany znakami NUL do wielkosci 32 bajtow. Uzycie hasla specjalnego NULL ustawia puste haslo. Odpowiednie haslo napedu jest wybierane przelacznikiem --user-master (domyslnie jest to haslo uzytkownika - "user"), a odpowiedni tryb bezpieczenstwa jest wybierany przelacznikiem --security-mode. Z ta opcja w wierszu polecen nie mozna podac zadnych innych. --security-disable HASLO Wylacza blokowanie napedu, uzywajac hasla HASLO. Haslo jest podane jako lancuch ASCII i jest uzupelniane znakami NUL do wielkosci 32 bajtow. Odpowiednie haslo napedu jest wybierane przelacznikiem --user-master (domyslnie jest to haslo uzytkownika - "user"). Z ta opcja w wierszu polecen nie mozna podac zadnych innych. --security-erase HASLO Wykasowuje (zablokowany) naped, uzywajac hasla HASLO (NIEBEZPIECZNE). Haslo jest podane jako lancuch ASCII i jest wyrownany znakami NUL do wielkosci 32 bajtow. Uzycie hasla specjalnego NULL reprezentuje puste haslo. Odpowiednie haslo napedu jest wybierane przelacznikiem --user-master (domyslnie jest to haslo uzytkownika - "user"). Z ta opcja w wierszu polecen nie mozna podac zadnych innych. --security-erase-enhanced HASLO Wykonuje rozszerzone kasowanie (zablokowanego) napedu, uzywajac hasla HASLO (NIEBEZPIECZNE). Haslo jest podane jako lancuch ASCII i jest uzupelniane znakami NUL do wielkosci 32 bajtow. Odpowiednie haslo napedu jest wybierane przelacznikiem --user-master (domyslnie jest to haslo uzytkownika - "user"). Z ta opcja w wierszu polecen nie mozna podac zadnych innych. --user-master UZYTKOWNIK Okresla ktore haslo wybrac (uzytkownika - user lub glowne - master). Domyslnym wyborem jest haslo uzytkownika. Uzyteczne jedynie w polaczeniu z --security-unlock, --security-set-pass, --security-disable, --security-erase lub --security-erase-enhanced. u haslo uzytkownika - user m haslo glowne - master --security-mode TRYB Okresla ktory tryb bezpieczenstwa (wysoki - high lub maksymalny - maximum) ustawic. Domyslnym wyborem jest wysoki. Uzyteczne tylko w polaczeniu z --security-set-pass. h wysokie (high) bezpieczenstwo m maksymalne (maximum) bezpieczenstwo TA FUNKCJA JEST EKSPERYMENTALNA I NIEZBYT DOBRZE PRZETESTOWANA. UZYCIE NA WLASNE RYZYKO. PLIKI /etc/hdparm.conf USTERKI Jak zauwazono powyzej, opcje -m sectcount i -u 1 powinny byc uzywane z ostroznoscia, najlepiej na systemie plikow tylko dla odczytu. Wiekszosc napedow pracuje z tymi wlasciwosciami dobrze, lecz zdarzaja sie wyjatki. System plikow moze wtedy ulec zniszczeniu. Pamietaj o backupie przed takimi eksperymentami! Niektore opcje (np. -r do SCSI) moga nie dzialac ze starszymi jadrami, w ktorych potrzebne ioctl()'e nie byly obslugiwane. Chociaz to narzedzie jest skierowane przede wszystkim do uzytku z napedami dyskow twardych SATA/IDE, to czesc opcji jest rowniez prawidlowa (i dozwolona) w uzyciu z dyskami twardymi SCSI oraz z dyskami MFT/RLL z interfejsem XT. Jadro Linux az do wersji 2.6.12 (i prawdopodobnie pozniejszych) nie obsluguje prawidlowo odblokowania opcji bezpieczenstwa i wylaczania polecen, co moze powodowac naruszenie ochrony pamieci, a w niektorych przypadkach nawet panike jadra. Polecenia bezpieczenstwa moga byc jednak wykonane przez naped. To nieprawidlowe zachowanie jadra czyni w tej chwili polecenia bezpieczenstwa zwiazane z danymi PIO raczej bezuzyteczne. Prosze zauwazyc, ze polecenia "security erase" i "security disable" zostaly zaimplementowane jako dwa kolejne polecenia danych PIO i nie powioda sie na zablokowanym napedzie, poniewaz drugie polecenie nie zostanie wydane po naruszeniu ochrony pamieci. Prosze zapoznac sie z kodem, aby uzyskac wskazowki jak je zalatac, aby ominac ten problem. Niezaleznie od naruszenie ochrony pamieci, zawsze mozliwe jest uruchomienie dwoch kopii hdparm jednoczesnie i wydanie dwoch potrzebnych polecen w ten sposob. AUTOR hdparm zostal napisany przez Marka Lorda , glownego tworce i opiekuna sterownika (E)IDE do Linuksa, obecnie zajmujacego sie podsystemem libata; wraz z uwzglednieniem sugestii i latek od wielu innych osob. Kod wylaczajacy automatyczne oszczedzanie energii w Seagate zostal napisany przez Tomiego Leppikangasa . Polecenie zamrazania ustawien bezpieczenstwa dodal Benjamin Benz w roku 2005. Polecenia bezpieczenstwa zwiazane z pozyskaniem danych PIO napisal Leonard den Ottolander w roku 2005. Niektore inne czesci - Benjamin Benz i inni. ZOBACZ TAKZE http://www.t13.org/ Technical Committee T13 AT Attachment (ATA/ATAPI) Interface. http://www.serialata.org/ Serial ATA International Organization. http://www.compactflash.org/ CompactFlash Association. TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Andrzej Krzysztofowicz , Grzegorz Golawski i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . wersja 9.65 wrzesien 2022 HDPARM(8)