это чтение.по поводу записи выложу познее.
А как отрезать голову на F3 я пока не знаю,думаю Вы мне подскажете.
Отключение голов на Sefagate F3-series. Немного теории.
1.Понадобятся программатор для SPI-flash, терминальный адаптер, для дисков семейств .11 утилита для чтения - записи модулей и
системных файлов через терминал. Если нет утилит, то в сети можно поискать скрипты для программы ZOC.
На остальное ниже есть ссылки.
Считать служебку (образ ROM, модули, SysFiles).
- ROM,
- лоадер (а для него все необходимые оверлеи, модуль CFW_DISK, он же system file 20D, на более новых дисках это уже
модуль 003d.rpm, но смысл тот же),
- P-list (0003.rpm).
Если возможно, слейте треки. Да, это долго. Но если ваша утилита неверно прочитает критичный модуль (чаще всего это 20D),
или вы ошибочно посчитаете, что его нет и не сохраните его, это может быть фатально.
Почему? Оверлеи подгружается диском уже в процессе работы и иногда заменяемы от других версий FW.
CFW_DISK - это продолжение CFW, то что не поместилось в микросхему ПЗУ. Оно необходимо при начальной инициализации.
Без CFW_DISK не будет ни терминала, ни даже отклика Rst... (откликаться некому).
Найти абсолютно одинаковые FW на archF3 в качетсве доноров очень сложно.
Меня во время экспериментов наличие треков очень выручало.
Подготовьте лоадер. Проще всего найти в сети готовый от вашего семейства и моей утилитой LodEdit
(либо отсюда
https://yadi.sk/d/ps0J3Kns3A3KY9, либо загуглить, если ссылка сдохла) заменить в нём оверлеи на свои.
Однако этот вариант иногда не работает, поскольку даже в билдах одной вари иногда отличаются принципы построения
лоадера. (Привет, Brinks, ты просто сводишь меня с ума...)
Будьте внимательны. Для одного и того же семейства (Brinks, Pharaoh и др.) существуют версии FW как с 20D, так и без него.
ЛОАДЕР ОБЯЗАТЕЛЬНО ПРОВЕРИТЬ ПЕРЕД ОТКЛЮЧЕНИЕМ ГОЛОВ! Его загрузка никак не испортит диск, но позволит в общем случае
проконтролировать правильность сборки. После загрузки его в диск, в регистрах должны остаться ТОЛЬКО(!) DSC+RDY.
Лайфхак: в качестве лоадера можно использовать Seagate-овскую обновлялку для вашего семейства и вашей модели.
Такой вариант более гибок в плане совместимости (вы полностью перепишите всю FW на новую), но тут есть нюанс:
РАЗНОГОЛОВЫЕ обновлялки (например, четырехголовая на двухголовом диске) отличаются CFW и сервокодом и не совместимы, будет
кирпич!
2. Форматируем служебку (m1,8,2,,,,,dd). Иногда можно обойтись без этого, но это позволит избежать непонятных стуков
и LED-ов после 3 шага.
НИКОГДА, слышите, НИКОГДА не форматируйте служебку с паттерном после ",dd"! Запись поляны паттерном нарушит контрольные
суммы (которые для зануленных модулей после формата также равны 0x0000) и диск просто не выйдет из BUSY.
А ещё... Если на диске был 20D... Упс...после этого останемся с вечными бизи при запуске.
ЧТОБЫ ЭТОГО ИЗБЕЖАТЬ, СРАЗУ ПОСЛЕ ФОРМАТИРОВАНИЯ СЛУЖЕБКИ НЕ ТРОГАТЬ ПИТАНИЕ, А ДАТЬ В ТЕРМИНАЛЕ CTRL-R И ЗАГРУЗИТЬ
ПО ATA ЛОАДЕР.
* Печальный опыт: если на диске был 20D и на шаге форматирования служебки осталась голова, которая проходит начальный опрос
коммутатора, будет ловить серву, но окажется не в состоянии писАть в служебку, формат зависнет и вы можете получить кирпич.
У меня эта ситуация встречалась довольно часто, ибо F3 нещадно "пилят" одну поверхность и "пылят" на остальные,
Процесс прогрессирует очень быстро и головы часто дохнут не по одной... Угадать и отключить разом все испорченые очень
сложно. Немного утешает тот факт, что такой диск и так "не жилец" в принципе.
Идеальны для лечения отключением голов диски с "отсохшей" по голове записью, тоже не редкая для archF3 ситуация.
3. Правим образ ROM. Основной шаг. Используем утилиту F3romExplorer. Подробности в readme к ней.
Общий принцип:
При отключении последней(-их) голов, карты голов в SAP и адаптивы в RAP и SAP править не нужно.
В CAP меняется количество голов и CAP ID (для отображения правильного названия). На старых - само название "ST...".
В RAP исправляется maxLBA и рабочая карта голов (формат - 0xFh - 00001111 четыре головы, 0x3h - 00000011 две, нулевая и первая).
В SAP исправляется макс.номер головы (02 - три головы, 01 - две головы).
Пересчитываются контрольные суммы модулей CAP, RAP, SAP. Не сегментов ROM, а именно модулей, которые внутри сегментов.
При отключении головЫ в середине пакета либо меняется размерность (для RAP) и адаптивы выключенной головы удаляются, а
остальные "сдвигаются" внутри модулей, либо адаптивы по неисправным головам подменяются исправными и правятся рабочие карты.
4. Убеждаемся в отсутствии LED-ов, возможны ругательные сообщения, но в терминал должен выходить.
Смотрим по CTRL-L что получилось.
Форматируем служебку еще раз. После отключения системных голов или если пропустили шаг 2 - это обязательно! (Не забываем про
лоадер и 20D!).
Перезапуск питания.
5. Лог старта в терминале должен быть стандартным.
Заливаем по ATA лоадер (кто умеет, может лить в терминале
).
Перезапускаем питание, иначе может зависнуть.
6. Возвращаем на место P-list из которого предварительно исключены дефекты по отключенным головам,
а остальные дефекты приведены в соответствие с текущей картой голов.
Можно воспользоваться бесплатной утилитой от MRTlab.
http://info.mrtlab.com/download/sgtpledit.rar
Это необходимо проделать максимально внимательно, иначе после пункта 6, диск может зависнуть
и тогда в чувство его можно будет привести только путём манипуляций с картой голов
(подменяя нулевую голову другой несистемной головой, с последующим форматом служебки).
7. Пересчитываем транслятор m0,2,2,,,,,22, либо сразу переходим к пункту 8.
Питание после 6 пункта можно не перезапускать.
8. Запускаем формат, предварительно убедившись, что maxLBA < maxPBA (/2x у кого есть), иначе этот шаг зависнет.
Возможно в результате формата имеющейся емкости не хватит на листы дефектов, тогда нужно поправить maxLBA в RAP и CAP,
ID в CAP и заново пустить формат.