Программный ремонт USB Flash Drive с помощью утилиты SK6211
Данная статья предназначена для помощи в программном восстановлении USB Flash Drive, изготовленных на базе микроконтроллера SK6211 производства Skymedi. Этот контроллер встречается во флэш-накопителях различных производителей, например: Kingston, Kingmax, A-data и др. В качестве примера была выбрана утилита SK6211_PDT_20090828. Она, как и многие другие, предназначена для работы в среде ОС – 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 (Одноканальный режим. Может пригодиться в настройках!)
Тут все хорошо! Но что делать кода слетела прошивка так, что большей части этой информации нет!?
Пример1:
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
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
Здесь утилита считала из флэшки FID, но не смогла по нему подобрать память из своего списка!
Вывод: пробовать другую утилиту или проверять контакты. Иногда восстановление контактов по Шине Данных между контроллером и памятью изменяет ID-шник и утилита, по правильному ID-шнику, находит соответствие в своей Базе Данных.
Пример2:
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
Больше ничего не меняем.
Жмем Save
Получаем статус READY
Теперь утилита «готова» прошить флэшку.
Жмём Auto-LLF
3. Работа над ошибками
44 — [CONTROLLER_MISMATCH_ERROR]
2 — [CONTROLLER_CODEBANK_MISMATCH]
при изменение рид\врайт тест ошибка 37 — [PREFMT_ERR_WRITE_P_BLK_ERR]
-Помогла галка на ERASE ALL
_______________________________
45 — [DISK_ACCESS_ERROR]
(Статус READY, ошибка в процессе LLF)
-Помогло: перевод в тестовый режим замыканием 31-32 ног на м/с памяти
и повторная прошивка
_______________________________
101 — [FLASH_NOT_SUPPORT]
-Нужна более свежая версия утилиты с поддержкой новой памяти
ps: в предыдущей версии 20090709_BA (34 — [FLASH_NOT_SUPPORT])
_______________________________
94 — [CAN_NOT_FIND_FILE]
1 — [ERASE_HEX]
При попытке прошить — (Access error)
— Убрали удлинитель USB, из-за которого были потери.
_______________________________
В работе над ошибками был использован опыт пользователей форума: Vitorrio, SeeJay, E1haZ и других.
Обсуждение статьи и проблемы при восстановлении обсуждаются в этой теме на форуме.
Автор: _ANDY_
В комплект утилиты входят:
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 (Одноканальный режим. Может пригодиться в настройках!)
Тут все хорошо! Но что делать кода слетела прошивка так, что большей части этой информации нет!?
Пример1:
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
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
Здесь утилита считала из флэшки FID, но не смогла по нему подобрать память из своего списка!
Вывод: пробовать другую утилиту или проверять контакты. Иногда восстановление контактов по Шине Данных между контроллером и памятью изменяет ID-шник и утилита, по правильному ID-шнику, находит соответствие в своей Базе Данных.
Пример2:
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
Больше ничего не меняем.
Жмем Save
Получаем статус READY
Теперь утилита «готова» прошить флэшку.
Жмём Auto-LLF
3. Работа над ошибками
44 — [CONTROLLER_MISMATCH_ERROR]
2 — [CONTROLLER_CODEBANK_MISMATCH]
при изменение рид\врайт тест ошибка 37 — [PREFMT_ERR_WRITE_P_BLK_ERR]
-Помогла галка на ERASE ALL
_______________________________
45 — [DISK_ACCESS_ERROR]
(Статус READY, ошибка в процессе LLF)
-Помогло: перевод в тестовый режим замыканием 31-32 ног на м/с памяти
и повторная прошивка
_______________________________
101 — [FLASH_NOT_SUPPORT]
-Нужна более свежая версия утилиты с поддержкой новой памяти
ps: в предыдущей версии 20090709_BA (34 — [FLASH_NOT_SUPPORT])
_______________________________
94 — [CAN_NOT_FIND_FILE]
1 — [ERASE_HEX]
При попытке прошить — (Access error)
— Убрали удлинитель USB, из-за которого были потери.
_______________________________
В работе над ошибками был использован опыт пользователей форума: Vitorrio, SeeJay, E1haZ и других.
Обсуждение статьи и проблемы при восстановлении обсуждаются в этой теме на форуме.
Автор: _ANDY_
29 комментариев
mozhet jest versija progi po svezhee?
ЗЫ.если можно ответ на почту.....lox666da@mail.ru
ЗЫ.если можно ответ на почту.....lox666da@mail.ru
Device Name: +[H:]+USB-устройство ввода(Kingston DataTraveler 111 USB Device)
PnP Device ID: VID = 046D PID = C52E
Serial Number: 6&&128A1BC5&&0&&0001
Revision: PMAP
Device Type: Standard USB device — USB2.0 Full-Speed (USB1.1)
Chip Vendor: (No match record)
Chip Part-Number: (No match record)
Product Vendor: Kingston
Product Model: DataTraveler 111
Tools on Web: (N/A)
у меня как раз вот такой случай был:
«Здесь утилита считала из флэшки FID, но не смогла по нему подобрать память из своего списка!
Вывод: пробовать другую утилиту или проверять контакты.»
но я пошел иным путем: в Configuration Selection вместо указанного в статье Default начал перебирать все варианты, и на «8 gb»(флешка Kingston DataTraveler 8gb) к своей радости увидел READY.
прошивка закончилась неудачно с кодом 46, появилась фигня acces denied, собрался уже коротить ноги, но напоследок решил проверить. закрыл прогу, выдернул флешку, вставил обратно, и увидел что флешка ожила. спасибо, надеюсь мой опыт поможет кому-нибудь.
Рад, что статья помогает и сейчас, хотя написал я её очень давно.
Думал, что уже не актуальна.
Device Type:??Mass Storage Device
Protocal Version: USB 2.00
Current Speed: High Speed
Max Current: 200mA
USB Device ID: VID = 0951 PID = 1603
Serial Number: 000AEB911FA8A990B595004C
Device Vendor: Kingston
Device Name: DataTraveler 2.0
Device Revision: 0200
Manufacturer: Kingston
Product Model: DataTraveler 2.0
Product Revision: 1.00
Chip Vendor: Skymedi
Chip Part-Number: SK6211BA
Flash ID Code:??89D7943E — Intel — 2CE/Single Channel [MLC-4K] -> Total Capacity = 8GB
Tools on web:??http://dl.mydigit.net/special/up/skymedi.html
Может есть другой способ её восстановить?
флешка Kingston DT101G2 4gb VID-1221 PID-3234
хочу прошить ее т.к она после покупке в китае не полноценно работает, скачиваешь 50 песен, а из них играет 15-20((
Win XP узнавал сменный диск, но форматировать не удавалось. О пропавших файлах я не плакал.
Применил Сhip_genius_v3.00 и Flash Drive Information Extractor.
Кроме того, мне пришлось вскрывать корпус и читать маркировку микросхем.
У меня была ранее повреждена пластмасса на корпусе, поэтому особенно не церемонился.
Кто ещё не вскрывал, будь осторожен — пластик очень ломкий, корпус на защелках, не приварен и не проклеен. Можно орудовать скальпелем.
Запустил утилиту SK6211_PDT_200900828, флэшка ожила.
Но времени у меня было мало, действовал методом тыка, остались вопросы.
Будет время, ещё покручу. Но главное — утилита работает!
Вот данные флэшки: память — intel 29F64G08FAMC1, контроллер — SK6211 BANC 00838, VID-0951, PID — 160F.
А Вы статью всю прочитали?
Там написано что делать!
"_______________________________
45 — [DISK_ACCESS_ERROR]
(Статус READY, ошибка в процессе LLF)
-Помогло: перевод в тестовый режим замыканием 31-32 ног на м/с памяти
и повторная прошивка
_______________________________
"
Ели не помогло, то другой вопрос надо задавать!
;)
А то может Вы ремонтируете свой Феррари в мастерской Ламборджини?
Помогите, пожалуйста! Как починить флешку Datatraveler 100G3 32gb USB 3.0 мучаюсь пытаюсь, никак не получается… в Genius выдает такую инфу. Мейл: arhiproekt@gmail.com
Device Name: ++USB Input Device(Kingston DataTraveler 3.0 USB Device)
PnP Device ID: VID = 0458 PID = 004C
Serial Number: 8&&36B1FC63&&0&&0001
Revision: PMAP
Device Type: Standard USB device — USB2.0 High-Speed
Chip Vendor: (No match record)
Chip Part-Number: (No match record)
Product Vendor: Kingston
Product Model: DataTraveler 3.0
Tools on Web: (N/A)
Description: [F:]USB Mass Storage Device(SKYMEDI USB Drive)
Device Type:??Mass Storage Device
Protocal Version: USB 2.00
Current Speed: High Speed
Max Current: 500mA
USB Device ID: VID = 1516 PID = 8628
Serial Number: 04
Device Vendor: SKYMEDI
Device Name: USB Drive
Device Revision: 0100
Manufacturer: SKYMEDI
Product Model: USB Drive
Product Revision: 1.00
Chip Vendor: Skymedi
Chip Part-Number: SK6215AA/SK6213
Flash ID Code: ECD798C6 — Samsung — 1CE/Single Channel [TLC] -> Total Capacity =GB
Tools on web:??http://dl.mydigit.net/special/up/skymedi.html
canot get 6515.aa mp tool
get Chip Genius and paste log here.
SK6213 PDT 20100209A Maxell
и повторная прошивка"
Можете для тупых объяснить, как это сделать?
Флешка: Kingston DataTraveler 4GB SK6211 BAPC-8