Author Archives: Sergei

Изобретаем жесткий диск. Часть 7. Схема.

В предыдущих частях мы начали дизассемблирование на основе только документации к процессору. Однако, хорошо бы посмотреть как программа управления связана с остальной аппаратурой. Для этого вооружимся тестером с пищалкой, платой WD21000, документацией на микросхемы и начнем рисовать схему электрических соединений. Так как в данном исследовании мне хотелось бы по максимуму использовать операционную систему Linux, то рисовать схему будем в KiCad…. Read more »

Обзор функций программы R.tester

В ролике сделан обзор функций программы R.tester на примере SATA и SCSI/Fibre channel дисков. Показан принцип работы debug-контейнеров. Продемонстрирована возможность выполнить SCSI форматирование.

Изобретаем жесткий диск. Часть 6. Технологический режим.

Обмен данными с жестким диском производится через интерфейс IDE, SATA (или какой-либо другой) при помощи стандартизированных команд. Чтобы прочитать данные с диска достаточно использовать всего две команды: идентификации и, собственно, чтения. Первая нужна для получения размера диска и определения типа команды чтения, которая будет работать со всей поверхностью диска. Если помните, то за историю своего существования жесткие диски преодолевали целый… Read more »

Изобретаем жесткий диск. Часть 5. Дизассемблирование.

Итак, приступим к самому магическому действу, а именно, исследованию прошивки нашего подопытного накопителя. Для этого будем использовать IDA disassembler. Запускаем сей продукт, выбираем «открыть файл» и указываем файл считанный из ПЗУ(см. часть 3 данного опуса). Далее появляется вот такое окно: Изменяем тип процессора на «Intel 80196NP». Хотя на нашей плате стоит версия NU, однако, с точки зрения разбора кода программы… Read more »

Изобретаем жесткий диск. Часть 4. Документация на микросхемы.

Перед тем как переходить к детальному разбору конструкции и программы управления жесткого диска WD AC21000 добавим к проекту всю имеющуюся документацию на микросхемы. Файлы загружены на GitHub: https://github.com/rlabru/WD21000/tree/master/doc Файлы имеющие префикс «t_» — это попытки перевести документацию на русский язык.

Изобретаем жесткий диск. Часть 3. Удалось прочитать ПЗУ.

В прошлом выпуске была реализована плата-переходник для подключения ПЗУ к плате Arduino MEGA2560. С тех пор удалось протестировать плату, написать и запустить программу чтения данных из ПЗУ. На рисунке ниже показан основной цикл программы. Полностью программу можно скачать с репозитория проекта на GitHub. Основной цикл void loop() обрабатывает две команды, подаваемые от ПК к устройству чтения ПЗУ платы Arduino: „d“… Read more »

Диагностика неисправностей жестких дисков. Часть 2.

В предыдущем посте по данной теме был обозначен список последовательных шагов диагностики. В этой части мы раскроем подробности следующих пунктов: повреждены элементы электроники (проверка платы электроники); механические повреждения. Что делать раньше: осматривать плату, или искать вмятины — это пусть каждый решает сам. Чтобы поставить диагноз нужно собрать данные о всех видимых неполадках: от повреждений на корпусе, до проблем с элементами… Read more »

Изобретаем жесткий диск. Часть 2. Чтение ПЗУ.

Целью под номером три в списке запланированных работ по «жесткому диску» значится: «считать микросхему ПЗУ». Для этого необходимо прочитать содержание старой 5-и вольтовой ПЗУ AT27C516 с разрядностью 16 бит и объемом 64К. Подходящего программатора и переходника под руками нет. Однако, возможно решить задачу при помощи подключения данной ПЗУ к Arduino MEGA2560. На фото ниже представлена реализация такого подключения.

Диагностика неисправностей жестких дисков. Часть 1.

В этом цикле заметок хотелось бы дать представление о различных видах неисправностей жестких дисков и их диагностики. Для новичков рекомендую ознакомиться со статьей «Устройство жесткого диска» Часть неисправностей может быть определена при помощи встроенной в программу управления жестким диском системы S.M.A.R.T. Такой способ диагностики подразумевает подключение диска к компьютеру и использование специализированной программы, например, бесплатной программы R.tester или комплекса для ремонта и… Read more »