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

Полигон-2

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

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

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

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

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

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

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


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
KALDYH, я выше спрашивал про D540X-4K с нестабильным чтением, достал, проверил.

Предусилитель питается от +-5V,причем +5V берется не от блока питания, а тоже
формируется преобразователем импульсным, совмещенным с -5V, схема весьма
интересная.

Вот лог в терминале, помогите интерпретировать

ROMRecal
HS1000 HS1000 HS1000 HS2000 HS1000 HS3000 HS1000 HS0000 HS1000 HS1000 HS2000 HS1000 HS3000 HS1000 HS0000 HS1000 HS1000 HS2000 HS1000 HS3000 HS1000 HS0000 HS1000 HS1001 HS2001 HS1001 HS3001 HS1001 HS0001 HS1001 HS1001 HS2001 HS1001 HS3001 HS1001 HS0001 HS1001 HS1001 HS2001 HS1002 HS1004 HS100E HS1009 HS1005 VGAS(72) HS0005 VGAS(5B) HS1005 HS2005 HS3007 RefHd(01) HdMap(03) HS1008 HS100E HS100A HS100F HS100E HS100C HS1011 RdFile 0E
RS #01  FFF7 01 0000 R EC 0019
RS #01  FFF7 01 0000 R EC 0019
RS #01  FFF7 01 0000 R EC 0019
RdFile 65
RdFile 06
RdFile 05
RdFile 01
RdFile 02
RdFile 00
ResInit done
RESpowerOn
RdFile A3
RdFile 08


RDfile считавшиеся модули, EC это error code, а RS?
HSxxxx это перебор головок?

Отмечу, что накопитель ни разу не стучал, в готовность выходит без проблем
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
Затрудняюсь сказать. Вот лог с моего рабочего D540X-4K 40 Гб:
Rom A08
SpinUp                                                                        
Init RPM=0000                                                                
R43_c 51                                                                      
ucAfter=0001 dcAfter=01FE hotRpm=0000                                        
                                                                              
ROMRecal                                                                      
HS1000 HS1000 HS1000 HS2000 HS1000 HS3000 HS1000 HS0000 HS1000 HS1000 HS2000 HS1
000 HS3000 HS1000 HS0000 HS1000 HS1000 HS2000 HS1000 HS3000 HS1000 HS0000 HS1000
HS1001 HS2001 HS1001 HS3001 HS1001 HS0001 HS1001 HS1001 HS2001 HS1001 HS3001 HS
1001 HS0001 HS1001 HS1001 HS2001 HS1002 HS1004 HS100E HS1009 HS1005 VGAS(75) HS0
005 VGAS(46) HS1005 HS2005 HS3007 RefHd(01) HdMap(03) HS1008 HS100E HS100A HS100
F HS100E HS100C HS1011 RdFile 0E                                              
RS #01  FFF7 01 0000 R EC 0019                                                
RdFile 65                                                                    
RdFile 06                                                                    
RdFile 05                                                                    
RdFile 01                                                                    
RdFile 02                                                                    
RdFile 00                                                                    
ResInit done                                                                  
RESpowerOn                                                                    
RdFile A3                                                                    
RdFile 08

Вот лог с рабочего D740X-6L 40 Гб:
Viper-PA 10            
Rom AR1                                                                      
CompT[4]=54                                                                  
SpinUp                                                                        
Init RPM=0000                                                                
hotRpm=0000                                                                  
RECAL numberOfPreampCh 02                                                    
recalStep 0000  currentSpokeType 0001                                        
recalStep 0001  currentSpokeType 0001                                        
recalStep 0002  currentSpokeType 0001                                        
recalStep 0003  currentSpokeType 0001                                        
recalStep 0004  currentSpokeType 0001                                        
recalStep 0009  currentSpokeType 0001                                        
recalStep 0005  currentSpokeType 0001                                        
64 68 recalStep 0007  currentSpokeType 0001                                  
                                                                              
HdMap 03                                                                      
recalStep 0008  currentSpokeType 0001                                        
recalStep 000A  currentSpokeType 0001                                        
recalStep 000F  currentSpokeType 0001                                        
recalStep 000C  currentSpokeType 0001                                        
recalStep 0011  currentSpokeType 0001                                        
                                                                              
RdFile 0E                                                                    
                                                                              
Copy # 00  
                                                                  
C=FFF7 H=00 S=00                                                              
                  RdFile 65
                                                                                                                                  
Copy # 00                                                                    
C=FFF7 H=00 S=01                                                              
                  RdFile 06                                                  
                                                                              
Copy # 00                                                                    
C=FFF7 H=00 S=04                                                              
                  RdFile 05                                                  
                                                                              
Copy # 00                                                                    
C=FFF7 H=00 S=06                                                              
                  RdFile 01                                                  
                                                                              
Copy # 00                                                                    
C=FFF7 H=00 S=0B                                                              
                  RdFile 00                                                  
                                                                              
