Программный ремонт USB Flash Drive с помощью утилиты SK6211_PDT_20090828

Автор _ANDY_, 02 Марта 2010, 10:55:24

0 Пользователей и 4 Гостей просматривают эту тему.

_ANDY_

Выношу на обсуждение статью, которую недавно наваял.
1) Хотелось-бы добавить "работу над ошибками". У кого был опыт прошивки SK6211 и были ошибки, то как вы с ними справились? Буду очень благодарен всем кто откликнется и постараюсь обобщить и структурировать это в статье.
2) Выводы насчет поиска версии Code Bank по дате из флэшлиста у меня не подтвердились! Думаю убрать или модернизировать этот пунт (Пример2)
_______________________________________________

       SUBJ

Данная статья предназначена для помощи в программном восстановлении 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) SK6211_Linux_User_Manual.pdf – инструкция для пользователей Linux
4) SK6211BA_Skymedi Flash Support List _20090828.xls – «Флэшлист» - список модулей памяти, которые поддерживает данная версия утилиты. (Пригодится для определения "CodeBankVer" по дате)
5) SK6211BA R-W Performance_Capacity List_20090828.xls – Сводная таблица тестов скорости различных модулей памяти в одноканальном и двухканальном режимах в ОС Win XP sp2 & Win 2k sp4.
6) SK62XX_FAT_20090505.exe & SK62XX_FATool_UserGuideV1.pdf – вспомогательная утилита для тестирования флэш.
7) ErrorCodes.txt – список кодов ошибок.
8) DrvSwitch.exe – заводской драйвер.
9) 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. Разбор ошибок
...

Здесь обсуждается создание CD-раздела на этом контроллере

_ANDY_

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])
_______________________________

Vitorrio

Приветствую _ANDY_!

Kingstone 16Gb
SK6211BA
2 x I29F64G08FAMC1

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

_ANDY_

Приветствую Vitorrio!
Похоже, что есть "плохочитаемые места" на флэшке - почти бэды.
Возможно, что из-за плохого контакта или низкого напряжения (3,3В или 1.8В).
Для начала надо попробовать программные методы:

Quick Test
Quick Test Mode 1 - 100%
Quick Test Mode 2 - 100%

Erase All - Пробовал?

Еще есть тестилка в комплекте : SK62XX_FAT_20090505.exe (я ей не пробовал пользоваться , пока про неё ничего сказать не могу)

Vitorrio

"Erase All"  конечно же выставлял.

Вчера целый вечер игрался с Test mode.
процесс увеличивается минут на 20, но всё так же вылетает с ошибкой
253 либо 82 90.

Кстати насчёт ошибок:
после Н -ного количества запусков и флешек программа,
при выборе любого Code Bank не видит списка прошивок памяти, т.е. в поле "Flash Select" нет ни одной памяти.
У меня вылечилось очиской USB кэша.

_ANDY_

А в какой версии эти ошибки?
В 20090828 :
253 - нет такой ошибки в списке (есть 255 - [Unknown Fail])
82 - [SD EXT CSD ERROR] - глюки контроллера - непропай
90 - [ISP VARIFY FAIL] - тоже похоже на непропай контроллера (либо дохлый контроллер либо заниженные напряжения 3,3/1,8)

Vitorrio

Версия 20090828.

Попробую вечером всё пропаять, хотя выглядят все контакты суперно...  :-\
Thanks.

_ANDY_

понял, что такое 253
25 - [Read/Write Test Fail]
     3 - [SUBERR1_READ_COMPARE_FAIL]
:)
из той-же оперы

zlolik

Приветствую, _ANDY_!
Подскажите, что делать в случае если программа не определяет флешку - не загорается SAMPLE после выбора default?
Флешка A-Data 8GB.
При вскрытии выяснено, что:
Контроллер: SK6211 ( APC, G0838, 32252)
Память: K9HCG08UIM (Samsung, PC80, CAH59BH2)
Так что программой я вроде бы не ошибся.

А флешка не работает вот так:
Windows: определяется USB Flash drive, появлется устройство, диск. Диск не доступен(Вставьте диск G:).
Linux:
[40890.196952] scsi 3:0:0:0: Direct-Access     SKYMEDI  USB Drive             PQ: 0 ANSI: 2
[40890.198247] sd 3:0:0:0: Attached scsi generic sg2 type 0
[40890.220497] sd 3:0:0:0: [sdc] Very big device. Trying to use READ CAPACITY(16).
[40890.221251] sd 3:0:0:0: [sdc] Using 0xffffffff as device size
[40890.221271] sd 3:0:0:0: [sdc] 4294967296 512-byte logical blocks: (2.19 TB/2.00 TiB)
[40890.221874] sd 3:0:0:0: [sdc] Write Protect is off
[40890.221884] sd 3:0:0:0: [sdc] Mode Sense: 23 00 00 00
В обеих ОС светодиод флешки моргает 2сек/2сек.

_ANDY_

Контроллер подаёт признаки жизни.
Win  XP-?
Какие VID/PID - ? (если отличаются от 0951/1607 или 1516/6211) то надо запустить SkyDriver.

zlolik

