HDPARM(8) System Manager's Manual HDPARM(8) NUME hdparm - obine/stabilete parametrii dispozitivului SATA/IDE SINOPSIS hdparm [opiuni] [dispozitiv ...] DESCRIERE hdparm ofera o interfaa de linie de comanda pentru diverse interfee de nucleu acceptate de subsistemul Linux SATA/PATA/SAS ,,libata" i de subsistemul mai vechi de controlor IDE. Multe carcase de unitai USB mai noi (2008 i ulterior) accepta acum i ,,SAT" (SCSI-ATA Command Translation) i, prin urmare, pot funciona i cu hdparm. De exemplu, modelele WD ,,Passport" recente i carcasele NexStar-3 recente . Unele opiuni pot funciona corect numai cu cele mai recente nuclee. OPIUNI Atunci cand nu sunt indicate opiuni, se presupune -acdgkmur. Pentru opiunile ,,obine/stabilete", o interogare fara parametrul opional (de exemplu, ,,-d") va consulta (obine) starea dispozitivului, iar cu un parametru (de exemplu, ,,-d0") va defini starea dispozitivului. -a Obine/stabilete numarul de sectoare pentru citirea-anticipata a sistemului de fiiere (prin software). Aceasta funcie este utilizata pentru a imbunatai performana in citirile secveniale ale fiierelor mari, prin citirea in prealabil a blocurilor suplimentare inainte ca acestea sa fie necesare pentru sarcina in curs. Multe unitai IDE au, de asemenea, o funcie separata de citire-anticipata incorporata, care sporete aceasta funcie de citire-anticipata a sistemului de fiiere (prin software). -A Obine/stabilete starea caracteristicii ,,read-lookahead" a unitaii IDE (de obicei ,,ON" (activata) in mod implicit). Utilizare: -A0 (dezactivata) sau -A1 (activata). -b Obinei/stabilete starea magistralei. -B Obine/configureaza funcia de gestionare avansata a alimentarii, daca unitatea o accepta. O valoare mica inseamna gestionare agresiva a consumului de energie, iar o valoare mare inseamna performana mai buna. Valorile posibile variaza de la 1 la 127 (care permit reducerea turaiei discurilor) i de la 128 la 254 (care nu permit reducerea turaiei discurilor).Cel mai inalt grad de gestionare a consumului de energie este atins cu o valoare de 1, iar cea mai mare performana de I/O cu o valoare de 254. O valoare de 255 ii spune lui hdparm sa dezactiveze complet gestionarea avansata a alimentarii pe unitate (nu toate unitaile accepta dezactivarea, dar majoritatea o fac). -c Obine/configureaza suportul (E)IDE In/Ie pe 32 de bii. Un parametru numeric poate fi utilizat pentru a activa/dezactiva suportul I/O pe 32 de bii. Valorile acceptate in prezent includ 0 pentru a dezactiva suportul In/Ie pe 32 de bii, 1 pentru a activa transferurile de date pe 32 de bii i 3 pentru a activa transferurile de date pe 32 de bii cu o secvena speciala sync ceruta de multe cipuri. Valoarea 3 funcioneaza cu aproape toate cipurile IDE pe 32 de bii, dar implica un nivel de incarcare puin mai mare. Reinei ca ,,32 de bii" se refera numai la transferurile de date pe o magistrala PCI sau VLB catre placa de interfaa; toate unitaile (E)IDE au in continuare numai o conexiune pe 16 bii pe cablul de panglica de la placa de interfaa. -C Verifica starea curenta a modului de alimentare IDE, care va fi intotdeauna una dintre urmatoarele: unknown (unitatea nu accepta aceasta comanda), active/idle (funcionare normala), standby (mod de consum redus, unitatea s-a oprit) sau sleeping (mod de consum redus, unitatea este complet oprita). Opiunile -S, -y, -Y, i -Z pot fi utilizate pentru a manipula modurile de alimentare IDE. -d Obine/configureaza fanionul ,,using_dma" pentru aceasta unitate. Aceasta opiune funcioneaza acum cu majoritatea combinaiilor de unitai i interfee PCI care accepta DMA i care sunt cunoscute de controlorul IDE al nucleului. De asemenea, este o idee buna sa utilizai opiunea corespunzatoare -X in combinaie cu -d1 pentru a va asigura ca unitatea insai este programata pentru modul DMA corect, dei majoritatea BIOS-urilor ar trebui sa faca acest lucru pentru dvs. la pornire. Utilizarea DMA ofera aproape intotdeauna cea mai buna performana, cu un debit de In/Ie rapid i o utilizare redusa a CPU. Cu toate acestea, exista cel puin cateva configuraii de cipuri i unitai pentru care DMA nu face o mare diferena sau poate chiar incetini lucrurile (in cazul unui hardware foarte defectuos!). Rezultatul poate varia. --dco-freeze DCO inseamna ,,Device Configuration Overlay" = suprascrierea configuraiei dispozitivului, o modalitate prin care furnizorii pot dezactiva selectiv anumite caracteristici ale unei unitai. Opiunea --dco-freeze va inghea/bloca configuraia curenta a unitaii, impiedicand astfel software-ul (sau programele malware) sa modifice orice parametri DCO pana dupa urmatoarea reiniializare la pornire. --dco-identify Solicita i descarca informaii privind opiunile de configurare a unitaii care pot fi dezactivate de fabricant sau de instalatorul OEM. Aceste opiuni arata capacitaile unitaii care ar putea fi dezactivate de fabricant pentru ,,compatibilitate sporita". Atunci cand sunt dezactivate, acestea sunt altfel ascunse i nu vor fi afiate in rezultatul identificarii -I. De exemplu, producatorii de sisteme dezactiveaza uneori adresarea pe 48_bit la unitaile mari, pentru compatibilitate (i pierdere de capacitate) cu un BIOS specific. In astfel de cazuri, --dco-identify va arata ca unitatea este capabila de 48_bit, dar -I nu va arata acest lucru i nici unitatea nu va accepta comenzi 48_bit. --dco-restore Restabilete toate valorile implicite din fabrica i capacitaile complete ale tuturor parametrilor, funciilor i capacitailor accesibile ale unitaii. Aceasta comanda va eua daca DCO este ingheat/blocat sau daca a fost stabilita i o restricie de dimensiune maxima -Np. Acest lucru este EXTREM DE PERICULOS i va cauza foarte probabil pierderi masive de date. NU UTILIZAI ACEASTA COMANDA. --direct Utilizeaza fanionul ,,O_DIRECT" al nucleului atunci cand efectueaza un test de sincronizare -t. Aceasta ocolete memoria cache de pagina, facand ca citirile sa mearga direct de pe unitate in memoriile tampon ale hdparm, utilizand aa-numita In/Ie ,,bruta". In multe cazuri, acest lucru poate produce rezultate care par mult mai rapide decat metoda obinuita a paginii cache, oferind o indicaie mai buna a performanei brute a dispozitivului i a controlorului. --drq-hsm-error FOARTE PERICULOASA, NICI SA NU VA GANDII SA O FOLOSII. Aceasta opiune face ca hdparm sa emita o comanda IDENTIFY catre nucleu, dar marcata incorect ca o comanda ,,non-data". Acest lucru face ca unitatea sa ramana cu linia sa DataReQust(DRQ) ,,blocata" la un nivel ridicat. Acest lucru creeaza confuzie in controlorii nucleului i poate duce la prabuirea imediata a sistemului, cu pierderi masive de date. Aceasta opiune exista pentru a ajuta la testarea i fortificarea nucleului impotriva unor disfuncionalitai similare ale unitailor din lumea reala. FOARTE PERICULOASA, A NU SE UTILIZA!! -D Activeaza/dezactiveaza funcia de gestionare a defectelor pe unitate, prin care firmware-ul unitaii incearca sa gestioneze automat sectoarele defecte prin realocarea lor in sectoare ,,de rezerva" rezervate de fabrica pentru acestea. Controlul acestei funcii prin intermediul opiunii -D nu este acceptat pentru majoritatea unitailor moderne de la ATA-4; prin urmare, aceasta comanda poate eua. -E Stabilete viteza unitaii cd/dvd. Aceasta opiune NU este necesara pentru funcionarea obinuita, deoarece unitatea ii va schimba singura viteza in mod automat. Dar daca dorii sa va jucai cu ea, trebuie doar sa furnizai un numar de viteza dupa opiune, de obicei un numar ca 2 sau 4. Totui, acest lucru poate fi util in unele cazuri, pentru a uura redarea DVD-urilor video. -f Sincronizeaza i golete cache-ul tampon pentru dispozitiv la ieire. Aceasta operaie este, de asemenea, efectuata intern ca parte a opiunilor de temporizare -t i -T i a altor opiuni. --fallocate Aceasta opiune funcioneaza in prezent numai pe tipurile de sisteme de fiiere ext4 i xfs. Atunci cand este utilizata, aceasta trebuie sa fie singura opiune oferita. Aceasta necesita doi parametri: dimensiunea dorita a fiierului in kilo-octei (numarul de octei imparit la 1024), urmata de numele rutei pentru noul fiier. Se va crea un nou fiier cu dimensiunea specificata, dar fara a scrie efectiv date in fiier. In mod normal, acest lucru se va incheia foarte rapid i fara a distruge dispozitivul de stocare. De exemplu, creeaza un fiier de 10 kibioctei: hdparm --fallocate 10 temp_file --fibmap Atunci cand este utilizata, aceasta trebuie sa fie singura opiune data. Aceasta necesita ca parametru o ruta a fiierului i va afia o lista de extents de bloc (intervale de sectoare) ocupate de fiierul respectiv pe disc. Numerele sectoarelor sunt date ca numere LBA absolute, referite la sectorul 0 al dispozitivului fizic, i nu la partiie sau la sistemul de fiiere. Aceste informaii pot fi apoi utilizate in diverse scopuri, cum ar fi examinarea gradului de fragmentare a fiierelor mari sau determinarea sectoarelor adecvate pentru a le corupe in mod deliberat in timpul procedurilor de testare prin injectare de erori. Aceasta opiune utilizeaza noul ioctl() FIEMAP (file extent map) atunci cand este disponibil i revine la vechiul ioctl() FIBMAP (file block map) in caz contrar. Reinei ca FIBMAP sufera de pe urma unei interfee cu numere de bloc pe 32 de bii i, prin urmare, nu funcioneaza dincolo de 8To sau 16To. FIBMAP este, de asemenea, foarte lent i nu se descurca bine cu blocurile extents(intervale de sectoare) nefolosite prealocate in sistemele de fiiere ext4/xfs, cu excepia cazului in care se efectueaza o sincronizare() inainte de utilizarea acestei opiuni. --fwdownload Atunci cand este utilizata, aceasta trebuie sa fie singura opiune data. Aceasta necesita o ruta de fiier imediat dupa opiune, indicand de unde ar trebui citit noul firmware al unitaii. Coninutul acestui fiier va fi trimis catre unitate folosind comanda (S)ATA DOWNLOAD MICROCODE, utilizand fie protocolul de transfer 7 (intregul fiier odata), fie, daca unitatea il accepta, protocolul de transfer 3 (descarcare segmentata). Aceasta comanda este EXTREM DE PERICULOASA i poate distruge atat unitatea, cat i toate datele de pe aceasta. Variantele --fwdownload-mode3 , --fwdownload-mode3-max i --fwdownload-mode7 ale comenzii de baza --fwdownload permit anularea detectarii automate a protocolului in favoarea forarii hdparm sa utilizeze un protocol de transfer specific, numai in scopuri de testare. -F Golete memoria tampon a cache-ului de scriere de pe unitate (este posibil ca unitaile mai vechi sa nu poata implementa acest lucru). -g Afieaza geometria unitaii (cilindri, capete, sectoare), dimensiunea (in sectoare) a dispozitivului i decalajul iniial (in sectoare) al dispozitivului de la inceputul unitaii. -h Afieaza informaii succinte despre utilizare (ajutor). -H Citete temperatura de la unele unitai (mai ales Hitachi). De asemenea, raporteaza daca temperatura este in intervalul condiiilor de funcionare (acest lucru poate sa nu fie fiabil). Nu determina pornirea unitaii daca este inactiva. -i Afieaza informaiile de identificare pe care controlorii nucleului (IDE, libata) le-au stocat din momentul pornirii/configurarii. Acestea pot fi diferite de informaiile actuale care pot fi obinute direct de la unitatea insai cu opiunea -I. Datele returnate pot fi sau nu actuale, in funcie de activitatea de la pornirea sistemului. Pentru o interpretare mai detaliata a informaiilor de identificare, consultai AT Attachment Interface for Disk Drives, ANSI ASC X3T9.2 working draft, revision 4a, 19 aprilie 1993, i ediiile ulterioare. --idle-immediate Emite o comanda ATA IDLE_IMMEDIATE, pentru a pune unitatea intr-o stare de consum redus. De obicei, dispozitivul ramane pornit. --idle-unload Emitei o comanda ATA IDLE_IMMEDIATE_WITH_UNLOAD, pentru a descarca sau staiona capetele i a pune unitatea intr-o stare de consum De obicei, dispozitivul ramane pornit. -I Solicita informaii de identificare direct de la unitate, care sunt afiate intr-un format nou extins, cu mult mai multe detalii decat cu vechea opiune -i. --Iraw Aceasta opiune descarca datele de identificare ale unitaii in format binar brut in fiierul specificat. --Istdin Aceasta este o variaie speciala a opiunii -I, care accepta un bloc de identificare a unitaii ca intrare standard in loc sa utilizeze un parametru /dev/hd*. Formatul acestui bloc trebuie sa fie exact acelai cu cel gasit in ,,fiierele" /proc/ide/*/hd*/identify sau cu cel produs de opiunea --Istdout descrisa mai jos. Aceasta varianta este conceputa pentru a fi utilizata cu ,,biblioteci" colectate de informaii de identificare a unitailor i poate fi utilizata, de asemenea, pe unitai ATAPI care pot produce erori de mediu cu mecanismul standard. Atunci cand se utilizeaza --Istdin, acesta trebuie sa fie *unicul* parametru dat. Reinei ca unele informaii vor fi incomplete, deoarece paginile LOG ale unitaii nu sunt disponibile atunci cand se utilizeaza --Istdin. --Istdout Aceasta opiune descarca datele de identificare ale unitaii in format hexazecimal la ieirea standard, intr-un format similar cu cel din ,,/proc/ide/*/identify", i adecvat pentru utilizarea ulterioara cu opiunea --Istdin. -J Obine/stabilete valoarea timpului de ateptare ,,idle3" al unitaii Western Digital (WD) Green Drive. Acest timp de ateptare controleaza cat de des unitatea ii ,,parcheaza" capetele i intra intr-o stare de consum redus de energie. Valoarea implicita din fabrica este de opt (8) secunde, care este o alegere foarte proasta pentru utilizarea cu Linux. Daca il lasai la valoarea implicita, vei obine sute de mii de cicluri de incarcare/descarcare a capetelor intr-o perioada foarte scurta de timp. Mecanismul unitaii este evaluat doar pentru 300.000-1.000.000 de cicluri, astfel incat lasarea acestuia la valoarea implicita ar putea duce la defectarea prematura, fara a mai meniona impactul asupra performanei al unitaii care trebuie sa se trezeasca adesea inainte de a efectua operaiile de In/Ie de rutina. WD furnizeaza un utilitar DOS WDIDLE3.EXE pentru modificarea acestei opiuni i ar trebui sa utilizai acest program in loc de hdparm, daca este posibil. Implementarea prin inginerie inversa in hdparm nu este la fel de completa ca programul oficial original, chiar daca pare sa funcioneze pe cel puin cateva unitai. Este necesar un ciclu complet de alimentare pentru ca orice modificare a parametrilor sa aiba efect, indiferent de programul utilizat pentru a modifica lucrurile. O valoare de 30 de secunde este recomandata pentru utilizarea Linux. Valorile permise sunt de la 8 la 12 secunde i de la 30 la 300 de secunde in trepte de 30 de secunde. Specificai o valoare de zero (0) pentru a dezactiva complet temporizatorul WD idle3 (NU ESTE RECOMANDAT!). -k Obine/stabilete starea fanionului "keep_settings_over_reset" *activat/dezactivat) pentru unitate. Atunci cand acest fanion este activat, unitatea va pastra parametrii -dmu la o reiniializare software (aa cum se face in timpul secvenei de recuperare a erorilor). Aceasta opiune are valoarea implicita dezactivata, pentru a preveni buclele de reiniializare a unitaii care ar putea fi cauzate de combinaii de parametri -dmu. Prin urmare, opiunea -k ar trebui definita numai dupa ce s-a obinut increderea in funcionarea corecta a sistemului cu un set ales de parametri de configurare. In practica, tot ceea ce este de obicei necesar pentru a testa o configuraie (inainte de a utiliza -k) este sa se verifice daca unitatea poate fi citita/scrisa i daca nu sunt generate jurnale de erori (mesaje ale nucleului) in acest proces (cautai in ,,/var/log/messages" pe majoritatea sistemelor). -K Activeaza fanionul ,,keep_features_over_reset" al unitaii. Activarea acestuia permite unitaii sa pastreze parametrii pentru -APSWXZ dupa o reiniializare via software (aa cum se face in timpul secvenei de recuperare dupa eroare). Nu toate unitaile accepta aceasta caracteristica. -L Stabilete starea fanionului de blocare a uii unitaii (activat/dezactivat). Stabilirea acesteia la 1 va bloca mecanismul uii unor unitai de discuri dure detaabile (de exemplu, Syquest, ZIP, Jazz...), iar stabilirea acesteia la 0 va debloca mecanismul uii. In mod normal, Linux menine mecanismul de blocare a uii in mod automat, in funcie de utilizarea unitaii (blocat ori de cate ori este montat un sistem de fiiere). Dar la inchiderea sistemului, acest lucru poate fi o pacoste daca partiia radacina se afla pe un disc detaabil, deoarece partiia radacina este lasata montata (numai pentru citire) dupa inchidere. Prin urmare, utilizand aceasta comanda pentru a debloca ua dupa ce sistemul de fiiere radacina este remontat numai in citire, se poate apoi scoate incarcatorul de pe unitate dupa inchidere. -m Obine/ stabilete numarul de sectoare pentru I/O cu sectoare multiple pe unitate. O valoare de 0 dezactiveaza aceasta caracteristica. Modul cu sectoare multiple (cunoscut i sub numele de IDE Block Mode) este o caracteristica a celor mai moderne unitai de discuri dure IDE, care permite transferul mai multor sectoare per intrerupere In/Ie, in loc de un sector per intrerupere. Atunci cand aceasta caracteristica este activata, ea reduce de obicei cu 30-50% supraincarcarea sistemului de operare pentru In/Ie pe disc. Pe multe sisteme, aceasta asigura, de asemenea, o cretere a fluxului de date de la 5% la 50%. Cu toate acestea, unele unitai (in special cele din seria WD Caviar) par sa funcioneze mai lent cu modul multiplu activat. Rezultatul poate varia. Majoritatea unitailor accepta valorile minime de 2, 4, 8 sau 16 (sectoare). In funcie de unitate, pot fi posibile i valori mai mari. O valoare de 16 sau 32 pare optima pe multe sisteme. Western Digital recomanda valori mai mici de 4 sau 8 pe multe dintre unitaile sale, din cauza memoriilor tampon minuscule (32kB) ale unitailor i a algoritmilor de memorie tampon neoptimizai. Opiunea -i poate fi utilizata pentru a gasi valoarea maxima acceptata de o unitate instalata (cautai MaxMultSect in ieire). Unele unitai pretind ca accepta modul multiplu, dar pierd date la anumite valori. In circumstane rare, astfel de eecuri pot duce la corupia masiva a sistemului de fiiere. --make-bad-sector Creeaza in mod deliberat un sector defect (aka. ,,eroare media") pe disc. EXCEPIONAL DE PERICULOASA. NU FOLOSII ACEASTA OPIUNE!! Aceasta poate fi utila pentru testarea mecanismelor de recuperare in caz de eroare a dispozitivului/RAID. Numarul sectorului este dat ca parametru (base10) dupa opiune. In funcie de dispozitiv, hdparm va alege una dintre cele doua comenzi ATA posibile pentru coruperea sectorului. Comanda WRITE_LONG funcioneaza pe majoritatea unitailor, dar numai pana la limita sectorului de 28 de bii. Unele unitai foarte recente (2008) pot fi compatibile cu noua comanda WRITE_UNCORRECTABLE_EXT, care funcioneaza pentru orice sector LBA48. Daca aceasta comanda este disponibila, hdparm o va utiliza de preferina faa de WRITE_LONG. Comanda WRITE_UNCORRECTABLE_EXT ofera posibilitatea de a alege cum ar trebui sa se comporte noul sector defect. In mod implicit, acesta va arata ca orice alt sector defect, iar unitatea poate dura ceva timp pentru a incerca din nou i a eua la citirile ulterioare ale sectorului. Cu toate acestea, daca o singura litera f este ataata imediat in faa primei cifre a parametrului numarului sectorului, atunci hdparm va emite un WRITE_UNCORRECTABLE_EXT ,,marcat", ceea ce determina unitatea sa marcheze doar sectorul ca fiind rau (in loc sa il corupa cu adevarat), iar citirile ulterioare ale sectorului vor eua imediat (nu dupa mai multe incercari). Reinei, de asemenea, ca opiunea --repair-sector poate fi utilizata pentru a restaura (orice) sector deteriorat atunci cand nu mai este necesar, inclusiv sectoarele care au fost cu adevarat deteriorate (unitatea le va realoca probabil intr-o zona noua pe suport). -M Obine/configureaza opiunea de gestionare automata a nivelului acustic (,,Automatic Acoustic Management ": AAM). Majoritatea unitailor moderne de discuri dure au capacitatea de a accelera micarile capului pentru a reduce zgomotul produs. Valorile posibile sunt cuprinse intre 0 i 254. 128 este valoarea cea mai silenioasa (i, prin urmare, cea mai lenta), iar 254 este cea mai rapida (i cea mai zgomotoasa). Unele unitai au doar doua niveluri (silenios / rapid), in timp ce altele pot avea niveluri diferite intre 128 i 254. In prezent, majoritatea unitailor accepta doar 3 opiuni: oprit, silenios i rapid. In prezent, acestora le-au fost atribuite valorile 0, 128 i, respectiv, 254, dar a fost incorporat un spaiu intreg pentru extinderea viitoare, in cazul in care acest lucru se schimba. -n Obine sau activeaza fanionul ,,ignore_write_errors" in controlor. NU va jucai cu acest lucru fara sa inelegei mai intai codul sursa al controlorului. -N Obine/stabilete numarul maxim vizibil de sectoare, cunoscut i ca configurarea Host Protected Area. Fara un parametru, -N afieaza valoarea curenta, care este raportata ca doua valori: prima ofera valoarea curenta a configurarii numarului maxim de sectoare, iar a doua arata limita hardware nativa (reala) pentru disc. Diferena dintre aceste doua valori indica numarul de sectoare ale discului care sunt in prezent ascunse de sistemul de operare, sub forma unei zone Host Protected Area (HPA). Aceasta zona este adesea utilizata de fabricanii de calculatoare pentru a stoca software de diagnosticare i/sau o copie a sistemului de operare furnizat iniial in scopuri de recuperare. O alta utilizare posibila este de a ascunde capacitatea reala a unui disc foarte mare de un BIOS/sistem care, in mod normal, nu poate face faa unitailor de aceasta dimensiune (de exemplu, majoritatea sistemelor actuale {2010} BIOS-urile nu pot gestiona unitai mai mari de 2To, astfel incat un HPA ar putea fi utilizat pentru a face ca o unitate de 3To sa se raporteze ca o unitate de 2To). Pentru a schimba valoarea maxima actuala (FOARTE PERICULOS, PIERDEREA DATELOR ESTE EXTREM DE PROBABILA), trebuie furnizata o noua valoare (in baza 10) imediat dupa opiunea -N. Aceasta valoare este specificata ca numar de sectoare, i nu ca ,,adresa sectorului maxim" al unitaii. Unitaile au conceptul unei configurari temporare (volatile) care se pierde la urmatoarea reiniializare hardware, precum i o valoare mai permanenta (non-volatile) care supravieuiete reiniierilor i ciclurilor de alimentare. In mod implicit, -N afecteaza numai configurarea temporara (volatila). Pentru a modifica valoarea permanenta (nevolatila), adaugai un caracter p imediat inaintea primei cifre a valorii. Se presupune ca unitaile trebuie sa permita doar o singura modificare permanenta pe sesiune. Este necesara o repornire hardware (sau un ciclu de alimentare) inainte ca o alta operaie permanenta -N sa poata avea succes. Reinei ca orice incercare de a stabili aceasta valoare poate eua daca discul este accesat de alt software in acelai timp. Acest lucru se datoreaza faptului ca stabilirea valorii necesita o pereche de comenzi de unitate spate in spate, dar nu exista nicio modalitate de a impiedica inserarea unei alte comenzi intre ele de catre nucleu. Deci, daca nu reuete iniial, incercai din nou. Suportul nucleului pentru -N este eronat pentru multe tipuri de adaptoare in multe versiuni de nucleu, in sensul ca uneori este raportata o valoare incorecta (prea mica) a dimensiunii maxime. Incepand cu nucleul 2.6.27, acest lucru pare sa funcioneze in cele din urma pe majoritatea hardware-urilor. --offset Decalaje la un numar dat de Gio (1024*1024*1024) atunci cand se efectueaza temporizari -t ale citirilor dispozitivului. Viteza se modifica (de aproximativ doua ori) de-a lungul multor unitai mecanice. De obicei, maximul este la inceput, dar nu intotdeauna. Unitaile cu stare solida (SSD) ar trebui sa prezinte temporizari similare, indiferent de decalaj. -p Incearca sa reprogrameze cipul interfeei IDE pentru modul PIO specificat sau incearca sa ajusteze automat pentru ,,cel mai bun" mod PIO acceptat de unitate. Aceasta caracteristica este acceptata in nucleu doar pentru cateva cipuri ,,cunoscute", i chiar i atunci suportul este cel puin indoielnic. Unele cipuri IDE nu sunt capabile sa modifice modul PIO pentru o singura unitate, caz in care aceasta opiune poate determina configurarea modului PIO pentru ambele unitai. Multe cipuri IDE accepta fie mai puine, fie mai multe decat cele ase moduri PIO standard (de la 0 la 5), astfel incat stabilirea exacta a vitezei care este de fapt implementata va varia in funcie de sofisticarea cipului/controlorului. Utilizai cu prudena extrema! Aceasta caracteristica nu include nicio protecie pentru cei neateni, iar un rezultat nereuit poate duce la corupia grava a sistemului de fiiere! -P Stabilete numarul maxim de sectoare pentru mecanismul intern de pre-citire al unitaii. Nu toate unitaile sunt compatibile cu aceasta caracteristica, iar aceasta a fost eliminata din specificaiile oficiale incepand cu ATA-4. --prefer-ata12 Atunci cand utilizeaza protocolul SAT (SCSI ATA Translation), hdparm prefera in mod normal sa utilizeze formatul de comanda de 16 octei ori de cate ori este posibil. Cu toate acestea, unele carcase de unitai USB nu funcioneaza corect cu comenzi de 16 octei. Aceasta opiune poate fi utilizata pentru a fora utilizarea formatului de comanda mai mic, de 12 octei, cu astfel de unitai. hdparm va reveni in continuare la comenzile de 16 octei pentru lucrurile care nu pot fi realizate cu formatul de 12 octei (de exemplu, accesarea sectoarelor de peste 28 de bii). -q Proceseaza urmatoarea opiune in linite, suprimand ieirea normala (dar nu i mesajele de eroare). Acest lucru este util pentru a reduce aglomerarea ecranului atunci cand se executa din scripturile de pornire ale sistemului. Nu se aplica opiunilor -i sau -v sau -t sau -T. -Q Obine sau stabilete adancimea cozii de comenzi a dispozitivului, daca este acceptata de hardware. Acest lucru funcioneaza numai cu nucleele 2.6.xx (sau mai recente) i numai cu combinaii de dispozitive i controlori care accepta modificarea queue_depth. Pentru discurile SATA, aceasta este adancimea cozii de comenzi native (,,Native Command Queuing": NCQ). -r Obine/activeaza fanionul de numai-citire pentru dispozitiv. Atunci cand este activat, Linux nu permite operaiile de scriere pe dispozitiv. -R Obine starea/activeaza funcia Write-Read-Verify, daca unitatea o accepta. Utilizare: -R0 (dezactivare) sau -R1 (activare). Aceasta funcie este destinata citirii automate de catre firmware-ul unitaii a oricaror date care sunt scrise prin software, pentru a verifica daca datele au fost scrise cu succes. In general, acest lucru este exagerat i poate incetini scrierile pe disc cu un factor de pana la doua ori (sau mai mult). --read-sector Citete din numarul de sector specificat i descarca coninutul in hexazecimal la ieirea standard. Numarul sectorului trebuie indicat (baza 10) dupa aceasta opiune. hdparm va efectua o citire de nivel scazut (ocolind complet mecanismele obinuite de citire/scriere din stratul de bloc) pentru sectorul specificat. Acest lucru poate fi utilizat pentru a verifica in mod definitiv daca un anumit sector este defect (eroare de suport) sau nu (procedand astfel prin mecanismele obinuite se pot obine uneori rezultate fals pozitive). --repair-sector Acesta este un alias pentru opiunea --write-sector. FOARTE PERICULOASA. -s Activeaza/dezactiveaza funcia de pornire in modul de ateptare, daca este acceptata de unitate. FOARTE PERICULOS. Nu utilizai decat daca suntei absolut sigur ca atat BIOS-ul (sau firmware-ul) sistemului, cat i nucleul sistemului de operare (Linux >= 2.6.22) accepta sondarea pentru unitaile care utilizeaza aceasta caracteristica. Atunci cand este activata, unitatea este alimentata in modul standby pentru a permite controlorului sa secvenieze pornirea dispozitivelor, reducand sarcina consumului instantaneu de curent atunci cand mai multe unitai impart o sursa de alimentare. Utilizat in principal in configuraii RAID mari. Aceasta caracteristica este de obicei dezactivata i unitatea este alimentata in modul active (a se vedea opiunea ,,-C" de mai sus). Reinei ca o unitate poate permite, de asemenea, activarea acestei funcii prin intermediul unui ,,jumper" (trap). Unele unitai SATA accepta controlul acestei funcii prin pinul 11 al conectorului de alimentare SATA. In aceste cazuri, aceasta comanda poate sa nu fie acceptata sau poate sa nu aiba niciun efect. -S Pune unitatea in modul inactiv (cu consum redus de energie) i, de asemenea, stabilete timpul de ateptare (,,spindown", reducerea vitezei de rotire a discului) pentru unitate. Aceasta valoare a timpului de ateptare este utilizata de unitate pentru a determina cat timp sa atepte (fara activitate pe disc) inainte de a opri motorul fusului discului pentru a economisi energie. In astfel de circumstane, unitatea poate dura pana la 30 de secunde pentru a raspunde la o accesare ulterioara a discului, dei majoritatea unitailor sunt mult mai rapide. Codificarea valorii timpului de ateptare este oarecum ciudata. O valoare de zero inseamna ,,timpii de ateptare sunt dezactivai": dispozitivul nu va intra automat in modul de ateptare. Valorile de la 1 la 240 specifica multipli de 5 secunde, rezultand timpi de ateptare de la 5 secunde la 20 de minute. Valorile de la 241 la 251 specifica de la 1 la 11 unitai de 30 de minute, rezultand timpi de ateptare de la 30 de minute la 5,5 ore. O valoare de 252 inseamna un timp de ateptare de 21 de minute. O valoare de 253 stabilete o perioada de timp de ateptare definita de fabricant intre 8 i 12 ore, iar valoarea 254 este rezervata. 255 este interpretata ca 21 de minute plus 15 secunde. Reinei ca unele unitai mai vechi pot avea interpretari foarte diferite ale acestor valori. --set-sector-size Pentru unitaile care accepta reconfigurarea dimensiunii logice a sectorului, aceasta opiune poate fi utilizata pentru a specifica noua dimensiune dorita a sectorului in octei. FOARTE PERICULOS; acest lucru, cel mai probabil, va distruge toate datele de pe unitate. Dimensiunea specificata trebuie sa fie una dintre 512, 520, 528, 4096, 4160 sau 4224. Foarte puine unitai accepta alte valori decat 512 i 4096. De exemplu, hdparm --set-sector-size 4096 /dev/sdb -t Efectueaza cronometrari ale citirilor dispozitivului in scopuri de referina i de comparaie. Pentru rezultate semnificative, aceasta operaie trebuie repetata de 2-3 ori pe un sistem inactiv (fara alte procese active) cu cel puin caiva megaoctei de memorie libera. Aceasta afieaza viteza de citire prin memoria tampon cache catre disc, fara nicio memorare prealabila a datelor in cache. Aceasta masuratoare este o indicaie a vitezei cu care unitatea poate susine citirea secveniala a datelor sub Linux, fara niciun fel de supraincarcare a sistemului de fiiere. Pentru a asigura masuratori precise, memoria cache este golita in timpul procesarii -t cu ajutorul ioctl BLKFLSBUF. -T Efectueaza cronometrari ale citirilor din cache in scopuri de referina i de comparaie Pentru rezultate semnificative, aceasta operaie ar trebui repetata de 2-3 ori pe un sistem inactiv (fara alte procese active) cu cel puin caiva megaoctei de memorie libera. Aceasta afieaza viteza de citire direct din memoria cache Linux fara acces la disc. Aceasta masuratoare este, in esena, o indicaie a vitezei de transfer a procesorului, a cache-ului i a memoriei sistemului testat. --trim-sector-ranges Pentru unitaile de discuri solide (,,Solid State Drives": SSD). EXCEPIONAL DE PERICULOASA. NU UTILIZAI ACEASTA OPIUNE!! Ii indica firmware-ului unitaii sa elimine sectoarele de date inutile, distrugand orice date care ar fi putut fi prezente in interiorul acestora. Acest lucru face ca sectoarele respective sa fie disponibile pentru utilizare imediata de catre mecanismul de colectare a gunoiului al firmware-ului, pentru a imbunatai programarea pentru nivelarea la uzura a suportului flash. Aceasta opiune ateapta una sau mai multe perechi de sectoare imediat dupa opiune: o adresa de pornire LBA, doua puncte i un numar de sectoare (max. 65535), fara spaii intermediare. EXCEPIONAL DE PERICULOASA. NU UTILIZAI ACEASTA OPIUNE!! De exemplu: hdparm --trim-sector-ranges 1000:4 7894:16 /dev/sdz --trim-sector-ranges-stdin Identica cu --trim-sector-ranges de mai sus, cu excepia faptului ca lista de perechi lba:count este citita de la intrarea standard in loc sa fie specificata in linia de comanda. Acest lucru poate fi utilizat pentru a evita problemele cu liniile de comanda excesiv de lungi. De asemenea, permite gruparea mai multor intervale de sectoare in comenzi unice catre unitate, pana la limita de transfer configurata in prezent (max_sectors_kb). -u Obine/stabilete starea fanionului ,,interrupt-unmask" pentru unitate. O valoare de 1 permite controlorului sa efectueze <> asupra altor intreruperi in timpul procesarii unei intreruperi de disc, ceea ce imbunataete considerabil capacitatea de reacie a Linux i elimina erorile de ,,depaire a portului serial". Utilizai aceasta caracteristica cu precauie: unele combinaii unitate/controlor nu tolereaza latenele I/O crescute posibile atunci cand aceasta caracteristica este activata, ducand la corupia masiva a sistemului de fiiere. In special, interfeele CMD-640B i RZ1000 (E)IDE pot fi nefiabile (din cauza unui defect hardware) atunci cand aceasta opiune este utilizata cu versiuni de nucleu mai vechi de 2.0.13. Dezactivarea caracteristicii IDE prefetch a acestor interfee (de obicei o opiune BIOS/CMOS) ofera o rezolvare sigura a problemei pentru utilizarea cu nuclee mai vechi. -v Afieaza unele valori bazice ale parametrilor, similar cu ,,-acdgkmur" pentru IDE. Acesta este i comportamentul implicit atunci cand nu sunt specificate opiuni. -V Afieaza versiunea programului i iese imediat. --verbose Afieaza diagnostice suplimentare de la unele comenzi. -w Efectueaza o repornire a dispozitivului (PERICULOASA). NU utilizai aceasta opiune. Aceasta exista pentru situaii puin probabile in care ar putea fi necesara o repornire pentru a readuce o unitate cu probleme intr-o stare utilizabila. --write-sector Scrie zerouri la numarul de sector specificat. FOARTE PERICULOS. Numarul sectorului trebuie indicat (baza 10) dupa aceasta opiune. <> va efectua o scriere la nivel scazut (ocolind complet mecanismele obinuite de citire/scriere la nivel de bloc) in sectorul specificat. Aceasta opiune poate fi utilizata pentru a fora o unitate sa repare un sector defect (eroare de mediu). -W Obine starea/activeaza caracteristica de stocare in memoria cache a unitaii IDE/SATA. -X Stabilete modul de transfer IDE pentru unitai (E)IDE/ATA. Aceasta se utilizeaza de obicei in combinaie cu -d1 atunci cand se activeaza DMA catre/de la o unitate pe un cip de interfaa acceptat, unde -X mdma2 se utilizeaza pentru a selecta transferurile DMA multiword modul 2 i -X sdma1 se utilizeaza pentru a selecta transferurile DMA simple mod 1. In cazul sistemelor care accepta timpi de rafala UltraDMA, -X udma2 este utilizat pentru a selecta transferurile UltraDMA in modul 2 (va trebui sa pregatii in prealabil cipul pentru UltraDMA). In afara de aceasta, utilizarea acestei opiuni este foarte rar necesara, deoarece majoritatea/toate unitaile IDE moderne aleg implicit cel mai rapid mod de transfer PIO la pornire. Modificarea acestei opiuni poate fi atat inutila, cat i riscanta. Inainte de a schimba modul de transfer, interfaa IDE trebuie sa fie ,,trapata" (utilizand pinii dedicai acestui scop, ase vedea manualul de utilizare) sau programata (a se vedea opiunea -p) pentru noua configuraie de mod pentru a preveni pierderea i/sau coruperea datelor. Pentru modurile de transfer PIO (Programmed Input/Output) utilizate de Linux, aceasta valoare este pur i simplu numarul modului PIO dorit plus 8. Astfel, o valoare de 09 stabilete modul PIO 1, 10 activeaza modul PIO 2, iar 11 selecteaza modul PIO 3. Valoarea 00 restabilete modul PIO ,,implicit" al unitaii, iar 01 dezactiveaza IORDY. Pentru DMA multiword, valoarea utilizata este numarul modului DMA dorit plus 32. Pentru UltraDMA, valoarea este numarul modului UltraDMA dorit plus 64. -y Foreaza o unitate IDE sa intre imediat in modul de consum redus de energie standby, de obicei determinand-o sa se roteasca incet. Starea actuala a modului de alimentare poate fi verificata utilizand opiunea -C. -Y Foreaza o unitate IDE sa intre imediat in modul sleep cu cel mai mic consum de energie, determinand oprirea completa a acesteia. Este necesara o repornire hardware sau software inainte ca unitatea sa poata fi accesata din nou (contolorul IDE Linux se va ocupa in mod automat de emiterea unei reporniri daca/cand este necesar). Starea actuala a modului de alimentare poate fi verificata utilizand opiunea -C. -z Foreaza o recitire de catre nucleu a tabelului de partiii al dispozitivului (dispozitivelor) specificat(e). -Z Dezactiveaza funcia automata de economisire a energiei a anumitor unitai Seagate (modele ST3xxx?), pentru a le impiedica sa fie inactive/sa nu se roteasca in momente nepotrivite. Setul de caracteristici de securitate ATA Aceste opiuni sunt PERICULOASE pentru experimente i ar putea sa nu funcioneze cu unele nuclee. UTILIZAI-LE PE PROPRIUL DVS. RISC. --security-help Afieaza informaii succinte de utilizare pentru toate opiunile ,,--security-*". --security-freeze Ingheaa parametrii de securitate ai unitaii. Unitatea nu accepta nicio comanda de securitate pana la urmatoarea reiniializare la pornire. Utilizai aceasta funcie in combinaie cu opiunea ,,--security-unlock" pentru a proteja unitatea de orice incercare de a configura o parola noua. Poate fi utilizata i independent. Nu sunt permise alte opiuni in linia de comanda impreuna cu aceasta. --security-prompt-for-password Solicita PWD-ul ,,--security" in loc sa il obina din argumentele liniei de comanda. Acest lucru evita apariia parolelor in istoricul shell-ului sau in ,,/proc/self/cmdline" in timpul execuiei. --security-unlock PWD Deblocheaza unitatea, folosind parola PWD. Parola este data ca un ir ASCII i este completata cu NUL-uri pentru a ajunge la 32 de octei. Parola aplicabila unitaii este selectata cu opiunea ,,--user-master" (parola implicita este ,,user"). Nu sunt permise alte opiuni in linia de comanda impreuna cu aceasta. --security-set-pass PWD Blocheaza unitatea, folosind parola PWD (Set Password) (PERICULOS). Parola este data ca un ir ASCII i este completata cu NUL-uri pentru a ajunge la 32 de octei. Utilizai parola speciala NULL pentru a defini o parola goala. Parola aplicabila a unitaii este selectata cu ajutorul opiunii ,,--user-master" (parola implicita este ,,user") i modul de securitate aplicabil cu ajutorul opiunii ,,--security-mode". Nu sunt permise alte opiuni in linia de comanda cu aceasta. --security-disable PWD Dezactiveaza blocarea unitaii, utilizand parola PWD. Parola este data ca un ir ASCII i este completata cu NUL-uri pentru a ajunge la 32 de octei. Parola aplicabila unitaii este selectata cu opiunea ,,--user-master" (parola implicita este ,,user"). Nu sunt permise alte opiuni in linia de comanda impreuna cu aceasta. --security-erase PWD terge unitatea (blocata), folosind parola PWD (PERICULOS). Parola este data ca un ir ASCII i este completata cu NUL pentru a ajunge la 32 de octei. Utilizai parola speciala NULL pentru a reprezenta o parola goala. Parola aplicabila unitaii este selectata cu ajutorul opiunii ,,--user-master" (parola implicita este ,,user"). Nu sunt permise alte opiuni in linia de comanda cu aceasta. --security-erase-enhanced PWD tergere imbunataita (blocata) a unitaii, utilizand parola PWD (PERICULOS). Parola este data sub forma de ir ASCII i este completata cu NUL-uri pentru a ajunge la 32 de octei. Parola aplicabila unitaii este selectata cu opiunea ,,--user-master" (parola implicita este ,,user"). Nu sunt permise alte opiuni in linia de comanda impreuna cu aceasta. --user-master UTILIZATOR Specifica parola (utilizator/maestru) care trebuie selectata. Implicit parola utilizatorului. Utila numai in combinaie cu ,,--security-unlock", ,,--security-set-pass", ,,--security-disable, --security-erase" sau ,,--security-erase-enhanced". u parola utilizatorului m parola maestrului --security-mode MOD Specifica modul de securitate (ridicat/maxim) care urmeaza sa fie stabilit. In mod implicit la ridicat. Utila numai in combinaie cu opiunea ,,--security-set-pass". h securitate ridicata m securitate maxima ACEASTA CARACTERISTICA ESTE EXPERIMENTALA I NU ESTE SUFICIENT DE BINE TESTATA. UTILIZAI-O PE PROPRIUL DVS. RISC. FIIERE /etc/hdparm.conf ERORI Dupa cum s-a menionat mai sus, opiunile -m sectcount i -u 1 trebuie utilizate cu precauie la inceput, de preferina pe un sistem de fiiere numai-pentru-citire. Majoritatea unitailor funcioneaza bine cu aceste caracteristici, dar cateva combinaii unitate/controlor nu sunt 100% compatibile. Se poate produce coruperea sistemului de fiiere. Facei o copie de rezerva inainte de a experimenta! Unele opiuni (de exemplu, ,,-r" pentru SCSI) pot sa nu funcioneze cu nucleele vechi, deoarece ioctl()-urile necesare nu erau acceptate. Dei acest instrument este destinat in principal utilizarii cu dispozitive de discuri dure SATA/IDE, cateva dintre opiuni sunt valabile (i permise) i pentru utilizarea cu dispozitive de discuri dure SCSI i discuri dure MFM/RLL cu interfee XT. Nucleul Linux pana la versiunea 2.6.12 (i probabil mai tarziu) nu gestioneaza comenzile de securitate de deblocare i dezactivare cu uurina i va eua i, in unele cazuri, chiar va intra in panica. Cu toate acestea, este posibil ca comenzile de securitate sa fi fost intr-adevar executate de unitate. Acest comportament deficitar al nucleului face ca comenzile de securitate a datelor PIO sa fie destul de inutile in acest moment. Reinei ca comenzile ,,security erase" i ,,security disable" au fost implementate ca doua comenzi de date PIO consecutive i nu vor reui pe o unitate blocata deoarece a doua comanda nu va fi emisa dupa ,,segfault". Consultai codul pentru a afla cum sa il modificai pentru a ocoli aceasta problema. In ciuda eecului de segmentare, de multe ori este inca posibil sa executai doua instane ale hdparm consecutiv i sa emitei astfel cele doua comenzi necesare. AUTOR hdparm a fost scris de Mark Lord , dezvoltatorul principal iniial i cel care menine controlorul (E)IDE pentru Linux, i contribuitor actual la subsistemul libata, impreuna cu sugestii i plasturi(corecii) de la muli utilizatori ai reelei. Codul de dezactivare a sistemului Seagate de economisire automata a energiei este oferit prin amabilitatea lui Tomi Leppikangas(tomilepp@paju.oulu.fi). Comanda de ingheare a securitaii de catre Benjamin Benz, 2005. Comenzile de securitate pentru obinerea datelor PIO de Leonard den Ottolander, 2005. Alte pari de Benjamin Benz i alii. CONSULTAI I 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. TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Versiunea 9.65 septembrie 2022 HDPARM(8)