SMI MPTool – краткая инструкция по ремонту флешек
Руководство, попытаюсь сделать максимально кратким и лаконичным, дабы напрасно не усложнять положение. Хочу сразу отметить важный факт, что для большинства современнных дешевых USB2.0 -флешек на контроллёрах компании SMI , вам придётся применять инструменты Dyna Mass Storage Production Tool . Это связанно с тем, что производители не брезгаю устанавливать низкокачественную DownGrade -флешпамять, которая оказывается не по зубам для старого доброго SMIMPTool .
В конце материала, попробую растолковать пути выхода из нестандартных ситуаций, повлекшие за собой ошибки либо некорректную работу.
С начала нужно подобрать совместимую с конкретной флешкой версию утилиты SMIMPTOOL . В данном материале, не буду глубоко останавливаться на этом вопросе, попробую лишь разъяснить в двух словах. Все имеющиеся версии на моём сайте, имеют в названии перечень контроллёров, с которыми они совместимы. Например SMI MPTool V2.5.27 v8 M1004 [SM3257ENAA,SM3257ENLT,SM3260AD] , говорит о наличии внутри архива комплекта прошивок для следующих моделей контроллёров: SM3257ENAA , SM3257ENLT и SM3260AD .
ССЫЛКИ НА СКАЧКУ ПРОГРАММ:
SMI MPTool – отсюда скачиваем все доступные редакции дистрибутивы производственной утилиты для прошивки микроконтроллёров SMI .
SMI MPTool REPACK – те же яйца, только не из оригинальных дистрибутивов производственных программ, а собрано из официальных пользовательских утилит для восстановления.
TRANSCEND-SM32X-BY-USBDEV – по сути тоже самое, только слеплено из содержимого сервера онлайн сервиса восстановления Transcend JetFlash .
Помимо непосредственной поддержки модели контроллёра, утилита должна поддерживать используемую в флешке микросхему памяти. В 99 процентах случаях, это решается сменой дистрибутива на более свежий.
К примеру, я буду использовать инструмент SMI Mass Production Tool V2.5.42 v7 O0515v1 , совместимый с чипами SM3257AA, SM3257ENAA, SM3257ENBA, SM3257ENLT, SM3261AB и SM3267AB .
Скачиваем и распаковываем утилиту в удобное для вас место, желательно чтобы адрес был кратким и без русских и прочих странных символов.
Например, я использовал корневую директорию жесткого диска:
Запускаем приложение sm32Xtest_V42-7.exe (имя исполняемого файла может отличаться) , затем подключаем неисправный USB -накопитель. Если утилита автоматом не подхватила его, то используем кнопку ‘ Scan USB (F5) ‘, для поиска совместимых устройств.
В результате, в основном диалоговом окне программы, должна отобразиться ваша флешка. Это будет выглядеть аналогично тому, что показано на скриншоте данном чуть ниже.
ПЕРЕХОДИМ К НАСТРОЙКАМ
Далее проверяем настройки утилиты, на наличие грамотно выставленных параметров. Для этого нажимаем на кнопку Setting , вводим пароль к конфигу = 320 .
Утилита попросит вас указать требуемый файл с настройками, по умолчанию это default.ini .
MAIN FLOW SETTING
Наиболее оптимальные настройки показаны на скриншоте данном чуть ниже.
PRETEST = Erase All Block – наиболее универсальное значение, но всё же иногда может быть необходимо выставлять ‘ Erase Good Block Only ‘. А именно в тех случаях, когда память не посыпалась к бабушке, плюс к этому флеш-памяти нужен DYNA -инструмент. Т.е. например, с параметром ‘ Erase Good Block Only ‘ можно прошить рабочую флешку, которую берут только приложения Dyna Mass Storage Production Tool . А объясняется это тем, что утилите SMIMPTool , при отфильтровке только среди хороших блоков не приходиться иметь дело с кучей шлака. Но хочу заметить, что данный способ не работает с контроллёром SM3257ENBA , хотя с предыдущими моделями типа SM3257ENAA и SM3257ENLT , проблемы отсутствуют.
[X] WRITE CID
DBF METHOD = TSOP Standard Type
[X] FORMAT
[X] FAT32 – файловая система по вкусу, но по умолчанию всегда ФАТ32.
DISK TYPE = USB-ZIP – в этом случае ZIP значит что устройство будет определяться как съёмный диск , а не как фиксированный.
USB Power – в зависимости от новизны флешки и её объёма. Если флешка дешевая и при этом новая и объёмная, то рекомендуется значение 500mA . Для старых или необъёмных флешек рекомендуемые значения 100-200mA .
На этой вкладке, нам нужно установить допустимое количество плохих блоков ( Bad Block ), с которыми может успешно завершиться процесс прошивки. По умолчанию, рекомендуемое значение для SLC -памяти это значение равно 20, а для MLC = 44. В подавляющем количестве случаев, значения 44 достаточно для успешного завершения операций. В некоторых случаях (для особо дырявой некачественной памяти) , следует указать более существенное значение, этак 50-100. Использовать значения крупнее, в 99% не имеет никакого смысла, даже если утилита пишет о превышении допустимого числа бедов.
Также можно использовать и другие режимы регулирования объёма флешки, которые я лично практически никогда не использую:
– BIN Level (SM3255 & SM3257 Only) – посредством задания множества уровней.
– Fix – с помощью установки минимального и максимального объёма.
Вот в принципе и вся настройка, которую необходимо провести для успешной прошивки девайса. Есть конечно и нестандартные ситуации, в которых приходиться немного поколдовать, но такое встречается крайне редко.
Нам остается сохранить настройки, с помощью кнопки OK и запустить процесс прошивки нажатием на ‘ Start (Space Key) ‘. В среднем, утилита отрабатывает флешку за 2-3 минуты, хотя может и немного дольше.
В случае использования атрибута ERASEALLBLOCK , перед запуском процесса прошивки, утилита нас предупредит о том, что она очистит всю таблицу битых блоков: ‘ Warning: The pretest will erase bad block. Do you want Continuous?? ‘.
Если процедура Pretest или любая другая, будет жужжать более чем минут 5-10, то ждать дальше нету никакого смысла. Ибо это может продлиться 5 часов и всё равно в конце вы поймаете какую-то неприятную ошибку.
Расскажу немного о проблемах встречающихся при восстановлении флешек Silicon Motion .
УТИЛИТА НЕ ВИДИТ ФЛЕШКУ
Флешки на контроллёрах SMI , зависают, как и все другие, но всё же гораздо реже чем Phison . Поэтому, я бы сразу не лез переводить в тестмод флешку на SMI , а сначала попробовал бы другой способ. Достаточно часто, при надругательстве над SMI -шками, гадиться реестр и его приходиться чистить. Поэтому не забывайте переодически убираться в реестре с помощью такой утилиты как USB Oblivion .
Bad Block over setting (11)
Найденое количество плохих блоков, превышает заданное допустимое значение. Необходимо повысить его в настройках, по адресе – SETTING – Capacity Setting – Bad Block . Повысьте значение до 100 пунктов , если это не поможет то проверьте установленный метод претеста. В таких случаях обязательно ставить Pretest = Erase All Block.
Bad Block over setting (11) (User-3724 (M) > FW-3584 (M))
Существенно отличается от предыдущей ошибки, тем что в скобках есть упоминание о USER и FW . А означает она то, что у утилиты не хватило сил справиться с бэдами в памяти и нужно обратиться к Sorting -утилитам (приложение DYNA) . Далее ковыряться в SMIMPTool , в таком случае нету никакого смысла!
Initial Param Fail (0F) (ISP can`t be found!! )
Программа не может найти прошивки для вашей флешки, в каталоге с утилитой. Скорее всего, в используемом дистрибутиве производственного прошивальщика, отсутствует каталог с прошивками для вашей модели контроллёра. Они должны иметь вид, типа UFD_3257ENBA или UFD_3267AB .
Замечания к статье, оставляйте в комментариях, а вот спрашивать меня советы по ремонту ваших флешек, следует исключительно на форуме проекта USBDev – ЩЁЛКНИТЕ, ЧТОБЫ ЗАДАТЬ ВОПРОС НА ФОРУМЕ (FORUM) .
Прежде всего, нужно упомянуть в каких случаях требуется прошивка контроллера флешки. Перечень таких неисправностей не очень большая, чуть ниже я сделал список из наиболее частых ситуаций, когда такая методика может помочь в ремонте флешки. Но, не стоит воспринимать описанную тут методику, как панацею от всех «болезней». Каждый случай индивидуален, но общая методика схожа, за исключением некоторых моментов, которые связаны с разными контроллерами, чипы памяти и разное сочетание неисправностей. Таже в блоге можете почитать другие методы ремонта флешек.
Содержание
Когда применять методику прошивка контроллера флешки:
- Нулевой объем флешки, не правильный объем (24816 КбМб) вместо нормального размера;
- ННакопитель не определяется на разных ПК;
- При подключении диска появляется ошибка «вставьте диск»;
- Ошибка «Диск в устройстве не найден»;
- Ошибка «Диск защищен от записи»;
- Возникают ошибки чтения записи, и нет возможности копировать или записать данные на флешку. Может быть, что данные записываются, но не открываются с флешки;
- При подключении к ПК флешка долго определяется с ошибками Ошибка «Код 10», Ошибка» Код 43» и подобное.
Возможно, я здесь не все упомянул. Если у кого-то есть дополнения – пишите в комментариях свои случае, и я буду пытаться оперативно вносить коррективы в материалы.
Переходим к подготовительным работам над флешкой для ее дальнейшей перепрошивки (прошивается сам контроллер). Будем считать, что мы определились с тем, что других вариантов, кроме как прошивка контроллера флешки у нас не осталось и это последний шанс на ремонт драгоценной флешки (дорога как память, большой объем, красивый корпус и т.д.)
Прошивка контроллера флешки (этапы работ):
1) Определение контроллера флешки
Тут у нас всего 2 варианта определения производителя и модели контроллера. Первый вариант самый банальный — вскрыть корпус (если это возможно конструктивно). Для этого нужно вскрыть корпус флешки и достать оттуда плату накопителя. В большей части случае все USB flash drive одинаковы внутри, за исключением монолитных флешек. Для примера я взял фотографию общего вида платы флешки и контроллера (на примере фотография флешки из свободных источников).
Визуальный метод очень простой и самый точный, так как программы для определения pid&vid устройства не всегда точны. Если нет возможности посмотреть визуально на контроллер или есть затруднения в разборке корпуса, тогда нам прямой путь к программам на определение pid и vid флешки.
Важно: в случаях когда, флешка не определяется на ПК узнать контроллер можно лишь путем визуального осмотра.
Определение контроллера по PID и VID
Первым делом нужно определить PID и VID. Это можно сделать двумя путями — средствами Windows или через специальные программы.
Определение pid&vid посредством Windows (см. скриншот)
Определение PID и VID контроллера через программу
Программы для определения пид и вид контроллера не мало, и каждая из них отличается между собой (интерфейс, наличие русского языка, дополнительные возможности) но все они «умеют» определять так нужный нам параметр pid vid или даже могут сразу показывать модель контроллера. Я использую для таких целей программу USB Flash Info, которая позволяет посмотреть установленный контроллер без поиска по базе денных пидвид.
Для демонстрации, предоставляю Вашему вниманию отчет работы программы, на примере одной из флешек. Красным цветом я выделил показания программы USB Flash Info. Тут нас интересует показания значений Controller, VID и PID.
Volume: E:
Controller: Silicon Motion SM3257 ENAA
Possible Memory Chip(s):
SanDisk SDTNPNAHEM-004G
Memory Type: TLC
Flash ID: 45D79892 7256
Flash CE: 1
Flash Channels: Single
Chip F/W: ISP 110919-AA-
MPTOOL Ver.: 2.03.49
VID: 125F
PID: C82A
Manufacturer: ADATA
Product: ADATA USB Flash Drive
Query Vendor ID: ADATA
Query Product ID: USB Flash Drive
Query Product Revision: 1100
Physical Disk Capacity: 4007264256 Bytes
Windows Disk Capacity: 3999404032 Bytes
Internal Tags: QV2R-S99J
File System: FAT32
Relative Offset: 28 KB
USB Version: 2.00
Declared Power: 500 mA
ContMeas ID: F7C7-05-FB
Microsoft Windows 7 SP1 x64
————————————
http://www.antspec.com/usbflashinfo/
Program Version: 7.9.0.548
Есть и другие способы определение PID и VID контроллера флешки, но о них нужно писать отдельную статью. Мне для определения модели контроллера вполне хватает возможности программы USB Flash Info. Скачать программу можно по ссылке.
2) Выбор утилиты для контроллера
Следующим этапом у нас будет поиск специализированной утилиты для прошивки контроллера флешки. Значения VID и PID у нас уже есть, значит можно приступить к поиску утилиты для контроллера. Для поиска нужной утилиты я пользуюсь сервисом http://flashboot.ru/iflash/.

После нажатия кнопки поиска, сервис 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 секунд в Мой компьютер появится наша флешка чистая и без каких либо файлов, так как в процессе прошивки происходит низкоуровневое форматирование накопителя.
По всем вопросам касательно этой статьи пишите в комментариях.

smi sm3257AA Mptool v2.03.29 v3 software
How to format smi sm3257AA chip controller ?

- Download SMI MPTool SM3257AA J0702 v2.03.29 v3.rar from download links below .
- Insert corrupted Silicon Motion SM32577AA flash disk to your computer .
- Extract SMI MPTool SM3257AA J0702 v2.03.29 v3.rar and open SMI MPTool SM3257AA.exe .
- IF your flash drive controller is supported , your flash information will appears on the program interface .
- Click Start to begin updating Silicon motion flash firmware .
- Wait until finish reformatting your USB pendrive .
- The password for the configuration : 320 .

Download smi sm3257AA Mptool v2.03.29 v3 software
SMI MPTool SM3257AA v2.03.29 v3 firmware download
16 comments:

Do you happen to have a utility for the Silicon Motion SM3267 controller?
Hello,
I am also looking for a utility for the SM3267. Do you have or know of anyone who might have it.
Thank you

hello, it does not work, what’s wrong? here is the chipgenius report
ChipGenius:
Description: [J:]Dispositivo di archiviazione di massa USB(USB MEMORY BAR)
Device Type: Mass Storage Device
Protocal Version: USB 2.00
Current Speed: High Speed
Max Current: 100mA
USB Device >Device Vendor: Silicon Motion,Inc.
Device Name: SM3255AA MEMORY BAR
Device Revision: 0100
Product Model: USB MEMORY BAR
Product Revision: 1000
Chip Vendor: SMI
Chip Part-Number: SM3257AA — ISP NONE
Flash ID Code: 2C88044B — Micron — 1CE/Single Channel [MLC] -> Total Capacity = 8GB
Tools on web: http://dl.mydigit.net/special/up/smi.html

i need SM3259AA1 this one
plz help me
I also need this one

ty it works 😉 im from lithuania ,one hour search and find information usefull .ty again 😉