Да действительно WinXP. Попробовали тулз на другой винде - контроллер увиделся, правда после пропайки :). Ну а после 3-ей пропайки - увиделась вся флешка. Суть была в том, что корпус резиновый, поэтому ножки расшатались на микросхемах, а при последнем пропаивании всё ещё вылезали лохмотья из под ножек.
Так что тулз пока использован не был.

Vitorrio

2 _ANDY_

Всё тщательно пропаял 2 раза, прошёлся феном по всем контактам, особо подозрительные паяльником, почистил и помыл, - выглядит как новая Дэу Ланос  :)  (работает к сожалению так же)

Пытаюсь форматить в SK6211_PDT_20090828 - ошибка 253.

Что это ещё может быть?
кстати после этой ошибки флешка нормально форматируется средствами Wind-ы и даже показывает нужный объём, но при попытке залить туда 16 Гектар пишет что место уже занято... :-\

P.S.
после прогона тестов чтение/запись картина такая:

_ANDY_

А с напряжениями все гуд? Стабильно?
Я бы еще проверил память по-очереди, думаю, что можно отпаять ногу CE, не снимая сам чип, (на "+3,3" ч/з 1 кОм).
Хотя можно просто снять! :)

mJet

Цитироватьошибка 253

это ошибка - 25 3 = 25 пункт 3

25 - [Read/Write Test Fail]
     3 - SUBERR1_READ_COMPARE_FAIL

Всем привет...

У мя проблема с флехой Team Slim Drive 2 GB...

не форматируется чтоб сделать загрузочную флеху - Device media is write protected....
Я прошил утилитой Kingmax U-Drive PD-07 Recovery Tool V1.1...Тулза норм все прошила, но у меня ж не Кингстон, снова форматирую чтоб сделать загрузочную и нифига...Короче, как счас узнать реальный контроллер памяти на моей флешке?

_ANDY_

Цитата: mJet от 15 Марта 2010, 03:16:13
Всем привет...
У мя проблема с флехой Team Slim Drive 2 GB...
не форматируется чтоб сделать загрузочную флеху - Device media is write protected....
Я прошил утилитой Kingmax U-Drive PD-07 Recovery Tool V1.1...Тулза норм все прошила, но у меня ж не Кингстон, снова форматирую чтоб сделать загрузочную и нифига...Короче, как счас узнать реальный контроллер памяти на моей флешке?
Вскрытием - 100% точность!
остальное - теория вероятностей :)

Vitorrio

Только без фанатизма, а то будет как в том анекдоте:
"Вскрытие показало, что пациент умер от вскрытия"
;)

LionK

всем прив!
прошил флешку(Kingston DataTreveler 8G -SK6211BAPC-B, i29F32G08CAMGI) этой утилитой на СД+ХДД(во всяком случае БИОС так определяет) и больше не могу перепрошить, показывает 45 ошибку нет доступа и всё... пытался в наглую перешить, выскакивает файлед...
в статье написано  замкнуть ноги памяти -- поможет... а с какой стороны или как их отсчитать?

Vitorrio

Цитироватьне могу перепрошить, показывает 45 ошибку нет доступа и всё..
Поставить галку "Erase All"!

Цитироватьа с какой стороны или как их отсчитать?
Читай внимательно статью - там всё написано!

Цитироватьпытался в наглую перешить...
Что это значит?

LionK

ставил, не помогает...

я читал
Цитировать45 - [DISK_ACCESS_ERROR]
(Статус READY, ошибка в процессе LLF)

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

я в эллектронике тока в 90х последний раз ковырялся, щя как то руки не доходят(а тут просто надо)...

ну прога выдаёт нет доступа, а я ей всё равно жму ЛЛФ, при этом флешка начинает видется как два винта и всё равно нет доступа.. переподключаю и всё попрежнему(СД с диском и винт появляются)....


LionK

отсчёт идёт от точки вниз 1,2,3..... или есть извраты т.е. с права допустим чёт с лева нечет(а то помню давно чёто было с извратом)?

P.S. звиняй за надоедливость-- 20лет прошло

_ANDY_

Всё в точности как на картинке! отсчет против часовой стрелки.

Из извратов встречал только капельки компаунда (ног не видно)

Или BGA-шные чипы (ноги снизу)

LionK

чёт не помогло...  ???

инфа пропала, нет диска в сд и нет файлов на хдд, а так всё без именений...

_ANDY_

Так при замкнутых ногах флэшка определилась заново?
Обнаружено новое устройство .... бла-бла-бла ?
Если да то после того иголку вытаскиваете? (многие пытаются шить с замкнутыми ногами!)?
Если да, то винда какая? (должна быть XP!)
Если да, то проверять по даташиту базовые напряжения 5 / 3,3 / 1,8В
Если все есть там где должно быть, то пропаять контроллер, проверить обвязку, исключить удлинители USB.

LionK

ЦитироватьТак при замкнутых ногах флэшка определилась заново?
Обнаружено новое устройство .... бла-бла-бла ?
Если да то после того иголку вытаскиваете? (многие пытаются шить с замкнутыми ногами!)?
Если да, то винда какая? (должна быть XP!)
Если да, то проверять по даташиту базовые напряжения 5 / 3,3 / 1,8В
Если все есть там где должно быть, то пропаять контроллер, проверить обвязку, исключить удлинители USB.
иголку конечно вытащил
винда ХР
напруги проверю.
с пропайкой будет сложнее. удлинителей нету, воткнуто напрямую.