Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Документация »   Програмный ремонт жёстких дисков HDD
RSS

Програмный ремонт жёстких дисков HDD

Програмный (и не только) ремонт классических жёстких дисков HDD /Seagate /Samsung /IBM /Hitachi /HGST /Western Digital

<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 30 31 32 33 34 * 35 36 37 38 .. 75 76 77 78 79 80
Печать
 
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Можно попробовать посчитать сумму байт и слов (для слов надо иметь ввиду, что у Motorola старший/младший
порядок, не как у Intel), если какая-то сумма будет нулевой (в младшем байте или слове), то скорее всего она
и считается. С Motorola не возился никогда, все Intel (x86, 8048, 8051, 8080), а то можно было бы попробовать
дизассемблировать, подсчет КС обычно не очень сложно найти.
strelec
Newbie


Откуда: Кемерово
Всего сообщений: 105
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
3 апр. 2018
i8088 написал:
[q]
С Motorola не возился никогда, все Intel (x86, 8048, 8051, 8080), а то можно было бы попробовать
дизассемблировать, подсчет КС обычно не очень сложно найти.
[/q]
Это ,конечно, интересно.Это надо знать тип процессора(например ,серия HC16),дизассемблер под него,и знать к тому же алгоритм работы hdd?И еще как минимум,надо знать ассемблер ))))
Почитал про алгоритмы crc-их там тьма всяких разных!)
Возможно ,что кс и не общая на дамп.А разбита на сегменты и у каждого сегмента своя КС...
Если бы какая-нибудь команда терминала меняла бы флеш,то можно было бы для начала вычислить ее расположение(сравнением дампа до и после).
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
strelec написал:
[q]
Это ,конечно, интересно.Это надо знать тип процессора(например ,серия HC16),дизассемблер под него,и знать к тому же алгоритм работы hdd?И еще как минимум,надо знать ассемблер ))))
Почитал про алгоритмы crc-их там тьма всяких разных!)
[/q]
На самом деле, если не стоит задача полностью разобрать FW,можно ограничиться
разбором по кусочкам, KALDYH давал ссылку.

КС скорее скорее всего простое сложение (как в BIOS), но как Вы верно отметили, может не
все ПЗУ считаться. Также HDD может не весь образ ПЗУ возвращать верно, Проверил в
лоб сумму байтов всего образа образа - явно не оно.

upd.
KALDYH писал, что на других Seagate правил карту голов, переставляя байты,
и работало. Я думаю, CRC бы обнаружило это, а вот простая КС нет.
strelec
Newbie


Откуда: Кемерово
Всего сообщений: 105
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
3 апр. 2018
i8088 написал:
[q]
KALDYH писал, что на других Seagate правил карту голов, переставляя байты,
и работало. Я думаю, CRC бы обнаружило это, а вот простая КС нет.
[/q]
КС типа checksum byte(простое сложение байт) -эта да,не обнаружит замену байт местами.
А уже КС типа checksum word(простое сложение word ) уже эту подмену заметит.Пробовал через калькулятор checksum.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Пока не удалось подобрать, написал программу для подсчета КС в Motorola order, сумма ненулевая.
А кстати, она может быть любой, и ненулевой, просто какая-то определенная, хотя я не встречался
с таким в BIOS материнок. Начало дампа какое-то странное.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
KALDYH, такой вопрос, для проверки физического наличия второй головки но 80GB
TONKA2 достаточно посмотреть реакцию на 2>H1, или нужно еще сменить тип диска и
серийный номер?

Upd. Перечитал статью, вопрос в основном снят.
Тогда у TONKA2 одноголовой если обнаружится H1, то она настоящая, а остальные всегда
фантомные?
KALDYH
Advanced Member
Технонекромант

Откуда: Кемерово
Всего сообщений: 2355
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 июня 2009
i8088 написал:
[q]
или нужно еще сменить тип диска и серийный номер?
[/q]
Серийник нужен только для селфскана, а насчёт типа не знаю - возможно и надо, экспериментировать надо. Вообще, на маску голов надо смотреть - если она FF, то включены все головки, можно пробовать попереключать их, но скорее всего ничего не найдётся. А вот если не FF, то шанс обнаружить незадействованные стремится к 100% :)
Да, у TONKA2 почему-то находится 6 голов и все выбираются.

Тем временем для освежения навыков провёл бурн на Samsung SV2001H V40 (Victor) и Samsung SV0761D V10 (Voyager). Оба прошли успешно. Разобрался с burn-in script и его кодовым словом. К сожалению, не смог сохранить лог последовательного интерфейса - оказывается, выбор скорости там имеет некоторые особенности.
KALDYH
Advanced Member
Технонекромант

