→ Утилита для определения контроллера флешки. Выполняем перепрошивку USB флешки. Как прошивается флешка найденной программой

Утилита для определения контроллера флешки. Выполняем перепрошивку USB флешки. Как прошивается флешка найденной программой

Самое сложное при подборе сервисных утилит к SMI чипам, это определить нужно ли прибегать к услугам прошивальщика DYNA MPTool . А если нужно, то суметь одолеть флешку в нём, ибо работа с ним не такая же комфортная как с SMI MPTool .

КРАТКИЙ ОБЗОР УТИЛИТ

Помимо программ, заливающих прошивку, для SMI -флешек доступны и простенькие форматилки. Но учитывая тот факт, что они все далеко не первой свежести и работают с флешками, которые и так без проблем прошиваются, то заморачиваться с ними нету никакого смысла.

Если данная метода не дала свои плоды, то попытайте счастье с .

Потерпевшим неудачу на предыдущих шагах, остаётся перейти к ручному подбору производственных утилит. И в зависимости от сочетания контроллер плюс флеш-память, для флешки берём одну из двух утилит или SMI MPTool или DYNA MPTool .

Для определение параметров флешки, воспользуйтесь программой .

Volume: I:
Controller: Silicon Motion SM3257 ENAA
Possible Memory Chip(s):
Toshiba TC58NVG6D2GTA00
Memory Type: MLC
Flash ID: 98DE9482 7656
Flash CE: 1
Chip F/W: ISP 130430-AA-
MP: M0503V2
MPTOOL Ver.: 2.05.18
PTEST Date: 2013-04-24
VID: 090C
PID: 1000
Manufacturer: UFD 2.0
Product: Silicon Power
Query Vendor ID: UFD 2.0
Query Product ID: Silicon Power
Query Product Revision: 1100
Serial: AA00000000008407
Physical Disk Capacity: 8099201024 Bytes
Windows Disk Capacity: 8082395136 Bytes
Internal Tags: QU2R-TZ8J
File System: FAT32
Relative Offset: 28 KB
USB Version: 2.00
Declared Power: 500 mA
Microsoft Windows 7 SP1 x64 Build 7601
Program Version: 8.6.0.595

Как и в методе загугливания, нас главным образом интересует модель контроллера (Controller ) и идентификатор флеш-памяти (Flash ID ).

Первым шагом, скачиваем самую свежую версию производственной утилиту для данного контроллера, в нашем случае для SM3257ENAA . Пока что сделаем допущение, что нам известно о том, какая конкретно утилита нам нужна (SMI MPTool , всегда по умолчанию). Далее прежде чем шить, будет абзац про монолиты и тестовый режим , после которого вам станет ясно какую утилиту всё же применять.

Но для монолитных флешек , которые невозможно разобрать и перевести в , это неоправданный риск. В таком случае, ознакомьтесь со следующей главой про приёмы вычисления необходимости смены утилиты на DYNA MPTool , чтобы по возможности минимизировать риски.

ХИТРОСТИ: КАК ОПРЕДЕЛИТЬ НУЖНА ЛИ DYNAMPTOOL

Помимо рассмотренных двух метод, могут быть и иные ситуации, когда флешке необходимо внимание DYNA MPTool . В зависимости от флешки и её состояния, это может быть всё что угодно, например, бесконечный Pretest .

Запомните эти три модели контроллера, которые нередко шьются в DYNA MPTool : SM3257ENAA , SM3257ENBA , SM3259AA . А флеш-память, чаще всего в таких ситуациях стоит производства Toshiba либо Sandisk .

ХИТРОСТИ #1

Если в отчёте программы Flash Drive Information Extractor , имеется параметр MPTOOL Ver. , то он может сказать, чем конкретно шили флеш. Приведу два примера:

MPTOOL Ver.: 2.05.18 – если значение равно номеру версии, то флешку шили в SMI MPTool .
MPTOOL Ver.: 14.07.18 – а если определенная дата, то флешка вышла из-под крыла DYNA MPTool и эта дата является номером её версии. Где, 14 – 2014 год, 07 – месяц июль, 18 число.

И где-то с вероятностью 90% , флешку прошитую в DYNA MPTool , вам при всё желании не удастся отремонтировать в SMI MPTool .

