Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Hardware » Магнитные носители информации » Ремонт накопителей WD (Western Digital). Часть X

Модерирует : Akam1, Dr_StandBy, vertex4

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161

Открыть новую тему     Написать ответ в эту тему

vertex4

Moderator
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Самое главное правило ремонтника


Коды ошибок WD || Коды ошибок WD Обновлено 18.01.2013
Ссылки на файловые ресурсы
"Лампочки" ATA терминала
Разное (статьи, описания, информация с форумов)
Western Digital ACRONYMS

FAQ по действиям с накопителями WD
Порядок загрузки модулей варью накопителя
PST-mode
Для Любителей чистить RELO, P и G листы
Определение нужной версии оверлея
Ошибка чтения -1 (-256) трека по 0 (1) голове, статус - DISK_DAM_ERROR
Ошибка чтения модуля ID04, статус - RSC_ALLOCATION_NO_CONTI_BUFFER (Модуль ID04 прочитан посекторно)
Отключение 0 головы на Mariner от Cartmann
Восстановление транслятора без РС3000 от Kickman
  • подробнее
    Инструкция по скрытию бэдов сканом по логике
    Неудачно отключились головки, возвращение диска в исходное состояние
    Способы перевести HDD в SAFEMODE ("безопасный" режим)

    Расшифровка ошибок в программе WDMarvel
    WDMarvel 2.3 beta, WDMarvel 4.04, WDMarvel Plus 4.3.4, WDMarvel 4.35
    WD Defects Viewer
    WD SMART Editor
    WD F-List Editor
    WD Script Editor
    HDD FW Updater
    Def_WD
    Немного, о стуктурах Firmware, модулях WD-MARVELL
    PListEdit WD70xx & Marvell
    WD Family Search.xls
    TREX файлы в пакетах [?] индикатор активности
    WD SS Scripts
    SeDiv Demo
    WDC Based
    Отключение обработки ошибок
    Решения slow fix
    WD UART
    Nazyura WD tools
    WD SSHD drives
    DRT
    WD MyBook encrypted hard drive decryption
    WDRepairTools
    WDR
    Скрипты для программ
    Важно! Инструкция по чистке контактов на плате HDD
    Как это сделано..
    How to disable the 3.3v pin on Western Digital USB White Label Drives
    Новый 12ГБ диск не работает - тут ответ почему и что делать. Подробно почему может быть нужно удалить 3,3V из SATA коннектора
    что есть #
    hddoracle.com
    Индикатор состояния HDD
    HDD: Служебки, ПЗУ, модули, лоадеры, firmware, flash
    Data Lifeguard Diagnostic
    Гарантийное обслуживание и RMA
    Firmware Updates Western Digital

    Темы по проблемам логического ремонта разделов HDD и подъёма информации:
    Восстановление разделов и информации на HDD
    Железные проблемы с HDD (диском, хардом, веником
    S.M.A.R.T.
    Офтопик на поболтать на HDD темы
    ATA-Terminal
    Магнитный флейм
    Бизнес-вопросы сферы восстановления данных и ремонта HDD
    Предыдущие части

  • Всего записей: 10398 | Зарегистр. 29-01-2006 | Отправлено: 11:48 07-01-2024 | Исправлено: Smyg1, 09:24 02-09-2024
    BolenB



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    igoa
    А чего так сложно? зачем вам директория?
     
    Куда уж проще (всё придумано до нас):

    Цитата:
     
    if (FileExists "2401.rpm")                 //то-же самое что и "if (FileExists "2401.rpm" == 1)"  или  "if (FileExists "2401.rpm" != 0)"
       есть файлик
    else
       нет файлика
    eif  
     

    или наоборот

    Цитата:
     
    if (FileExists "2401.rpm" == 0)
       нет файлика
    else
       есть файлик
    eif  
     


    Всего записей: 779 | Зарегистр. 22-12-2003 | Отправлено: 19:35 17-08-2024 | Исправлено: BolenB, 03:55 18-08-2024
    Smyg1



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    по идее правильнее делать через FILEEXISTS...

    Цитата:
    DIREXISTS                    Source Function : Directory Exists Yes=>1 No=>0
     
    FILEEXISTS                   Source Function : FileSpec Exists Yes=>1 No=>0  
     
    FILECLOSE                    Low-level File Close

     

    Всего записей: 5886 | Зарегистр. 03-10-2006 | Отправлено: 20:59 17-08-2024
    BolenB



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smyg1

    Цитата:
    по идее правильнее делать через FILEEXISTS...

    Может быть есть нюансы:
    FILEEXISTS вообще проверяет структуру модуля (header)? Или можно тупо любой мусорный файл обозвать как нам надо, и он покажет что файл есть. Такие вещи надо проверять.

    Всего записей: 779 | Зарегистр. 22-12-2003 | Отправлено: 21:26 17-08-2024
    Smyg1



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    к самих WD так и применяют
     

    Цитата:
    if (FileExists "fmt_slct.bin")

     

    Цитата:
       ulcl f4temp_exists
       f4temp_exists = fileexists "f4temp.exe"
       if(f4temp_exists)
     
       eif

     

    Цитата:
             sprintf szfilename,"procimg.cy%1d",ulCnt ;
             if ( FileExists szfilename != 0 )
     
             eif

    Всего записей: 5886 | Зарегистр. 03-10-2006 | Отправлено: 21:39 17-08-2024
    BolenB



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smyg1

    Цитата:
    к самих WD так и применяют


    Цитата:
       ulcl f4temp_exists
       f4temp_exists = fileexists "f4temp.exe"
       if(f4temp_exists)
       eif

    Этот пример наводит на мысль что ищут тупо по названию файла.
     
    uvfHandle = FileOpen "2401.rpm" - вещь более надежная, с проверкой на битость файла.
    Дополнительный уровень защиты от всякого мусора, вместо модуля.
     
    Все оверлеи подгружаются через  uvfHandle = FileOpen и FileClose uvfHandle.
    Я считаю это правильно.

    Всего записей: 779 | Зарегистр. 22-12-2003 | Отправлено: 21:57 17-08-2024 | Исправлено: BolenB, 03:59 18-08-2024
    Smyg1



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    Цитата:
    BolenB
    uvfHandle = FileOpen "2401.rpm" - вещь более надежная, с проверкой на битость файла.
    Дополнительный уровень защиты от всякого мусора, вместо модуля.  

    имхо, Вы умножаете сущности...
    ничего тут не тестируется, просто, открывается произвольный файл...
    это имеет смысл если потом идет ldbin

    Всего записей: 5886 | Зарегистр. 03-10-2006 | Отправлено: 23:10 17-08-2024 | Исправлено: Smyg1, 23:11 17-08-2024
    igoa

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DIREXISTS <FILESPEC>
     
    Definition
    Checks if a directory or file exists.  Will return 1 if the directory or file exists, else 0.  Folder paths must contain double back slashes.
     
    Проверяет и то и другое. Файл тоже проверит. Хотя это лишнее и проверять как File Exists имеет меньше
    накладных расходов.
     
     
    IHNDL = FILEOPEN “<FILESPEC>”/<USRSTR>
    The FileOpen command opens (or creates) the file specified by FileSpec and prepares it for reading or writing. FileSpec can be specified by either a fixed name in quotations or in a UsrStr (user string). Before using FileOpen you must specify the mode using the FileOpenMod, shown bellow. FileOpen returns a handle after the file is opened in the specified mode successfully. See FileErrNo for possible error conditions.
     
     
    FILEERRNO
    FileErrNo will be set to zero or an error as specified below after each file manipulation command. It is recommend that the FileErrNo to be tested against zero after each one of the operations explained above. If the value of FileErrNo is not zero it should be one of  the following (which indicates the condition that caused the error) . The command that could cause the error is shown in parenthesis.  
    feNOENT    (FileOpen) No such file or directory.
    This error means that either the file or the path was not found.  
    feBADF    (FileClose, FileRead, FileWrite) Bad file number
    This error means that the iHndl used in FileRead, FileWrite or FileClose operation is and invalid file handle  or the file is not open for reading, or the file is locked.  
    feACCES    (FileOpen) Permission denied
    File cannot be opened for the mode specified by FileOpenMod
     
    feEXIST    (Create , FileOpen) File exists
    An attempt was made to create a file that already exists on the path.
    feNFILE    (FileOpen) File table overflow
     
    feMFILE    (FileOpen) Too many open files
     
    No more file handles available. Too many files are open.
    feNOSPC    (FileWrite) No space left on device
     
     
     
    Т.е структура файла не проверяется и таким образом File Open только создаёт сложности вместо File Exists. К тому же я считаю уместным предполагать что состав пакета не меняется пользователем скрипта и поэтому мусора там не будет.

    Всего записей: 498 | Зарегистр. 16-07-2015 | Отправлено: 23:39 17-08-2024 | Исправлено: igoa, 23:50 17-08-2024
    BolenB



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smyg1

    Цитата:
    имхо, Вы умножаете сущности...
    ничего тут не тестируется, просто, открывается произвольный файл...
    это имеет смысл если потом идет ldbin

    igoa

    Цитата:
    Т.е структура файла не проверяется и таким образом File Open только создаёт сложности вместо File Exists. К тому же я считаю уместным предполагать что состав пакета не меняется пользователем скрипта и поэтому мусора там не будет.

    Вы правы.
    Провел эксперимент (uvfHandle = FileOpen) и действительно ничего не тестируется, просто, открывается произвольный файл...
    ldbin тоже грузит что угодно.
    Проверка на корректность модуля (контрольные суммы) происходит в команде wbxpst, xf, xfile и т.д.
     
    В общем можно смело использовать FileExists (DirExists тоже работает, но он нам не нужен. ИМХО. Текущий каталог у нас всегда тот где лежит пакет), если нужно просто проверить есть файл или нет.

    Всего записей: 779 | Зарегистр. 22-12-2003 | Отправлено: 03:39 18-08-2024 | Исправлено: BolenB, 05:36 18-08-2024
    igoa

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smyg1  
    И опять таже самая фигня теперь уже с Rembrandt. После проверенного пакета 212KF в паспорте вот
     
    Security Mode feature set.................................................... : Not supported
     
    понижения пакетами вплоть до 1.84F и/или замены паспортов не помогают. Причём я точно знаю что
    должно работать. Его собственный паспорт ДО трекса не включает Security обратно. Ну одна  таже
    фигня происходит и нет стабильного решения. Открыл мануал трекса и читаю АТА команды - многое
    можно включить выключить через Set Features но вот как включить Security нет ни слова.  
     
    WD Marvell 3.3 видит в редакторе паспорта что Security выключен. Галку поставить можно и включить.
    Толку нет никакого. Ставлю через WD Marvell Lock HIGH и пароль. Они ставятся!
    в паспорте становится вот так. Вообще забавно.
     
    Security Mode feature set.................................................... : Not supported                        Enabled
     
     
    Поднял диск из бекапа до трекса на 1.84F - и там всё Supported как и следовало ожидать.
     
    Что нибудь можно сделать?

    Всего записей: 498 | Зарегистр. 16-07-2015 | Отправлено: 09:46 18-08-2024 | Исправлено: igoa, 10:46 18-08-2024
    Smyg1



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    настройки винта хранятся только в модулях 02, 0С, 0D и 29...
     
    02, 0D и 29 можно взять из ресурса...
     
    попробуйте пока вернуть только 02, 0D и 29...
     
    а вот с 0С все сложнее...
     

    Цитата:
    модуль 0C, нужно найти  BUILD ORIG строку.  
     
    0760: 42 55 49 4C 44 20 4F 52 49 47 2D 2D 42 55 49 4C  ¦BUILD ORIG--BUIL
    0770: 44 20 52 45 43 4F 4E 2D 40 00 00 00 03 00 01 00  ¦D RECON-@...·.·.
    0780: 00 00 00 00 00 00 58 1B 58 1B 00 03 01 00 01 00  ¦......X·X·.··.·.
    0790: 00 00 0A 00 0A 00 E0 77 E7 41 03 00 00 00 7F 62  ¦..·.·.·w·A·....b
    07A0: A8 BA 02 00 00 00 01 00 01 00 E0 77 E7 41 03 00  ¦···...·.·.·w·A·.
    07B0: 00 00 01 00 3C 00 00 00 00 00 55 F6 03 00 02 00  ¦..·.<.....U··.·.
    07C0: 00 00 C6 87 07 00 80 93 07 00 C8 3E 07 00 80 00  ¦..···.···.·>·.·.
    07D0: 00 02 00 01 00 00 F0 1B C5 5B 00 00 00 00 FF A8  ¦.·.·..···[....··
    07E0: 05 00 48 B2 05 00 0C 0C 0C 0C 0C 0C 0C 0B 0D 0B  ¦·.H··.··········

     
    возможно что то тут влияет...
     
    на секур могут еще влиять модули 123-127 и D000-D006 можно взять из ресурса...
     

    Цитата:
    BolenB
    Проверка на корректность модуля (контрольные суммы) происходит в команде wbxpst, xf, xfile и т.д.  

    не совсем.
    в винт заливается без всяких проверок...
    то уже сам винт проверяет после заливки и отвечает кодом ошибки...

    Всего записей: 5886 | Зарегистр. 03-10-2006 | Отправлено: 10:49 18-08-2024 | Исправлено: Smyg1, 13:07 19-08-2024
    igoa

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smyg1
    Замена всего этого списка не помогла вернуть Security. 0D у меня и небыло.
    Так что надо запускать всё заново с другим пакетом.
     
     
    BolenB  
     
    Следующая ситуация  - предложение
    Не сохранил скрина поясню словами
    Аполло 5/6 после пст теста имеет
    0  -105 к деф
    1 - 40к деф
    2 - 30к деф
    3 - 20к деф
    4 - 135к деф
     
    Head 4 UP и мы идём на отключение 4 лог головки. Понятно что через часов 100 мы сюда вернёмся
    и отключим 0ю ... вопрос - уместно ли вставить после PSTчто нибудь в стиле track 5 чтобы уменьшить число секторых дефетоктов если они расположены нужным нам образом. Избежать отключения если это так. Тяжёлые случаи где это не помогает продолжат авто отключаться.

    Всего записей: 498 | Зарегистр. 16-07-2015 | Отправлено: 11:58 18-08-2024 | Исправлено: igoa, 13:01 18-08-2024
    Smyg1



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    мне неинтересна возня с дефектами...
     
    это BolenB что то на эту тему делал...
     

    Всего записей: 5886 | Зарегистр. 03-10-2006 | Отправлено: 12:56 18-08-2024 | Исправлено: Smyg1, 16:23 18-08-2024
    igoa

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Securtity и платы:
     
    Плата 800001-705 стартует только с биосами 23.хG ... если через поднятие пакета 212KF поднять на 23.2HG
    то Success но она даже BSY не поднимет.
     
    Плата 800001-205 имевшая с завода 184F может быть успешно поднята пакетом обновления до 301F и Security остаётся включённым. Но вот на 212KF она обновляться откажется. На 23.2HG обновится но работать не станет.
     
    Предположу что вся Security завязана на соответствие номера платы и пакета.  
     
    думаю что Рембранды надо делать строго теми же самыми пакетами на которых они шли с завода.
    Не пытаться выиграть ничего от поднятия версии прошивки. Только 150 часов уйдёт на трекс напрасно.
    Трекс на другом пакете теоретически возможен если диск успешно проходит обновление на него.
     
    В пакете 301F тест 243B тоже нерабочий Mini TD. и в 185F нерабочий. Отключает головки по одной с конца по кругу.
    Т.е. это не только 23.хх пакеты.

    Всего записей: 498 | Зарегистр. 16-07-2015 | Отправлено: 15:10 18-08-2024 | Исправлено: igoa, 19:18 18-08-2024
    igoa

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Это что за диски такие. Мне сложно оринетироваться в новых изделиях.
    Коды 81 ии 82 у них в списке моделей.  Из последних.
     
    if((ulFamily==997)||(ulcoption==81))
             fprintf "\nChoice of family: THAOE_2HF\n";curs 13,0
             wprintf "Family: THAOE2_HF"      
     
    if((ulFamily==996)||(ulcoption==82))
             fprintf "\nChoice of family: THAOE_1HF\n";curs 13,0
             wprintf "Family: THAOE_1HF"      
     

    Всего записей: 498 | Зарегистр. 16-07-2015 | Отправлено: 13:27 19-08-2024
    Kucherskiy



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    THAOE_2HF

    Мне кажется там просто буквы попутали.
    TAHOE2HF скорее всего должно быть
    И другое семейство соответственно  

    Всего записей: 21 | Зарегистр. 25-08-2004 | Отправлено: 14:04 19-08-2024
    Smyg1



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    это не новые.
    это старые TAHOE - или китайцы или арабы почему то буквы переставляют иногда...
    это просто разновидность (ulFamily==0xEC) и (ulFamily==0xE2)

    Всего записей: 5886 | Зарегистр. 03-10-2006 | Отправлено: 14:16 19-08-2024 | Исправлено: Smyg1, 14:18 19-08-2024
    igoa

    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Спасибо)

    Всего записей: 498 | Зарегистр. 16-07-2015 | Отправлено: 14:36 19-08-2024
    korys

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте.
    Прошу подсказать. Имеется WD3200aaks (tahoe lt) Две головы, одна поверхность в хлам, другая нормальная
    Пытаюсь в трексе отключить больную голову и запустить скрипт, но скрипт пытается сделать емкость не 160.
     а 250. Выбирал С external, С редактировал оставив емкость только 160.
    Как скрипту принудительно задать  объем диска?
     

    Всего записей: 22 | Зарегистр. 20-04-2023 | Отправлено: 15:06 19-08-2024
    Smyg1



    Gold Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

    Цитата:
    korys
    скрипт пытается сделать емкость не 160. а 250.  

    и правильно делает...
     

    Цитата:
    korys
    С редактировал оставив емкость только 160.
    Как скрипту принудительно задать  объем диска?

    так и делают - задать main на 160...
    а зачем?

    Всего записей: 5886 | Зарегистр. 03-10-2006 | Отправлено: 15:24 19-08-2024
    BolenB



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    korys

    Цитата:
    Пытаюсь в трексе отключить больную голову и запустить скрипт, но скрипт пытается сделать емкость не 160.
     а 250. Выбирал С external, С редактировал оставив емкость только 160.
    Как скрипту принудительно задать  объем диска?  

    Правильно заполнить C.RPM (Standart заполнить на 160Гб для одной головы, ALT1 - ALT5 занулить). Для WD_F-List (пользуюсь по старинке, для винтов до 2Тб).

    Всего записей: 779 | Зарегистр. 22-12-2003 | Отправлено: 15:30 19-08-2024 | Исправлено: BolenB, 15:40 19-08-2024
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161

    Компьютерный форум Ru.Board » Hardware » Магнитные носители информации » Ремонт накопителей WD (Western Digital). Часть X


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru