Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » Документация » Програмный ремонт жёстких дисков HDD |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 5 6 7 .. 75 76 77 78 79 80 | Печать |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 12 мая 2017 21:15 Сообщение отредактировано: 20 апреля 2018 21:39
Все остальные винчестеры Seagate, кроме перечисленных выше, диагностируются и ремонтируются через последовательный терминал. О подключении терминала - см. выше или тут: http://www.stankorb.com/articles.php?article_id=5 https://people.overclockers.ru...e_Muhi_CC/ Технологические команды ATA у них тоже есть, но их возможности весьма скудны (в основном это штатное обновление прошивки, и у старых моделей - дублирование последовательного терминала), и ими практически никто не пользуется. А для работы по терминальному соединению в диске есть целая интерактивная командная оболочка, называемая TMOS (тест-мониторная операционная система). Примечание: используемый набор управляющих последовательностей соответствует терминалам Wyse либо ADM. Рекомендуемая программа-эмулятор для Windows - ZOC (внимание, программа коммерческая!). Рекомендуется она также потому, что поддерживает REXX скрипты. Итак, подключаем наш выбранный винчестер, например Barracuda 7200.7, к последовательному порту, открываем терминал, подаём питание на диск и видим, как на экране постепенно появляются стартовые сообщения:
Расшифровка:
Кроме этого, винт в процессе работы будет выдавать туда различные диагностические сообщения. Пример (не помню для какой модели):
- в ходе оффлайн-самотестирования обнаружен дефектный сектор и занесён в кандидаты на ремап. Попробуем набрать что-нибудь в терминале. Ничего не происходит. Почему? Дело в том, что винчестеры Seagate одновременно могут работать только в одном из режимов: либо интерактивная командная строка, либо работа по интерфейсу. Для перехода в режим командной строки нажмите Ctrl+Z или отправьте байт 0x1A (далее в тексте нажатия клавиш с Ctrl обозначаются значком крышечки, например ^Z). Винчестер перестанет отзываться на интерфейс, а в терминале появится приглашение:
Команды имеют длину один байт (т.е. односимвольные). Команды чувствительны к регистру! Формат команды: один байт команды, за ней без пробела вводится один или несколько параметров, параметры между собой отделяются запятыми. То есть команда N, например, имеет вид Nxx,yy,zz. Команды, которые критичным образом меняют состояние накопителя, последним параметром имеют подтверждение - число 22 (появилось в серии Barracuda). Ввод команды подтверждается нажатием Enter. Есть возможность стереть забоем неправильные данные и ввести заново (т.е. управляющий символ 0x08 (Backspace) обрабатывается), стрелки для перемещения по тексту не работают. Так как 256 команд явно недостаточно, блоки команд разделены на диагностические уровни (levels). Для переключения между уровнями служит команда / (прямой слэш), после которой вводится номер уровня, например:
Текущий уровень отображается в приветствии командной строки. Для перехода на основной уровент T> введите команду / без параметров. Количество диагностических уровней у разных моделей различно, смотрите документацию или пробуйте методом перебора. Кроме цифровых, есть и буквенные: A, B, C... Многие команды для удобства дублируются на нескольких уровнях. Часть команд обрабатываются аппом (Application code) и работают всегда, часть - сертом (Certification code) и требуют его загрузки командой ^R, а без него выводят сообщение Command Inactive - No VALID Cert Code Detected Еще некоторые команды (например ^U) обрабатываются кодом ATA оверлея и они наоборот, при загруженном серте становятся неактивны. Есть ещё уровень F> - это уровень, обслуживаемый флеш-ПЗУ, у старых винчестеров его не было (вместо него был урезанный T>). На нём действуют очень немногие команды, зато загрузка Application Code и чтение-запись флеш-ПЗУ доступны только с него. Перейти на него с уровня T> нельзя, винт сам выходит на него при невозможности считать App. Чтобы попасть на него при исправном винчестере, необходимо быстро-быстро нажать ^Z сразу после подачи питания на винт, пока он ещё не успел раскрутиться и ничего считать. Кроме вводимых команд есть ещё и онлайн-команды. Они: 1) действуют на любом уровне 2) состоят из одного байта и не имеют параметров 3) не требуют подтверждения нажатием Enter и исполняются немедленно. Собственно, коды Enter, Backspace, ^Z и т.п. сами к ним относятся. 4) работают в любом режиме работы накопителя: как при работе по интерфейсу, так и в командном режиме и при выполнении тестов. Если винчестер на них не отзывается, значит он ОЧЕНЬ занят или попросту завис. Информацию о командах терминала и работе с ним можно взять тут: PCSEAGATE.pdf - руководство по ремонту старых семейств Seagate (Lapaz, Belize, Maui2r, Bali) для PC3000 DOS PCSeagBara.pdf - инструкция по ремонту от PC-3000 for Windows, для накопителей от Barracuda 1 (Durango) до Barracuda 7200.9 (Tonka2) Seagate_part1.pdf - руководство от PC-3000 UDMA, включает в себя информацию по всем "классическим" Barracuda и Momentus вплоть до самых последних. yaxsi_rus-ing_seag_bar.pdf - дока от HDD Repair Tool по ремонту накопителей от Barracuda 2 (Vali) до 7200.7 (APLUS) Seagate-Diagnostic-Command.pdf - полный справочник по командам, по косвенным свидетельствам (вкрапления русского текста) - утечка от bvg-group. Довольно старый, по моим наблюдениям подходит скорее к U-образным накопителям вроде U6. Seagate_Diagnostic_Commands.pdf - еще один полный справочник по командам от китайской группы pc3khrt.com ST Factory Command Function.pdf - DIAGNOSTIC COMMANDS Compatible with Drives with >64k Cylinders, January 13, 2003, Seagate company confidential, for inernal use only - полный справочник по командам самой последней версии, утечка из самой Seagate. Сама пдф-ка из интернета, по-видимому, удалена, есть онлайн-версия на Scribd. По поколениям соответствует Avalanche/Alpine, у более старых и более новых есть отличия. Все эти документы являются не вполне полными. Исчерпывающий список можно получить, самостоятельно проанализировав микропрограмму винта. Вот пример: http://nazyura.hardw.net/Part02.htm Далее будет русскоязычное описание наиболее общеупортебительных команд с примерами. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 12 мая 2017 23:31 Сообщение отредактировано: 20 апреля 2018 21:37
Начнём с онлайн-команд. Большинство из них - это диагностические или информационные команды, поэтому полезны в первую очередь. Большинство из них безопасны, поэтому знакомство с терминалом можно начать с них. Все примеры приведены для семейства NIGHHAWKPLUS (7200.10 "тонкий"). ^H - забой символа. Так в настройках терминала и укажите. . (точка) - статус активности. Одна из наиболее употребляемых команд.
; (точка с запятой) - вторая наиболее употребительная команда. Статус накопителя.
^T - запуск теста (Pgm) с уровня Age. В обычном состоянии винчестера (Age 50) это будет выход из диагностического монитора с перезапуском микрокода. Именно подачей этой команды запускается и перезапускается селфскан. ^Z - прерываение текущего теста и выход в диагностический монитор, про это я уже рассказал. ^U - печать в виде шестнадцатеричного дампа AT Stuff (паспорта диска). Работает только при незагруженном Cert code. ^L - версия микропрограммы, дата/время сборки и функционал накопителя (У коннергейтов - только технологическое имя и версия микропрограммы, то же, что и при при старте). NHPLUS2HD - 1_Disk 3.AAC 08-09-07 11:00 AAA,NP_1D_2H_S,14 Расшифровка некоторых пунктов:
ПЗУ поддерживает несколько конфигураций железа сразу и таким образом к типу платы не привязано. В прошивке содержатся текстовые строки сразу для нескольких конфигураций, при работе выводится та, которая соответствует железу. Апп содержит свой текст сообщения, который несколько отличается от того, что выводит ПЗУ. ^A - выдать ревизию Cert (оверлейного кода селфскана) Eng Rev = .05B У коннергейтов - переключатель Display Servo / No Display Servo ^R - загрузить Cert overlay в память с диска. Без него некоторые команды не работают, выводя сообщение об ошибке: Command Inactive - No VALID Cert Code Detected Успешная загрузка в подтверждение выводит его версию: Disk Code Revision # .08F CRC ==> D844 Если Cert повреждён или отсутствует, ответ будет примерно таким: DiskAccess ReadSector EC=47 at ffffffff.00.0000 У старых винтов - перезагрузка диагностического монитора ^C - сброс микропрограммы (перезапускает работу по интерфейсу, не полный сброс винта) ' (апостроф) - статус трансфера с блинов Cmd Cyl Hd Sct Cnt Stbuf Segl Csct Cbuf Actv ErCd RWOp Rd Wr RWOp1 Flags
^D или ^N - переключение отображения активности e c r = 0 0 1 и т.д. по кругу. По умолчанию - 0 0 0. Если отображение включено, выполнение винчестером внутренних команд сопровождается сообщениями вида: cmd 2A, params 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 Назначение параметров то же, что и у вывода команды "апостроф" (статус трансфера) ? (знак вопроса) - показать карту буферов. Все операции чтения, записи и прочая производятся через буферы. Величины указана в секторах, чтобы узнать длину буфера, вычитаем его адрес из адреса следующего буфера (7200.10 пишет длину через двоеточие). BT:0000 Буферы:
^ ("крышечка") - показать время, прошедшее со старта сертификационного теста или с последнего ^Z Time = 00<img src="smiles/meloman.gif" align=absmiddle alt=":11:">10 Log Type = 00 ` (гравис, обратный апостроф) - показать статистику чтения/записи Rbit Hard Firm Soft OTF Raw Rhdr Wbit Whrd Wrty Whdr У коннергейтов не было. ^W - вкл/выкл сбор статистики чтения/записи Rd/Wr Stats On У коннергейтов - прерывание программы (в последовательности ^Q ^W ^S): BRK - Pc=171D A=05 B=B5 C=E0 X=0700 Y=09B0 Sp=07F6 ^E - состояние интерфейса CurrentCHS=ffff/10/3f MltSiz=110 DMAMod=42 У коннергейтов не было ^F - Read Segment Record(S), выводит кучу малополезной инфы. ^G - очередь записи. У коннергейтов - то же, что и ~ (статус интерфейса). ^I - дамп регистров контроллера ^K - состояние чтения-записи Niwot ^P - (у коннергейтов) переключатель R/W Test Points Enabled/Disabled ^S - приостановить работу по интерфейсу и переключиться на диагностический монитор (Foreground Pause) ^Q - продолжить после ^S (Foreground resume) ^V - вкл/выкл эхо команд и отслеживания активности EchoInterfaceCmds: On ^X - история команд Niwot и интерфейса ~ (тильда) - состояние команд интерфейса ATA St 50 Er 00 Op 35 e, 06127f8,08 00 d8 У коннергейтов не было ^Q - вкл/выкл показ отладки Cert (не работает на Age 50) ! (восклицательный знак) - показать текущие настройки канала чтения-записи (дамп регистров Read channel и Preamp) % (знак процента) - показать статус Mux :5000001803000001 AX`9RY2FMKH' "000000000000"16BD3-16D14 (в диагностическом мониторе) Расшифровка, по порядку (описание пунктов см. выше):
:5000001803000001 AX`9RY2FMKH' "000000000000"16BD3-16D14 (работа по интерфейсу) :000000010000 AX' ' " "00016BD3-00016D14 (на уровне F) > и > (знак больше и знак меньше) - уменьшить-увеличить положение синхроимпульса чтения-записи Esc - прервать цикл, командный файл или скрипт SeaDex |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Господа, вы уже можете доставать свои сигейты и начинать потихоньку экспериментировать - потому как писанины впереди будет ой как много... Я пока описываю безопасные для винта процедуры. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 мая 2017 22:05 Сообщение отредактировано: 1 апреля 2018 14:36
После некоторого перерыва продолжу. Вот основные команды, которые понадобятся при диагностике и ремонте Seagate: Действуют на всех уровнях: /x - сменить уровень на x +x,y - считать байт из ОЗУ по адресу xxxxyyyy =x,y,z - записать байт zz в ОЗУ по адресу xxxxyyyy -x,y - считать слово из ОЗУ по адресу xxxxyyyy остальные команды полезны только для скриптов (batch files). Уровень T - самотестирование накопителя A - разрешить/запретить приостановку вывода информации на экран при заполнения буфера терминала. По умолчанию приостанавливает. a - переключает приостанов вывода при заполнении буфера сообщений / перезапись старого вывода в буфере новым. Bx,y - установить битрейт x. Допустимые значения: 0 - значение по умолчанию (обычно 9600) 1 - вывести таблицу поддерживаемых значений 24, 48, 96... 921, 1228 - битрейты от 2400 до 1228000 бит/с. Разумеется, лучше использовать максимальное возможное. y - задержка в миллисекундах. Если y введено, накопитель ждёт y миллисекунд прихода символа CR (0x13) в подтверждение того, что хост тоже переключил битрейт, и если подтверждение не поступило - устанавливает битрейт по умолчанию. У коннергейтов - команда bx. Параметр - коэффициент, вводимый в рег. BAUD (0x2Bh) процессора, по умолчанию (для Maui2) - 0x24h, для Belize - 32 Структура регистра: бит 7 6 5 4 3 2 1 0 TCLR 0 SCP1 SCP0 RCKB SCR2 SCR1 SCR0 SCR2..0 - делитель, от 1 до 128 SCP1..0 - предделитель: 00 - 1 01 - 3 10 - 4 11 - 13 Остальные биты оставлять равными нулю. Таким образом, команды задания битрейтов для Belize: b32 - 7200 (скорость по умолчанию) b31 - 14400 b30 - 28800 Большие скорости задать не удалось, возможно, у применяемого микроконтроллера отличаются от стандартного коэффициенты предделителя. C,,22 - сбросить селфскан. Сбрасывает здоровье (Health), выставляет возраст (Age) в 1. Dx,y,z - печать логов селфскана начиная с теста x. Если x не введено - то вывести только логи проваленных тестов. y - если введено, печатать только логи с кодом ошибки y z=40 - быстрый неформатированный вывод лога для автоматизированного учёта Для начала рекомендую смотреть сводный лог (последний) под номером 4E. Ex,y,z - печать/редактирование одного лога x. J - то же, что и E, но ожидает нажатия Enter после каждой строки (?) F - ввод ключей паспорта (Stuff). Описание команды см. ниже, в руководстве по прохождению селфскана. Внимание! Ни в коем случае не ошибитесь с регистром! Команда f (в нижнем регистре) затирает ПЗУ! Gx - показ лога компонентов, страница x (может быть незаполнен) Hx,,z - показать/сбросить биты Health. x (введено произвольное значение) - текущие, (пустое) - аккумулированные. z=22 - если введено, то сбросить биты. I,y,22 - инициализация (калибровка, форматирование, поиск дефектов) системной области, подготавливает ее к записи служебки. Аналогично (вроде как) команде T2. y - если введено, считать серийный номер Nx,y,22 - установить возраст (Age) накопителя в x. Например, N2,,22 подготавливает к запуску селфскана с самого начала. Внимание! Не запускайте селфскан, не изучив внимательно инструкцию по его прохождению - иначе, возможно, вам придётся ломать голову, где достать недостающие куски служебки! Основные используемые значения: 0 - после рестарта всегда будет выходить в TMOS 2 - тест служебной и пользовательской областей, полный селфскан 4 (начиная с 7200.8 - 10) - тест только пользовательской области, "облегчённый" селфскан 50 (у совсем старых семейств 40) - принудительный вывод на интерфейс, перевод в нормальный режим Ввод номеров остальных тестов используется для принудительного "проталкивания" селфскана при большом количестве нефатальных ошибок. R - считать системный сектор в системную область ОЗУ. Системный сектор содержит серийный номер, тип накопителя и адаптивы служебной зоны. Для возможности записи в служебную зону этот сектор должен быть в памяти, иначе ошибка Code - 33 W,,22 - записать системное ОЗУ в системный сектор. S - проверить Slip list на заполненность и упорядоченность Tx - запустить одиночный тест x. Внимание! Команда не требует ввода ключа подтверждения и начинает выполняться сразу же, не дожидаясь ^T ! Vx,y - печать дефект-листов. x - битовая карта выбора листов: 1 - slip-list (то же, что и p-list) пользовательской области 2 - slip-list резервных дорожек 4 - alt-list (то же, что и g-list), ремапы. y - если введено, выводить только по голове y Примеры: T>V1 "Битовая карта" означает, что складывая, ключи объединяются. Так, например, T>V7 соответственно выведет сразу все три списка. Yx,y - установить тип накопителя "x". y - если введено, не пытаться читать/писать на диск (операция только в ОЗУ). У старых накопителей это был единственно возможный способ отключения головок. b,,22 - инициализировать область оверлеев в служебной области (проще говоря, затереть их) с - записать на диск предварительно загруженные в память оверлеи ATA. Используется только после прохождения теста 2. Если оверлеи загружены в память до теста 2, в конце теста они будут записаны автоматически (?). dx,y,z - загрузить данные в буфер по протоколу SDLD (Seagate DownLoaD). x - номер буфера y - размер блока передачи (0 - 512, 1 - 1024, 2 - 2048, 3 - 4096). Размер блока выбирается исходя из того, что общее их число не должно превышать FFh. z=1 - не раскручивать диск после завершения команды. Этой же командой грузится в память Cert code, x при этом не указывается. ex,y - загрузить ATA оверлеи (на жаргоне - просто "оверлеи") в память по протоколу SDLD x - номер оверлея (подробнее об их количестве - в разборе семейств) y - если указано, передать управление оверлею немедленно K - загрузить (по SDLD) файл Congen j - загрузить (по SDLD) скрипт SeaDex h - загрузка таблиц Cert (на жаргоне - "таблички") по протоколу SDLD f - записать предварительно загруженные данные в последовательное флеш-ПЗУ (у новых семейств). Данные грузятся в буфер 400h командой d. У семейств с параллельным ПЗУ (старые Durango/Vali/Aspen/Snowmass и др.) данные для записи отправляются после посылки команды по SDLD (см. работу с предыдущими командами). Для записи параллельного ПЗУ у коннергейтов служит другая команда. gx,y,z - вызов программной функции из оверлея. x - ID функции y - 16k сегмент для параметров оверлейной функции z - смещение в сегменте для параметров оверлейной функции ix,y,22 - инициализация (очистка) дефект-листов). x - см. команду V y - если введено, записать на диск (иначе только в памяти) Внимание! Не путать с командой I (заглавная)! kx,y,z - отключение головок. Есть у накопителей, начиная с 7200.7 (прошивка с цифрой "5" в середине) и более старших (все прошивки). У более ранних возможно только отключение верхних головок выбором младшей модели семейства (см. команду Y). Использование команды будет далее. lx - инициализация и запись в память зонных буферов. x - битовая карта: 01 - копировать дефолтный зонник из оверлея в память 02 - пересоздать PBA 04 - установить в памяти адаптивы по зонам 08 - запустить калибровку VCO 10 - сохранить всё это на диск m,,22 - дефектоскопия служебной зоны (Внимание! Затирает служебку!) o - (у коннергейтов) нет сведений p - нет сведений r - перезагружает Cert code (на жаргоне "серт") с диска и выводит его версию. sx,,22 - сохранить дефект-листы из памяти на диск x - битовая карта: 1 - трек-лист пользовательской зоны 2 - трек-лист служебной зоны 4 - ??? 7 - всё вместе t - (у коннергейтов) нет сведений v - (у коннергейтов) нет сведений wx,y - записать оверлеи на диск. x - битовая карта выбора оверлеев: 1 - Cert code (серт) 2 - Cert tables (таблички) 4 - Application code (апп) 8 - SeaDex script (в любительском ремонте не используется) Если не введено - записать всё. y - номер буфера, в котором оверлеи хранятся У старых без-оверлейных винтов эта команда не имела параметров и сохраняла единственный подгружаемый код - Cert xll,ss,nn - чтение файла лога ll через последовательный порт (в двоичной форме, без форматирования). ss - начальный буфер nn - число буферов y - вывод карты служебной зоны. Появился в накопителях начиная с APLUS. Разбор вывода команды см. ниже в описании структуры служебной информации Seagate. #,,22 - ввести серийный номер накопителя HDA (8 символов, написан на этикетке) и номер packwriter'а (ни на что не влияет, можно просто нажать Enter на его запрос. Обычно вводят строку с этикетки после серийника). Вводится в диалоговом режиме. Пример: T>#,,22 $ - ввести серийный номер платы PCBA. Хранится на треке vendor. [x,y - управление ASCII логированием. Ключ x: 9 - писать до конца строки, пока не нажат Enter A - разрешить ASCII логирование B - запретить ASCII логирование С - писать в лог номер y D - отобразить ASCII лог E - дописывать к логу F,1 - разрешить логирование горячих клавиш F - запретить логирование горячих клавиш |
aleksvolgin
Advanced Member
Всего сообщений: 2123 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 21 нояб. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 мая 2017 10:04 Сообщение отредактировано: 17 мая 2017 10:05
Вангую, всё это в скором вермени появится на руборде в профильных темах =^_^= И ещё, можно как нить публиковать текст без поддержки скриптов в сообщениях, а то здесь уже какая-то рожа с мафоном зажигает. ^ ("крышечка") - показать время, прошедшее со старта сертификационного теста или с последнего ^Z |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 мая 2017 10:07 Сообщение отредактировано: 23 сентября 2018 23:08
Уроверь 1 - команды работы с памятью. (у коннергейтов - с памятью интерфейса: управляющий и интерфейсный микроконтроллеры имеют разные адресные пространства) Bx,y - отобразить содержимое буфера C - (у коннергейтов) сравнивает адреса 0x1000h-0xFFFFh внешнего ОЗУ с адресами 0x1000h-0xFFFFh ПЗУ. При несоответствии выдаст надпись, с указанием адреса и содержимого. Dx,y,z - печать 256 байт ОЗУ с адреса xxxxyyyy. Если введено z - подсветить байты, совпадающие с z У коннергейтов формат Dx,y - печать 256 байт ОЗУ с адреса xxxx, подсветить байты, совпадающие с yy. Если y не введено - подсвечивается 00. F - форсирование записи. Разрешить на свой страх и риск запись при незагруженных адаптивах (когда выскакивает ошибка Code - 33) H - AT FIFO TEST M - информация о микросхеме Flash ROM. В поздних семействах изъята. Nx,y,z - управление SMART. x - субкоманда: 00 - вкл/выкл SMART 01,04 - инициализация (обнуление) SMART 02 - обновление атрибутов 03 - установить/сбросить биты, сигнализирующие о предотказе накопителя (y - номер атрибута, z - булевое значение) 05 - печать атрибутов SMART 06 - ...допустимых значений SMART 07 - ...G-List 08 - ...лога критических событий 09 - ...списка ожидающих переназначения секторов 0B - запуск короткого внутреннего теста SMART после следующего ^T или включения питания 0С - ...продолжительного теста SMART 10 - печать внутреннего двухчасового лога. P - печать информации о плате (из ПЗУ) (? проверить, как связано с T>$). В поздних семействах изъято. На коннергейтах - перепрограмирование Cert/ATIF и Resident Code во флеш-ПЗУ. Внимание! Выполнение этой команды убивает винт, если код не был предварительно загружен в память! R - (у барракуд) Ram Test (WinC 0,1,2,3....) (у коннергейтов) копирование ПЗУ в буфер. При этом фирмварь (содержимое ПЗУ с 0x800h по 0xFFFFh, до этого адреса ПЗУ содержит 0xFF) кладется, начиная с адреса 0x400h буфера. Всегда в младшие 64K - бит 0x446.2 (старший бит адреса внешнего ОЗУ) не учитывается! Предположительно из этого же буфера производится запись. У совсем старых, типа Lapaz - копирует содержимое ПЗУ из адресов 0x1000h-0xFFFFh во внешнее ОЗУ по тем же адресам. V у коннергейтов - чтение системных переменных с диска Reading System Variables - No Error У поздних барракуд изъято. Y - преобразовать номер цилиндра в соответствующий код Грея сервометки (см. 3>G) y - то же самое наоборот Sx,y,z - редактирование байта в памяти в диалоговом режиме Ux,y,z - то же самое в буфере mx,y,z - то же самое для слова в памяти cx,y,z - сравнение буфера x с буфером y, z - число буферов. dx - очистка (стирание) оверлея на диске. Значения битов x - те же самые, что у команды T>w e - нет сведений. Подача без параметров вызывает рестарт накопителя. p - аналогично T>W s - отправка информации о накопителе (?) r, t, u - загрузить с диска Cert code, Cert tables и SeaDex script соответственно (последний обычно пуст). E, G, H, I, T, V, W, g, j, z - есть в обработчике коннергейтов, не документированы Уровень 2 - чтение/запись по физике (по физическим координатам CHS, без трансляции, но с возможным обходом дефектов) Bx,y - печать 512 байт буфера x, подсветить байты y Cx,y,z - скопировать буфер x в буфер y, z - число буферов Ex,y,z - дублирует команду T>E Hx - выбор головки x. Может быть использован для тестирования и поиска головок: физически отсутствующая головка не выбирается, при выборе совершенно нечитающей головки винт теряет серву, что заметно на слух. Ux,y - раскрутка остановленного шпинделя. x - можно ввести этап, на котором будет остановлена распарковка. Z - останов шпинделя. sx,y,z - позиционирование на физическую дорожку x, головку y. Выполнять перед командами чтения/записи. Внимание: у 7200.7 параметр z - смещение позиционирования, у 7200.9 (скорее всего, ещё с APLUS или PUMA пошло) - ключ подтверждения 22. Учитывайте это при составлении своих скриптов! Появилась у барракуд, у более ранних отсутствует. Вместо неё у них использовать: Sx,y,z - позиционирование на дорожку x, головку y. Если старший бит y равен единице - адресайия по физическим цилиндрам, иначе - по логическим. Параметр z - смещение позиционирования (16 бит со знаком), по умолчанию можно не писать. rx,y,z,a - длинное (вместе с байтами ECC) чтение, а также чтение системной зоны. Чтение производится в буфер чтения. Формат для чтения служебной зоны: x - номер первого сектора y - число секторов z, a не вводятся. Команда 2>Rx,y,z,a (обычное чтение) со служебной зоной не работает. wx,y,z,a - длинная (с байтами ECC) запись, а также запись в служебную область. Запись ведётся из буфера записи. Формат для записи служебной зоны: x - номер первого сектора y - число секторов z, a не вводятся. Внимание! Необдуманная запись в служебную зону может привести накопитель в нерабочее состояние! Команда 2>Wx,y,z,a (обычная запись) со служебной зоной не работает. x - показать границы зон и адреса служебных цилиндров, число секторов в зоне, а также скорость чтения на них в Кбит/с и общее число доступных пользователю секторов на диске. Одна из наиболее необходимых информационных команд. Пример (для диска с адаптивным зонным распределением): Head 00 Reserve - это и есть служебная зона. Видно, что во-первых расположена она в середине диска (кстати, это частично решает проблему с адаптивами записи служебной зоны - в середине азимутальное отклонение головки минимально), и во-вторых, что у неё пониженная по сравнению с соседними плотность записи. Total KBAs - общее число секторов в пользовательской зоне, включая резервные. Полный список команд: K, M, N, O, Q, 7, 9, C, c, D, d, e, f, G, g, h, I, i, j, k, l, m, p, q, T, t, V, X, x, y, z, B, E, F, H, J, P, R, S, U, W, Y, Z, r, s, w, x |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 мая 2017 11:09 Сообщение отредактировано: 18 апреля 2018 8:31
Уровень 3 - команды ручного управления сервосистемой. Нужны преимущественно для нужд селфскана. Полный список: C, D, E, H, O, P, Q, S, T, U, V, Z, k, s, G, J, M, R, W, X, Y, f, g, m, p, q Уровень 4 - команды настройки сервосистемы. Нужны преимущественно для нужд селфскана. Отдельно выделим команды: ex - калибровка и принудительное переключение MDW/HDW (точная расшифровка этих аббревиатур мне неизвестна). Параметр x: 0 - произвести калибровку, автовыбор MDW/HDW 1 - печать таблицы радиальных смещений MDW, не проводя калибровку 2 - установить тип диска MDW 3 - установить тип диска HDW Ручное переключение 4>e3 и 4>e2 применяется для устранения некоторых "затыков" при старте селфскана. Прочие команды: 4, D, E, H, K, O, P, R, S, X, d, e, i, r, t, u, x, y, z, B, C, G, I, M, N, T, U, W, Y, Z, a, c, f, g, j, k, l, n, o, p, q, s, v, w, Уровень 5 у коннергейтов - работа с памятью основного управляющего микроконтроллера. Подробнее см. в главе по Conner. По барракудам инфы нет. Уровень 6 - запуск/просмотр/редактирование пакетных файлов задания (batch files). Теоретически, представляют собой мощный инструмент по автоматизации совершаемых с винтом действий, практически - с ними мало кто умеет работать. B - запустить командный файл Dx - отобразить командный файл x. Доступны три возможных файла с номерами от 0 до 2. E - ввести командный файл Внутри командных файлов применяются: * - специальные функции для командных файлов: *1 - приостановить выполнение до ввода *2,x - задержка в x миллисекунд *3,x - переход к метке x *4,x - увеличить head (?) и переход к метке x *5 - очистить дисплей *6 - останов при ошибке *7,x - инициализировать счётчик циала значением x *8,x - декремент счётчика цкла, переход к метке x если не 0. @x - метка. x - единственная цифра. | - прервать выполнение командного файла. Уровень 7 - работа с адаптивами канала чтения. Их настройка может использоваться для восстановления информации, но это к ремонту не относится. Нужны преимущественно для нужд селфскана. Может пригодиться: Dx - отобразить показания термодатчика. Вывод в формате YYZZ, где YY - температура, при которой проводился селфскан (для которой составлены таблицы адаптивов), ZZ - текущая температура. x - если введено, "обмануть" винт, заставив думать, что селфскан проводился при температуре x. Другие команды: G, N, O, T, Q, b, e, f, i, n, o, p, u, y, z, 9, d, C, D, M, O, I, V, g, c, l, q, t, x, 7, B, E, F, H, P, R, S, U, W, Y, Z, r, s, w У коннеров уровень 7 был работой с поверхностью по CHS (чтение, запись, операции с буферами). Позже его команды были перенесены на уровни 2> и A>. Уровень 8 - команды серворайтера. Используются при записи серворазметки и немного процедурой селфскана, пользователю не нужны и даже опасны. Уровень A - команды чтения/записи по LBA. Теоретически, могут быть использованы для вычитывания пользовательской информации через терминал, практически - это крайне медленно. Полезнные команды: P - перенос Alt-list в Slip-list. Проверено на GALAXY, на более ранних не факт что есть. Полный список команд: C, c, D, d, l, Q, R, S, W, M, E, Y Уровень C - отладочные команды селфскана D - отобразить последовательность прохождения тестов из Cert table. C>D Прочие команды: B, C, D, P, s, W, p, c, d, e, t, u, v, w Уровень D - команды отладки SeaDex script. Работать с ним никто не умеет. Полный список: I, E, D, S, T, b, c, l, p, s, t, v, v Уровень E - команды зонного распределения и форматирования. Используются селфсканом. Теоретически, могут быть использованы для вырезания зон, практически никто на это не заморачивается. Самая важная команда: vx - настройка желаемой плотности (TARGET_CAPACITY) для пикера (Picker) - процедуры подбора адаптивного зонного распределения, которая подбирает оптимальную плотность дорожек на дюйм (TPI) и бит на дюйм вдоль дорожки (BPI). Параметр x может плавно меняться примерно Также есть команды: a, b Уровень F - команды, доступные из загрузочного ПЗУ. У старых винтов этот уровень отсутствовал, вместо него служил урезанный T>. Перейти на него командой / невозможно, для выхода на F> необходимо прервать загрузку микрокода, послав ^Z сразу после старта накопителя. Выйти из него возможно, только загрузив App. Доступные на нём онлайн-команды: ^C, ^D, ^L, ^N, ^O, ^], ^Z, !, %, апостроф, точка, точка с запятой, >, >. Команды: +, =, - - чтение/запись байт памяти, см. описание общих команд Bx,y, Cx,y,z, Dx,y,z, Px,y,zzww - работа с буферами, см. описание соответствующих команд на уровне T> Rx - чтение информации из системного сектора x - битовая карта того, что читать: 1 - дефект-лист системных дорожек 2 - бут-адаптивы 4 - Application code (апп). Код автоматически не стартует, запустить можно командой F>j Без параметров - читать всё. U - раскрутить шпиндель V - нет сведений [F>V1,2,400 Memory mismatch = 00000400, Src = 0C2D, Dest = 70FE] Возможно, сравнение содержимого флешки и буфера в ОЗУ. Желательно бы проверить. Y - нет сведений [F>YFF,44,66 (Y flags,data,write)] Z - остановить шпиндель bx,y - установка битрейта. См. описание команды T>B. Обратите внимание - это один из немногих случаев, когда одна и та же команда на двух разных уровнях имеет разные регистры! dx,y - загрузка данных в буферы по SDLD. См. описание T>d. ex,y,z,w - операции с последовательным ПЗУ. x - команда: 0 - показать тип и размер ПЗУ 1 - записать байт z в сегмент w по смещению y 2 - считать байт по смещению y из сегмента z и вывести на экран. 3 - страничная запись всей ПЗУ. y - число страниц, z - страница Window C, w - смещение байт. Примеры записи ПЗУ на уровне F> будут ниже. 4 - читать ПЗУ в буфер, параметры те же. 5 - инициализировать пины для работы с последовательным ПЗУ. Выполнять первым делом. 6 - отключить эти пины 9 - стереть ПЗУ a - переход на свежезаписанное ПЗУ, не передёргивая питание FF - генерировать тестовые сигналы на пинах микроконтроллера для связи с последовательным ПЗУ. f - нет сведений [SFlashWork(Simular[ex,y,z,w]Include Opt "v")???] jx,y - JMP на код по адресу XXXX:YYYY. Без параметров - запуск App. r - аналогично 2>r s - аналогично 2>s tx,y,z - запись в последовательное устройство: x - адрес регистра y - данные z - выбор устройства:
v - нет сведений [SFlashWork(Simular[ex,y,z,w])???] |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
aleksvolgin написал: Странно, а у меня не зажигает... Щас попробую исправить. уже какая-то рожа с мафоном зажигает. |
aleksvolgin
Advanced Member
Всего сообщений: 2123 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 21 нояб. 2010 |
Да, счас всё нормально, спасибо. Щас попробую исправить. |
KALDYH
Advanced Member
Технонекромант Откуда: Кемерово Всего сообщений: 2355 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 5 июня 2009 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 мая 2017 15:13 Сообщение отредактировано: 18 мая 2017 9:48
В ходе работы и тестирования винчестеры Seagate выдают разнообразные сообщения об ошибках, все они закодированы. Вот их расшифровка. Биты Health Health (здоровье) - это кумулятивный показатель исправности накопителя. При прохождении тестов (и при нормальной работе, не забываем - формально это тоже один из тестов) при накоплении определенного количества ошибок биты здоровья устанавливаются в единицу, сигнализируя о неисправности. Здоровья существует два: текущее - выставляется в ходе прохождения теста и сбрасывается при начале следующего, служит показателем успешности теста, и аккумулированное - не сбрасывается и служит показателем успешности селфскана в целом. Посмотреть здоровье можно онлайн-командой "точка". Биты:
Для быстрой расшифровки битов можно воспользоваться программой SigaHLTH Коды ошибок Эти шестнадцатеричные коды используются в выдаче отчётов по командам "точка", "апостроф", "процент", в онлайн-отчётах о бэдах/ремапах и др. Кроме того, выделенные сообщения об ошибках выскакивают в ответ на невозможность выполнения той или иной команды. Пример:
Code - код ошибки (в примере 33 - адаптивы не загружены). Таблицу кодов ошибок можно посмотреть в документации по ссылкам в начале обсуждения сигейтов (приложение A из Diag Commands Alpine), переводить её мне лень. Track - координаты цилиндра, головки и сектора, где произошла ошибка Специальные сообщения об ошибках и повторах Это односимвольные сообщения, которые выводятся на экран немедленно, прерывая общий поток. Полный список сообщений можно найти в приложениях к документации по командам (см. выше), например в файле Diag Commands Alpine это приложение B. Чаще всего встречаются следующие символы: $ - отсутствует AM сигнал для сервосистемы. Проще говоря, головка теряет сервометки и не может ни удержаться на дорожке и стабилизировать скорость шпинделя. Часто сопровождается сообщением "AM Reacquired". Пример: |
<<Назад Вперед>> | Страницы: 1 2 3 * 4 5 6 7 .. 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 тем | |