Откуда: Кемерово
Всего сообщений: 2355
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 июня 2009
Покопался с CP30087E
Jaguar - 4HJ2.60    04-19-93 021 1 1

Age Typ Ftr  Hds Gn Thd  Grey  Itg Ofs Spin Rwctl
40  A6  0100  1  B4  24  0408  F6  80  156  1233

Обнаружил некоторые команды:

1>C - похоже, рестарт микропрограммы
1>R - останов шпинделя
T>B - Enter Bar code S/N
1>B - set break point, на большинство параметров отвечает Not in ram, ввод B20 вызвал жёсткую перезагрузку с выводом мусора в терминал.

Посмотрел пакетные файлы, их обнаружилось довольно много: https://pastebin.com/LG5hGPuk
Можно попробовать из них определить назначение некоторых других команд.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
KALDYH написал:
[q]
А вот если не FF, то шанс обнаружить незадействованные стремится к 100% :)
[/q]
Спасибо за разъяснения, на одной из TONKA2 маска голов FF, как вторую заберу тоже посмотрю.

У меня есть Conner CP30084E, можно тоже будет глянуть.
KALDYH
Advanced Member
Технонекромант

Откуда: Кемерово
Всего сообщений: 2355
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
5 июня 2009
Попробовал разобрать скрипты.
6>D5  
/2    уровень 2
A0    все биты опций тестового пространства в 0 (см. описание битов в доке на барракуды, там это общая команда на всех уровнях)
Y1    опции повтора - OTF enable
H0    выбор головки 0
@2    метка "2"
P3333  заполнить буфер записи (единственный буфер №2) паттерном 3333
W    записать буфер на диск
*1    пауза до ввода
P492  заполнить буфер записи паттерном 492
W    записать буфер на диск
*1    пауза до ввода
*4,2  увеличиваем номер головки и переход на метку 2
|    конец пакетного файла

Получается, заливка сектора двумя паттернами (координаты сектора указывать отдельно)

6>D7
/3
H0
@2
P11
*4,2
|

Что-то связанное с тестированием сервосистемы?

6>D9
/2
S200,0    позиционирование на цилиндр 200, головка 0
/3
*      непонятно, тут должен быть параметр
/A      О как! У барракуд это уровень команд чтения/записи по LBA, тут неизвестно
K      
D
V
/B      Тоже надо проверить
/2
e010A    сохранить лог (возможно трактовать как e1,0A - ASCII лог 0A)
S200,0
/
=6A,0E    значение 0E в ячейку памяти 6A
/2
S8,0    позиционирование на дорожку 8 (служебная зона)
E0      очистка активного лога
A83      установить биты опций тестового пространства
Y3,01,40  установить биты опций повтора
P0000    заполнить буфер записи паттерном 0000
L1,E3A    зациклить следующую команду в случае ошибки 3A (не описана)
W      запись
e1C      сохранить лог
|

Некое тестирование. Узнаём о возможном существовании еще двух уровней TMOS и о некоей важной ячейке памяти.

6>D11
AD      опять-таки, опции тестового пространства
Y0      опции повтора
E0      очистка активного лога
S100    похоже, это скрипт для уровна 2 и это позиционирование
L,3100    цикл в 3100 раз?
F      форматировать трек
*6      останов при ошибке
P2323    задаём паттерн?
L1,3100    цикл в 3100 раз в случае ошибки?
Q      записать и тут же считать
D      команда не описана
E      показать активный лог
|

Опять-таки дефектоскопия. Проверить команду 2>D.

На сон грядущий почитал немного об организации памяти 68HC11. Адресное пространство - 64к, обычно разбивается на страницы по 32к: верхняя фиксирована, в нижнюю могут подключаться банки памяти (но в принципе разбивка может быть любой). Первые 256 байт - память быстрого доступа. Регистры устройств мапятся на память (как в PDP-11 или m68k), на прототипных платах - 1000-105F внутренняя периферия, 1800-1FFF внешняя. Итого приходим к выводу: 1) ПЗУ в 64к разбито на банки, 2) для чтения ПЗУ через терминал нам необходимо как-то щёлкать страницами памяти, а адрес регистра неизвестен (хотя есть намёки).
Читать всю память в лог я в принципе научился, осталось проверить и сравнить. Также неплохо бы узнать расположение буферов в памяти.
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 30 31 32 33 34 * 35 36 37 38 .. 75 76 77 78 79 80
Печать
Полигон-2 »   Документация »   Програмный ремонт жёстких дисков HDD
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS