Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 44 45 46 47 48 * 49 50 51 52 .. 75 76 77 78 79 80 | Печать |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 мая 2018 14:16 Сообщение отредактировано: 17 мая 2018 14:18
strelec написал: Пока нет, просто пока не занялся этой проблемой, у меня еще много вопросов to do скопилось Подскажите, вы нашли способ решения данного вопроса? (построение терминала в моей программе некоторые вопросы вызвало, и другие дела). Если найду решение, обязательно напишу, предположительно требуется разобрать формат хранения атрибутов в SMART секторе, и удобный способ его коррекции. Как временное решение, я пока просто не сбрасываю SMART, имея ввиду что атрибут reallocated sectors недостоверен. Предположительно, если новое переназначение случится атрибут увеличится на 1, те нужно нужно вычитать из нового значения старое, но проверить, так ли это, пока не удалось. KALDYH написал: OK, буду иметь ввиду! Ага. Все равно родной микрокод чаще всего убит. ПЗУ обычно шить не приходится, и так подходит. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 18 мая 2018 10:07 Сообщение отредактировано: 18 мая 2018 10:08
Относительно редактирования SMART, идея такая. По команде 1>N05 получаем дамп SMART атрибутов, скорее всего он будет соответствовать одному из секторов vnd track (проверить). Если это то же, что отдается по команде READ SMART DATA, то нужно правильно отредактировать этот сектор и записать его (у него простая КС). В ATA стандарте поля этого сектора, касающиеся атрибутов, отмечены как vendor specific, но может помочь документация на конкретные диски и исходный код smartmon. Кроме того, считаю правильным сперва сбросить SMART, а потом занести старые значения часов работы и вкл/выкл, тк при сбросе чистятся и логи SMART (там можно посмотреть, на каких LBA были ошибки, после скана это нам конечно не нужно). Да и reallocated event count и UDMA SRC error count тоже ни к чему старые оставлять. Такие мысли, осталось поработать над этим. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 19 мая 2018 8:43 Сообщение отредактировано: 19 мая 2018 8:50
SMART сектор хранится по смещению 0x400 (сектор 0x02) в vnd треке, написал разборщик его, похоже на правду. Не смог найти документацию на интерпритацию raw значений конкретно для Seagate, так атрибут 1 и 195 видимо нужно умножать на коэффициент (или какое другое преобразование). КС тоже непохоже что есть. Остальные значения предположительно хранятся как uint32_t. Буду признателен, если кто подскажет по SMART документации конкретно на Seagate Barracuda Пока разборщик вот так отработал со SMART сектором на недавней ALPINE FW 3.06 |
strelec
Newbie
Откуда: Кемерово Всего сообщений: 105 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 3 апр. 2018 |
i8088, Все верно, смарт хранится во 2-ом сект. vendor трека(по смещению 0x400). Для обнуления например, атрибутов 5, 187 делал так. смещения атрибутов: атрибут 5 -смещение 0x29; атрибут 187- смещение 0x65. Правим первые два байта, ставим значения 0x64, следующие два -0x00. Заливаем любым удобным способом. Проверяем-все работает. Экспериментировал с TLITE1HD. |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
strelec написал: 0x29 это val, 0x30 worst, далее 4 байта - raw (порядок Intel, младший первый). атрибут 5 -смещение 0x29; Интересно, если поменять только raw, FW пересчитает val и worst автоматически? Я добавляю в разборщик функцию редактирования желаемого атрибута, чтобы делать эти манипуляции с удобством. Попробую на дисках, где был сброшен SMART, записать значения start/stop и hours как сумму текущего и старого. |
strelec
Newbie
Откуда: Кемерово Всего сообщений: 105 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 3 апр. 2018 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 19 мая 2018 12:27 Сообщение отредактировано: 19 мая 2018 12:28
i8088 написал: С "часами" такой фокус не прокатил ))(смещение 0x41). Попробую на дисках, где был сброшен SMART, записать значения start/stop и hours |
strelec
Newbie
Откуда: Кемерово Всего сообщений: 105 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 3 апр. 2018 |
i8088 написал: Val пересчитывает, wrst нет. Интересно, если поменять только raw, FW пересчитает val и worst автоматически? |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
OK, спасибо, поковыряюсь! |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 19 мая 2018 21:53 Сообщение отредактировано: 19 мая 2018 21:55
Причина "нередактируемости" некоторых атрибутов видимо в том, что начиная со смещения SMART sector 386 (0x182) идут еще vendor-specific поля, в которых некоторые атрибуты по непонятной системе дублируются (надо искать документацию для Seagate's HDD). Я нашел поле, где дублировались часы работы, но установка их одинаковым с основным полем часов не решила проблему, часы работы сбрасываются при первом же чтении SMART, или инкременте счетчика часов, или команде 1>N02 в терминале. При редактировании же исходного SMART (диск TONKA2 80GB, SATA), у меня возвращались к исходным сбойные атрибуты 197 и 198 (они установились в 0xFFFFFFFF,те (2^32-1) видимо из-за сбоя SMART). Я нашел последовательность FFFFFFFF по адресу 0x5AA vnd_track, и изменил на 00000000. После этого возврат к 0xFFFFFFFF происходить перестал. Я писал только один отредактированный SMART сектор, а SMART логи я сбросил ранее. Такие же атрибуты как start/stop, UDMA CRC error, reallocated sectors, reported uncorrect, power cycle count - редактировались без проблем. Val, да ставится сам по raw, но на всякий случай в программе он тоже задается. Вот такой программой я пользовался
Все числа вводятся по правилам Си, те например 077 - восьмеричное, 77 - десятичное, 0x77 шестнадцатеричное (тк RADIX 0) ./smartatt file просмотр атрибутов, file - файл vnd track, с редактируемым SMART сектором по смещению 0x400 ./smartatt file id val worst raw - редактирование атрибута id, выставляем параметры val worst raw |
strelec
Newbie
Откуда: Кемерово Всего сообщений: 105 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 3 апр. 2018 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 20 мая 2018 11:00 Сообщение отредактировано: 20 мая 2018 11:02
Нашел я, как установить нужный "пробег" после сброса смарта. С остальными атрибутами уже все понятно. Отвечают за это байты [0x5A2-0x5A7]. Например ,нам нужна наработка 9000ч. : 2328h*20h=046500h. Соответственно строку правим :[00 00 00 00 65 04]. Заливаем, проверяем. Я думаю,что для всех барракуд должно работать.Надо проверять. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... 44 45 46 47 48 * 49 50 51 52 .. 75 76 77 78 79 80 | Печать |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |