Yeeeeah, mam to!
zatim nemam SMART dekodovanej kompletne, ale to hlavni co me zajima, je teplota. BTW tech 57 stupnu se mi povedlo kdyz sem predelaval komp a nemel sem bocnice, takze suplikem netahnul vubec vzduch...Kód:S.M.A.R.T: supported, enabled, self-test, error-logging press any key to continue... S.M.A.R.T. data ckecksum: OK AttrID: 1 - Value: 69 - Worst: 62 AttrID: 3 - Value: 97 - Worst: 96 AttrID: 4 - Value: 100 - Worst: 100 AttrID: 5 - Value: 100 - Worst: 100 AttrID: 7 - Value: 76 - Worst: 60 AttrID: 9 - Value: 100 - Worst: 100 AttrID: 10 - Value: 100 - Worst: 100 AttrID: 12 - Value: 100 - Worst: 100 AttrID: 194 - Value: 32 - Worst: 57 (teplota) AttrID: 195 - Value: 69 - Worst: 62 AttrID: 197 - Value: 100 - Worst: 100 AttrID: 198 - Value: 100 - Worst: 100 AttrID: 199 - Value: 200 - Worst: 200 AttrID: 200 - Value: 100 - Worst: 253 AttrID: 202 - Value: 100 - Worst: 253
No takze kdyby to nekoho zajimalo, tak to funguje asi takle
1) poslani ATA prikazu SmartReadData s kodem B0h, podkodem D0h a signaturou C24Fh
IDE_exec_command(_ide_primary_io_base,drive,0xB0,0 ,0xD0,0xC24F,0,0,0,data_buffer);
funkci
Byte IDE_exec_command(DWord io_base, Byte drv, Byte cmd, Byte data, Byte feats, Word c, Byte h, Byte s, Byte scnt, Word *p_buffer)
2) zpracovani nactenych dat - 512B pomoci struktur
Dulezite je pole Attributes, kde muze byt az 30 atributu, zalezi na vyrobciKód:typedef struct { // ATA/ATAPI-7 SMART ATTRIBUTE data structure, get by ATA Byte ID __attribute__((packed)); // 00 - valid v Word Status __attribute__((packed)); // 01 - 02 - bi Byte Value __attribute__((packed)); // 03 - valid v Byte Worst __attribute__((packed)); // 04 DWord Current __attribute__((packed)); // 05 - 08 Byte VendorSpecific[3] __attribute__((packed)); // 09 - 11 } IDE_SMART_ATTRIBUTE; typedef struct { // ATA/ATAPI-7 SMART data structure, get by ATA command B0 Word DataStructureRevision __attribute__((packed)); // 000 - 001 IDE_SMART_ATTRIBUTE Attributes[30] __attribute__((packed)); // 002 Byte OffLineDataColStatus __attribute__((packed)); // 362 Byte SelfTestExecStatus __attribute__((packed)); // 363 Word TTime4OffLineDataCol __attribute__((packed)); // 364 - 365 Byte VendorSpecific2 __attribute__((packed)); // 366 Byte OffLineDataColCap __attribute__((packed)); // 367 Word SMARTCapability __attribute__((packed)); // 368 - 369 Byte ErrorLoggingCap __attribute__((packed)); // 370 Byte VendorSpecific3 __attribute__((packed)); // 371 Byte ShortSelfTestRecPTime __attribute__((packed)); // 372 Byte ExtSelfTestRecPTime __attribute__((packed)); // 373 Byte ConvSelfTestRecPTime __attribute__((packed)); // 374 Byte Reserved1[11] __attribute__((packed)); // 375 - 385 Byte VendorSpecific4[125] __attribute__((packed)); // 386 - 510 Byte Checksum __attribute__((packed)); // 511 } IDE_SMART_DATA;
ve strukture je atributu je pak dulezite ID, pokud je nenulove, je atribut platny, celkem je definovano az 255 atributu, z toho napr. 194 je udaj teplote. Buhuzel se mi nepodarilo sehnat nakou novejsi SMART specifikaci, takze vyznam atributu zistuju z ruznych zdrojaku co sem nasel na netu.
No ted kdyz sem nakouknul pod poklicku ATA a SMART tak zas vidim o neco dale a muzu rict jen ze vim ze nic nevim. Ten SMART ma tuny dalsich features tykajicich se treba logovani, sem nemel sajna. Skoda ze se jich zatim moc nevyuziva...




					
						
					
						
					
					
					
						
  Odpověď s citací