Copy # 00                                                                    
C=FFF7 H=00 S=07 ResInit done                                                
DWpowerOn                                                                    
                                                                              
RdFile 08                                                                    
                                                                              
Copy # 00                                                                    
C=FFF6 H=00 S=72
i8088
Advanced Member


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Спасибо за логи!

Я оказывается случайно начало лога пропустил, там было:

Rom A08
SpinUp
Init RPM=040F
R43_c 51
ucAfter=0001 dcAfter=0143 hotRpm=040F


Я сравнил оба лога, после выравнивания переносов, основное отличие что у Вашего накопителя сообщение
RS #01 FFF7 01 0000 R EC 0019
есть лишь один раз, а у моего три раза, и несколько оличаются значения параметров.

В принципе, инициализация и чтение SA у моего в прядке, проблемы начинаются в user area.

PS. Скопировал FreeBSD на ALPINE, где я сбрасывал G-list, поработаю на нем и понаблюдаю.
i8088
Advanced Member


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
KALDYH, вопрос про WD на Marvell, правильно ли я делаю перенос G->P?
(Модули SA я сохранил в файлы перед процедурами).

Подопытный четырехголовый (как оказалось)
WDC WD1600JS-08NCB1
WD-WMANM6006868
F/W 10.02E01
Hawk

1.Перенос плохих секторов из G в P лист
2. Регенерация транслятора
3. Внутреннее форматирование с учетом P лист
4. Проверка (делаю запись по поверхности, dd или MHDD итп)
5. Если после пункте 4 появились remap, повторяю с пункта 1.

Что такое быстрое внутреннее форматирование?
Что в терминологии WD означает калибратор для служебной и user области?
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
i8088 написал:
[q]
1.Перенос плохих секторов из G в P лист
2. Регенерация транслятора
[/q]
Насколько мне известно, перенос сам производит пересчёт транслятора и вероятнее всего частичное внутреннее форматирование (у WD резервные сектора распределены по всему диску и транслятор разъезжается только частично).

i8088 написал:
[q]
Что такое быстрое внутреннее форматирование?
[/q]
По правде говоря, не знаю. В более поздних версиях терминология и диалоговое меню форматирования были изменены на более логичные.

i8088 написал:
[q]
Что в терминологии WD означает калибратор для служебной и user области?
[/q]
Калибратор SA - один из ARCO тестов, осуществляет форматирование и дефектоскопию служебной области. Калибратор UA - скорее всего то же самое. Полнофункциональная платная версия к настоящему времени научилась проводить полную ARCO последовательность, восстанавливая её из логов, и эти тесты из пунктов меню убраны (есть меню запуска произвольного одиночного ARCO теста или теста селфскана).
i8088
Advanced Member


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Спасибо за подробный ответ!!

Действительно, я думал, после переноса G->P и пересчета транслятора,
после места первого бывшего remap пойдут IDNF, но такого не случилось.
А стоит вообще тогда это форматирование выполнять тогда, если IDNF-ы
не появились после переноса?
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
i8088 написал:
[q]
А стоит вообще тогда это форматирование выполнять тогда, если IDNF-ы
не появились после переноса?
[/q]
Если не появились - не стоит. Даже если появились, можно попробовать просто затереть эти сектора обычной записью - вроде при этом заголовок тоже правильный переписывается.


Поверив в свои силы, считал дамп памяти с платы Jaguar и засунул в дизассемблер IDA Pro (напоминаю, ни пользоваться им, ни программировать я не умею). Попробую раскурить его и составить реальную таблицу команд на Conner. Кто-нибудь умеет идой пользоваться?
i8088
Advanced Member


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
KALDYH написал:
[q]
Если не появились - не стоит. Даже если появились, можно попробовать просто затереть эти сектора обычной записью - вроде при этом заголовок тоже правильный переписывается.
[/q]
OK, и да обычная запись тоже помогает, я часто обычным dd из FreeBSD пользуюсь.


KALDYH написал:
[q]
Поверив в свои силы, считал дамп памяти с платы Jaguar и засунул в дизассемблер IDA Pro (напоминаю, ни пользоваться им, ни программировать я не умею). Попробую раскурить его и составить реальную таблицу команд на Conner. Кто-нибудь умеет идой пользоваться?
[/q]
Я пользуюсь DOS версией IDA 3.64, в основном для разбора x86 BIOS. В скриптах правда не силен
(да они еще неприятным образом различаются в разных версиях), но в общем во многих случаях
можно и без них обойтись. С Motorola правда не приходилось работать.

Чуть не единственная книга про IDA - это книга Криса Касперски, "Образ мышления - Дизассемблер
IDA", к сожалению недописанная.

Дизассемблерование начинайте со стартового адреса, далее видно будет, иногда может быть проще содержимое
ОЗУ реассемблировать, тут главное найти правильно точку входа (и адреса в адресном пространсве CPU). Для
примера, разборы BIOS удобно начинать с распакованного original.tmp (загрузив его по адресам 0xE0000 - 0xFFFFF,
и создав два сегмента, E и F), тогда не нужно раскручивать декомпрессор и создавать дополнительные сегменты.

Иногда можно просто искать кусочки осмысленного кода и раскручивать от них, так для x86 байт C3 это часто retn,
то есть конец подпрограммы, искать обращения к известным портам (здесь у HDD конечно тяжело), обращения
к последовательному приемопередатчику (вывод TMOS).

Байты текстовых строк сразу полезно преобразовать в строки (команда a), будет легче.

У дизассемблера этого много странностей/особенностей, но лучше него просто нет!
В общем пишите, попробую помочь чем смогу.
KALDYH
Advanced Member
Технонекромант

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


Ссылка


Дата регистрации на форуме:
5 июня 2009
Я скачал версию 6.8. Похожего процессора с 384 байтами ОЗУ я не нашёл, выбрал некий обобщённый. Автоанализ нашёл таблицу обрабочиков прерываний, и дальше танцуя от неё - некоторые функции. К сожалению, только небольшую часть. Далее я прошёлся по всему дампу и отметил текстовые строки. Строки очень похожи на сишные, нуль-терминированы. Между ними начали обнаруживаться подпрограммы. Удобно - преобразовал один байт как команду, разворачивает сразу целый немаленький блок. Протыкав так по всему дампу, определил его большей частью. Области адресации, ранее определённые как не содержащие памяти, скрыл - как заменить их на gap я не знаю. Затем довольно быстро нашёл функцию печати форматированной строки в терминал, обозвал её printf и поискал cross references. Их оказалось довольно много, и перед вызовом большинства из них стоил ldd #addr, где addr - адрес текстовой строки. Заменил адреса на автосгенерированные метки ранее найденных строк - код начал обретать читаемую форму, начало проясняться назначение отдельных процедур. Затем по рецету Шаклеина для коннергейтов нашёл таблицу уровней команд и от неё таблицы самих команд. Там очень просто - символ и за ним адрес подпрограммы. Пройдясь по ним, нашёл ещё несколько невыявленных блоков кода. Потом догадался пройтись по всему ранее обнаруженному мною коду и везде заменить адреса обращений к памяти на метки. Таким образом определил реальные границы ОЗУ (очевидно же, что в ПЗУ переменные храниться не могут), нашёл точки обращений к константам, ещё несколько форматированных строк и точки вызова большинства подпрограмм. Итого на данный момент известно строение 95% адресного пространства, далее пойдёт разбор формата текстовых строк, от них можно будет найти параметры, передаваемые подпрограмме печати строки и назначение некоторых переменных, также надо определить границы пространства ввода-вывода. Дальше: по коду видно различие процедур и функций, в начале идут функции. Можно попробовать их оформить. Основная задача - это, разумеется, установить назначение команд терминала, опираясь на уже известные, ну и переименовать соответствующие им процедуры. Также надо найти процедуру ввода и определить, какие и сколько параметров у каждой команды. Ещё задача - по командам работы с буферами найти механизм переключения банков памяти и узнать о нём всё: через какой порт переключается, в какое окно подставляется, где в них служебные данные найти (куски ПЗУ и серт). Практически неразрешимой частью остаётся карта портов ввода-вывода, но она особо и не нужна.

Пока основное затруднение - огромный объём монотонной ручной работы, которую хорошо бы автоматизировать, но я не знаю как.
i8088
Advanced Member


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


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Отлично!


KALDYH написал:
[q]
Пока основное затруднение - огромный объём монотонной ручной работы, которую хорошо бы автоматизировать, но я не знаю как.
[/q]
Это непростая задача, в случае разбора множества однотипных прошивок можно подумать о некоем скрипте, но при первом разборе
только интерактивно. К примеру возможна имитация декомпрессора (если есть), перемещения кода в ОЗУ и создания сегментов для него,
разбор неких таблиц по фиксированным адресам (актуально например при разборе BIOS плат расширения). Может еще (неуверен)
сигнатурный анализ, по характерной последовательности байт (но примеров таких скриптов не видел).

Ну а так сам анализ интерактивный по определению, в этом и достоинство IDA в сравнении с другими дизассемблерами,
которые пытаются сами интерпретировать код и спотыкаются в конце-концов.


KALDYH написал:
[q]
Дальше: по коду видно различие процедур и функций, в начале идут функции.
[/q]
Под функцией понимается подпрограмма возвращающая значения в регистре, под процедурой нет?
Я просто привык к Си, где только функции, а термин процедура отсутствует (это просто функция,
возвращающая void), ну а в ассемблере все это подпрограммы.

upd. Я забыл спросить - WD ROYL, это уже цветная серия, GREEN/BLACK/BLUE ? Процессор там уже не Marwell?
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 34 35 36 37 38 * 39 40 41 42 .. 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