Не пугайтесь, если не обнаружите его в отчёте, это вполне нормально. Во-первых, у старых флешек утилита могла его не распознать, а во-вторых если прошивка слетела к едрене фене, то его там быть и не может.

ХИТРОСТИ #2

Более универсальный способ, для приведения в действия которого, необходимо найти как бы полностью совместимую версию SMI MPTool . Если при прошивке появится ошибки наподобие следующей:

Bad Block over setting (11) (User-3725 (M) > FW-3581 (M))

А означает она то, что у утилиты не хватило сил справиться с бэдами в памяти и нужно обратиться к Sorting -утилитам (приложение DYNAMPTool ). Далее ковыряться в SMIMPTool , в таком случае нету никакого смысла!

ВНИМАНИЕ: не стоит путать эту ошибку с просто Bad Block over setting (11) , которая никак не связанна с необходимостью обращаться к Дюне . В рассматриваемой ошибке, обязательно должны быть упоминания в скобках о значениях параметров USER и FW .

ПРОВЕРКА ПОДДЕРЖКИ ФЛЕШ-ПАМЯТИ В ПРОШИВАЛЬЩИКЕ

Удостовериться в правильном подборе невозможно, если конечно в сети Интернет, вы не отыщите решенного случая с восстановлением абсолютно такой же флешки.

Поэтому, всё что нам остаётся, это пробить знает ли нашу флеш-память прошивальщик. На возможные маркировки памяти (Possible Memory Chip(s): ), я не рекомендую обращать никакого внимание, т.к. это может сбить столку, поэтому сразу смотрим на FID (Flash ID: ).

В данном случае его значение имеет вид: 98 DE 94 82 76 56 .

Как правило, поддержка памяти, которую однажды добавили, идёт с утилитой и дальше. Но, во-первых, это не всегда так, а во-вторых не факт, что операция закончится успехом, при работе с конкретным дистрибутивом. Поэтому необходимо учитывать и другие параметры, а также иногда перебрать несколько версий.

Чтобы предположительно узнать в какой версии производственного прошивальщика имеется поддержка данной памяти, можно воспользоваться немного разными способами. Но не будем страдать фигней, остановимся на самом простом, всё равно результативность остальных ничуть не лучше.

Откроем файл flash_3257ENAA.dbf (имя необходимого файла зависит от модели контроллера, которую мы изначально определили) , который находится в папке UFD_ALL_DBF дистрибутива программы.

Забиваем в поиск FID памяти , который мы определили в самом начале (98 DE 94 82 76 56 ).

В данном случае у нас одно совпадение, хотя может быть и несколько:

@ 98 DE 94 82 76 56 28 00 0B 01 82 06 00 3F 00 00 00 00 00 00 00 50 50 10 10 21 // Toshiba TC58NVG6D2GTA00 J1201 24nm MLC

Ну раз в DBF -файле имеется запись о нашей памяти, то и скорее всего утилита корректно отработает с ней!

Но имейте ввиду, что наличие записи о флеш в DBF , FFW или ForceFlash , абсолютно никак не исключает возможную необходимость применять инструментарий DYNA MPTool .

КАК ПОЛЬЗОВАТЬСЯ УТИЛИТАМИ

На портале USBDev, имеются подробные инструкции по программному восстановлению флешек, в популярных программных комплексах:

Для работы с RecoverTool -приложениями, достаточно подключить флешку и запустить утилиту. Далее она всё сделает сама, если конечно, флешка окажется ей по силам.

ЗАМЕЧАНИЯ

2) В зависимости от номера версии утилиты SMI MPTool , она использует в своей работе или 4 байтовый вариант Flash ID или 6 байтовый . Ориентировочно, переход к 6 байтовому произошел в версии SMI MPTool V2.03.42 v6 K0530 . И именно поэтому, новые оболочки встречают в штыки старые USB -чипы. Да и использовать в подборе утилит, для чипов младше SM3255AB , необходимо именно 4 байта !

3) В ходе многочисленных попыток восстановления, может захламляться системный реестр, который будет препятствовать определению флешки в сервисном ПО. Чтобы пофиксить проблему, попробуйте почистить реестр с помощью программы и выполнить перезагрузку системы.

4) Использовать служебный драйвер SMI Factory Driver , нету никакого смысла в домашних условиях, кроме случаев каких-то конфликтов драйверов на уровне вашей ОС. А то поставите ещё его, а потом будете жаловаться, что у вас что-то из устройств не работает или драйвер откажется удаляться.

Если у кого-то есть вопросы по ремонту их флешек, то гарантированный ответ вы можете получить только на – .

Данная статья предназначена для помощи в программном восстановлении USB Flash Drive, изготовленных на базе микроконтроллера SK6211 производства Skymedi. Этот контроллер встречается во флэш-накопителях различных производителей, например: Kingston, Kingmax, A-data и др. В качестве примера была выбрана утилита . Она, как и многие другие, предназначена для работы в среде ОС – MS Win XP. В качестве «подопытного» выбрана флэшка Kingston DT100/1GB.

В комплект утилиты входят:
1) SK6211_20090828.exe – собственно основной модуль.
2) SK6211_User_Manual.pdf – инструкция к программе на английском языке
3) SK6211BA_Skymedi Flash Support List _20090828.xls – «Флэшлист» - список модулей памяти, которые поддерживает данная версия утилиты. (Пригодится для определения «CodeBankVer» по дате)
4) SK6211BA R-W Performance_Capacity List_20090828.xls – Сводная таблица тестов скорости различных модулей памяти в одноканальном и двухканальном режимах в ОС Win XP sp2 & Win 2k sp4.
5) SK62XX_FAT_20090505.exe & SK62XX_FATool_UserGuideV1.pdf – вспомогательная утилита для тестирования флэш.
6) ErrorCodes.txt – список кодов ошибок.
7) DrvSwitch.exe – заводской драйвер.
8) Driver_Using_manual.pdf – инструкция по использованию драйвера.

1. Подготовка

Подключаем флэшку и узнаём VID/PID, например с помощью ChipGenius 3.0. У подопытной VID = 0951 PID = 1607.
Запускаем утилиту «SK6211_20090828.exe» и выбираем в «Configuration Selection» default.

Видим, что в первом окне (DUT1) определилась флэшка (SAMPLE – No Match), но пока она не готова к прошивке! SAMPLE = пример, No Mach = Нет Совпадения. Имеется ввиду, что текущие настройки (default) не соответствуют внутренностям флэшки. Утилита уже определила, что флэшка построена на контроллере который отзывается на её запросы и уже считала из её прошивки информацию.
Просмотр этой информации производится по дабл-клику на SAMPLE.

Тут мы видим содержимое прошивки:
1) Контроллер SK6211
2) FID памяти (AD D3 14 A5 34) и её название (HY27UT088G2A)
3) Версию CodeBank: C080512A_F080516A
4) Версию прошивки: CodeSwap- 0512
5) Остальное не так важно (дата изготовления/ версия утилиты/ название конфигурации = «гравировка на USB-разъёме» / VID&PID коды и т.д.)
6) Channel: Byte Mode (Одноканальный режим. Может пригодиться в настройках!)

Тут все хорошо! Но что делать кода слетела прошивка так, что большей части этой информации нет!?

Controller Version: SK6211BA
Flash Part No.: No matched Flash Part No.
Flash ID 01: 0x89 0x95 0x94 0x1E 0x74
Flash ID 02: 0x00 0x00 0x00 0x00 0x00
Flash ID 03: 0x89 0x95 0x94 0x1E 0x74




Здесь утилита считала из флэшки FID, но не смогла по нему подобрать память из своего списка!
Вывод: пробовать другую утилиту или проверять контакты. Иногда восстановление контактов по Шине Данных между контроллером и памятью изменяет ID-шник и утилита, по правильному ID-шнику, находит соответствие в своей Базе Данных.

Controller Version: SK6211BA
Flash Part No.: I29F32G08AAMD1_S
Total Flash Size: 8192 MB
4K Page, MLC
Flash ID 01: 0x89 0xD7 0x94 0x3E 0x84
Flash ID 02: 0x89 0xD7 0x94 0x3E 0x84
Flash ID 03: 0x00 0x00 0x00 0x00 0x00
Flash ID 04: 0x00 0x00 0x00 0x00 0x00
Flash ID 05: 0x00 0x00 0x00 0x00 0x00
Flash ID 06: 0x00 0x00 0x00 0x00 0x00
Flash ID 07: 0x00 0x00 0x00 0x00 0x00
Flash ID 08: 0x00 0x00 0x00 0x00 0x00

Здесь утилита нашла память в своей БД. Но версия Code Bank – неизвестна! Находим её при помощи поиска даты по имени флэш чипа в файле SK6211BA_Skymedi Flash Support List _20090828.xls

Теперь ищем подходящие Code bank.
Открываем файл:
…\SK6211_PDT_20090828\CodeBank\2806\CBVer-1.2.2.44.ini

Находим по дате 09,03,09 версию: C090309A_F090309A

2. Настройки

Вернёмся к подопытной. Переходим по кнопке “Advaced” в расширенные настройки. Пароль – 123456.
1) прописываем VID & PID: 0951 & 1607
2) Vendor Name: Kingston
3) Product Name: DataTraveler 2.0
4) Revision: 8.2 (оставляем без изменений)
5) Disk Type: Removable (оставляем без изменений)
6) S/N: 001478544881SK8703120829 (это родной серийник подопытной)
7) S/N Gen: (3) Don"t Change SN
Ниже можно пропустить до
8) Fixed Flash Size = 1024 (ставим оригинальный размер флэшки)
9) При установке галки на Erase All выдаётся сообщение: Warning Message: System information will be eliminated after erase all!!!
(Предупреждение: системная информация будет ликвидирована после установки режима «удаление всего» !!!)
Переходим в правое окошко Flash Options
10) Выбираем контроллер: SK6211BA
11) Выбираем Code Bank Ver: C080512A_F080516A (тот который выдала утилита по двойному клику на SAMPLE) Теперь я жду, что в секции Flash Selection должна появиться возможность выбора желаемой памяти - HY27UT088G2A, но этого не происходит. В чем же причина? Возможно в версии утилиты! Ведь в прошивке указана версия: PDT Version: SK6211_PDT_20080616_BA, а я пользуюсь SK6211_20090828! Идем по пути выбора ч/з флэшлист. Находим дату - 02.04.2008, но названия с такой датой в списке не нахожу и версии Code Bank с ближайшей датой тоже не подходят! Предположение с соответствием даты из флэшлиста для этой флэшки не подходит. Помог только полный перебор! При выборе C090828A_F090828A утилита дала возможность выбора желаемой памяти!
12) Далее выбираем Channel Mode: Single
Больше ничего не меняем.

Получаем статус READY

Теперь утилита «готова» прошить флэшку.
Жмём Auto-LLF

3. Работа над ошибками

44 -
2 -
при изменение рид\врайт тест ошибка 37 -

Помогла галка на ERASE ALL

45 -
(Статус READY, ошибка в процессе LLF)

Помогло: перевод в тестовый режим замыканием 31-32 ног на м/с памяти
и повторная прошивка
_______________________________

101 -

Нужна более свежая версия утилиты с поддержкой новой памяти
ps: в предыдущей версии 20090709_BA (34 - )
_______________________________

94 -
1 -
При попытке прошить - (Access error)

Убрали удлинитель USB, из-за которого были потери.
_______________________________

В работе над ошибками был использован опыт пользователей форума: Vitorrio, SeeJay, E1haZ и других.

Обсуждение статьи и проблемы при восстановлении обсуждаются в этой теме на форуме.

USB-флешки – устройства надежные, но риск поломки есть всегда. Причиной тому может быть некорректная работа, сбой микропрограммы, неудачное форматирование и так далее. В любом случае, если это не физическое повреждение, можно попытаться ее восстановить программными средствами.

Проблема в том, что не каждый инструмент подходит для восстановления конкретной флешки, и использование неправильной утилиты может окончательно вывести ее из строя. Но зная VID и PID накопителя, можно определить тип его контроллера и подобрать подходящую программу.

VID служит для идентификации производителя, PID – идентификатор самого устройства. Соответственно, каждый контроллер на съемном накопителе помечен этими значениями. Правда, некоторые недобросовестные производители могут пренебрегать платной регистрацией ID-номеров и присваивать их просто наугад. Но в основном это касается дешевой китайской продукции.

Для начала убедитесь, что флешка хоть как-то определяется компьютером: слышен характерный звук при подключении, она видна в списке подключенных устройств, отображается в «Диспетчере задач» (возможно, как неизвестное устройство) и прочее. В противном случае шансов мало не только на определение VID и PID, но и на восстановление носителя.

ID-номера можно быстро определить с помощью специализированных программ. Как вариант, можно использовать «Диспетчер устройств» или просто разобрать флешку и найти информацию на ее «внутренностях».

Обратите внимание, что карты MMC, SD, MicroSD не имеют значений VID и PID. Применяя к ним один из способов, Вы получите только идентификаторы кардридера.

Способ 1: ChipGenius

Прекрасно считывает основную техническую информацию не только с флешек, но и со многих других устройств. Интересно, что ChipGenius имеет собственную базу VID и PID, чтобы выдать предположительную информацию об устройстве, когда по какой-то причине не удается опросить контроллер.

Чтобы воспользоваться данной программой, сделайте следующее:

  1. Запустите ее. В верхней части окна выберите флешку.
  2. Снизу напротив значения «USB Device ID» Вы увидите VID и PID.

Обратите внимание: старые версии программы могут работать некорректно – скачивайте последние (по ссылке выше можно найти именно такую). Также в некоторых случаях она отказывается работать с портами USB 3.0.

Способ 2: Flash Drive Information Extractor

Данная программа дает более подробную информацию о накопителе, конечно же, включая VID и PID.

После того, как Вы загрузили программу, сделайте следующее:


Способ 3: USBDeview

Основная функция этой программы – отображение списка всех устройств когда-либо подключаемых к данному ПК. Дополнительно можно получить подробную информацию о них.

Инструкция по использованию заключается в следующем:


Способ 4: ChipEasy

Интуитивно понятная утилита, которая позволяет получить исчерпывающую информацию о флешке.

После скачивания сделайте вот что:

  1. Запустите программу.
  2. В верхнем поле выберите нужный накопитель.
  3. Ниже Вы увидите все его технические данные. VID и PID находятся во второй строке. Можно их выделить и скопировать («CTRL+C» ).

Способ 5: CheckUDisk

Простая утилита, которая выводит основную информацию о накопителе.

Дальнейшая инструкция:

  1. Запустите программу.
  2. Сверху выберите флешку.
  3. Снизу ознакомьтесь с данными. VID и PID расположены на второй строке.

Способ 6: Изучение платы

Когда ни один из способов не помогает, то можно пойти на радикальные меры и вскрыть корпус флешки, если это возможно. VID и PID Вы, может, там и не обнаружите, но маркировка на контроллере имеет такую же ценность. Контроллер – важнейшая часть USB-накопителя, имеет черный цвет и квадратную форму.


Что делать с этими значениями?

Теперь можно заняться применением полученной информации и найти эффективную утилиту для работы с Вашей флешкой. Для этого следует использовать , где пользователи сами формируют базу данных таких программ.


Прежде всего, нужно упомянуть в каких случаях требуется прошивка контроллера флешки . Перечень таких неисправностей не очень большая, чуть ниже я сделал список из наиболее частых ситуаций, когда такая методика может помочь в ремонте флешки. Но, не стоит воспринимать описанную тут методику, как панацею от всех «болезней». Каждый случай индивидуален, но общая методика схожа, за исключением некоторых моментов, которые связаны с разными контроллерами, чипы памяти и разное сочетание неисправностей. Таже в блоге можете почитать другие .

Когда применять методику прошивка контроллера флешки:

  • Нулевой объем флешки, не правильный объем (2\4\8\16 Кб\Мб) вместо нормального размера;
  • ННакопитель не определяется на разных ПК;
  • При подключении диска появляется ошибка «вставьте диск»;
  • Ошибка «Диск в устройстве не найден»;
  • Ошибка «Диск защищен от записи»;
  • Возникают ошибки чтения\ записи, и нет возможности копировать или записать данные на флешку. Может быть, что данные записываются, но не открываются с флешки;
  • При подключении к ПК флешка долго определяется с ошибками Ошибка «Код 10», Ошибка» Код 43» и подобное.

Возможно, я здесь не все упомянул. Если у кого-то есть дополнения – пишите в комментариях свои случае, и я буду пытаться оперативно вносить коррективы в материалы.

Переходим к подготовительным работам над флешкой для ее дальнейшей перепрошивки (прошивается сам контроллер). Будем считать, что мы определились с тем, что других вариантов, кроме как прошивка контроллера флешки у нас не осталось и это последний шанс на ремонт драгоценной флешки (дорога как память, большой объем, красивый корпус и т.д.)

