Как обычно, орда/империя хочет похитить секрет бессмертия/магнитной записи у заокеанских и не очень джедаев 🙂 После некоторого перерыва продолжаем разбирать старый WD21000 емкостью аж целый гигабайт! Но теперь мы, кроме как разбирать, будем рядом еще постепенно собирать обратно. Правда, автор еще пока не располагает достаточным количеством дисков из семейства нашего подопытного. Но, думаю, это решится в ближайшие месяц/два. А пока… Read more »
Сегодня мы продолжим разговор про проблему зависающих дисков и рассмотрим жесткий диск Seagate. Посмотрим как он себя ведет.
Большинство современных дисков разных производителей имеют общую одинаково проявляющуюся неисправность: по звукам диск запускается как обычно, но при этом либо очень медленно читает данные, либо долгое время висит в состоянии BSY, а после 2-3 минут иногда выдает ошибку, а иногда висит до бесконечности. В качестве примера взят диск модели WD20EARS. Для доступа к данным пользователя используется комплекс ACE Lab PC-3000…. Read more »
В этой серии при помощи дизассемблера IDA Pro и плагина процессора i80C196NU находим заводскую технологическую команду перезагрузки диска и тестируем ее работу при помощи PC-3000 в режиме ATA commander. Предыдущий пост серии.
В предыдущих частях мы начали дизассемблирование на основе только документации к процессору. Однако, хорошо бы посмотреть как программа управления связана с остальной аппаратурой. Для этого вооружимся тестером с пищалкой, платой WD21000, документацией на микросхемы и начнем рисовать схему электрических соединений. Так как в данном исследовании мне хотелось бы по максимуму использовать операционную систему Linux, то рисовать схему будем в KiCad…. Read more »
В ролике сделан обзор функций программы R.tester на примере SATA и SCSI/Fibre channel дисков. Показан принцип работы debug-контейнеров. Продемонстрирована возможность выполнить SCSI форматирование.
Обмен данными с жестким диском производится через интерфейс IDE, SATA (или какой-либо другой) при помощи стандартизированных команд. Чтобы прочитать данные с диска достаточно использовать всего две команды: идентификации и, собственно, чтения. Первая нужна для получения размера диска и определения типа команды чтения, которая будет работать со всей поверхностью диска. Если помните, то за историю своего существования жесткие диски преодолевали целый… Read more »
Итак, приступим к самому магическому действу, а именно, исследованию прошивки нашего подопытного накопителя. Для этого будем использовать IDA disassembler. Запускаем сей продукт, выбираем «открыть файл» и указываем файл считанный из ПЗУ(см. часть 3 данного опуса). Далее появляется вот такое окно: Изменяем тип процессора на «Intel 80196NP». Хотя на нашей плате стоит версия NU, однако, с точки зрения разбора кода программы… Read more »
Перед тем как переходить к детальному разбору конструкции и программы управления жесткого диска WD AC21000 добавим к проекту всю имеющуюся документацию на микросхемы. Файлы загружены на GitHub: https://github.com/rlabru/WD21000/tree/master/doc Файлы имеющие префикс «t_» — это попытки перевести документацию на русский язык.