Прошивка контроллера флешки (этапы работ):

1) Определение контроллера флешки

Тут у нас всего 2 варианта определения производителя и модели контроллера. Первый вариант самый банальный - вскрыть корпус (если это возможно конструктивно). Для этого нужно вскрыть корпус флешки и достать оттуда плату накопителя. В большей части случае все USB flash drive одинаковы внутри, за исключением монолитных флешек. Для примера я взял фотографию общего вида платы флешки и контроллера (на примере фотография флешки из свободных источников).

Визуальный метод очень простой и самый точный, так как программы для определения pid&vid устройства не всегда точны. Если нет возможности посмотреть визуально на контроллер или есть затруднения в разборке корпуса, тогда нам прямой путь к программам на определение pid и vid флешки.
Важно: в случаях когда, флешка не определяется на ПК узнать контроллер можно лишь путем визуального осмотра.

Определение контроллера по PID и VID

2) Выбор утилиты для контроллера

Следующим этапом у нас будет поиск специализированной утилиты для прошивки контроллера флешки. Значения VID и PID у нас уже есть, значит можно приступить к поиску утилиты для контроллера. Для поиска нужной утилиты я пользуюсь сервисом http://flashboot.ru/iflash/.

После нажатия кнопки поиска, предлагает нам далеко не один результат. Все дело в том, что такой контроллер, как в моем случае, применяется в флешках разных производителей и с разным размером. При поиске обращайте внимание на поле UTILS (утилиты), где нужно искать именно тот результат, где отображается название утилиты. На объем флешки внимание можете не обращать – это не критичный параметр. Также можно поискать утилиту по названию контроллера, что в большей степени может ускорить поиск нужной утилиты.

П.С. практика показывает, что иногда стоит попробовать разные версии утилит для одних и тех же контроллеров.

Результат поиска нам выдал один более-менее подходящий вариант (на скриншоте подчеркнул красным) – утилита SMI SM3257AA .

Для писка утилиты можно воспользоваться тем же сайтом http://flashboot.ru/files/. В строке поиска нужно ввести название нашей утилиты — SMI SM3257AA . В результате было найдено 2 результата. Качать нужно оба, так как есть шанс того, что одна из них только поможет решить нашу проблему.

Но, есть одно но. Мы точно знаем, что точное название нашего контроллера немного отличается от того, что мы нашли. На корпусе контроллера и программе USB Flash Info показали, что правильное название контроллера SM3257ENAA , а не SM3257AA. Для очистки совести проверим базу утилит на предмет наличия утилиты для такой модификации. Поиск обронили 2 варианта утилиты.

Скорее всего, что утилиты, которые я обнаружил при поиске для SM3257AA и для ENAA имеют одно ядро. На практике может оказаться так, что они ничем не отличаться, но все же существует вероятность того, что нужно будет перепробовать все 4 найденных спец. утилиток. Рекомендую сразу скачать все 4 программы.

Я скачал все 4 штуки, но решил начать с утилиты SMI SM3257ENAA MPTool V2.03.58 v8 K1129 (11/11/29 Build) . Забегу наперед – получилось перепрошить контроллер флешки этой утилитой, и проверять другие я не стал.
А теперь вкратце опишу порядок действий того, как происходил процесс прошивки контроллера SM3257ENAA.

— Распаковал архив и запустил ярлык sm32Xtest_V58-8

Запускаем утилиту и видим, что в ней не видна наша флешка пациент (см. скриншот).

— Для определения нашей флешки в программе нажимаем кнопку «Scan USB (F5) », в результате чего программа «видит» usb устройство.

Для запуска процесса прошивки контроллера флешки нужно в меню утилиты нажать кнопки Start (перед нажатием нужно выделить нужную флешку). После наажатия кнопки начнется процесс прошивки.

После заврешения операции прошивки в верхнем правом углу увидим слово ОК на зеленом фоне (см. скриншот).

На этом процесс прошивка контроллера флешки завершен. В течении 10-20 секунд в Мой компьютер появится наша флешка чистая и без каких либо файлов, так как в процессе прошивки происходит низкоуровневое форматирование накопителя.

По всем вопросам касательно этой статьи пишите в комментариях.

 

 

Это интересно: