jmf616 SSD firmware recovery

Поскольку и-нет глух, у меня есть ответ на ваш вопрос.

Если SSD на jmicron jm616 начинает прикидываться FCR SATA Loader 1000,01, то есть два способа.
1.1 Если это комбо устройство SATA+USB, то качаем JMicron 61X M.P. Tool
usbdev.ru/?wpfb_dl=3853 Прикрепленный файл. В нем явно больше типов флеша и более новая ПО.


Смело подключаем к USB и ... дальше все интуитивно понятно.
1.2 Если у вас в загашнике завалялся переходник SATA-USB jmf20329 - аналогично, как и описано в инструкции к MPtool.
Если контроллер переходника не jmf20329, то поздравляю. Притом, если это jmf20339, то утилита найдет именно его, но не стоящий за ним SSD.
Проверенно лично, не тратьте время.

2. Если ничего этого нет, то велкам.

Качаем обновлялку до версии 110322 JMicron JMF616 SATA ISP Tool v110322
usbdev.ru/?wpfb_dl=2858
Разбираем SSDешку и смотрим тип флеши.
Смотрим как она называется в файле Flash.ini, т.е. ее "псевдоним".
Подключаем SATA шлейф "на горячую", ибо дивайс толком не инициализируется и подвешивает определение устройств в BIOSе.
Грузимся во FreeDOS с VC.
SATA ISP Tool v110322 радостно вам заявит, что не может определить версию фирмвари в устройстве.
Выбираем редактирование файла jmisp616.exe, переходим в HEX, меняем
//определение Current firmware version. Первая правка возможно не нужна. Зачем делал -уже не вспомню.
Offset: 0 1 2 3 4 5 6 7
00008EE0: FC 80 7D FC 00 74 06 80
на
Offset:
00008EE0: FC 80 7D FC 00 75 06 80
и
Offset: 0 1 2 3 4 5 6 7
0000BF90: 7E 44 00 00 00 74 64 B8
на
Offset:
0000BF90: 7E 44 00 00 00 75 64 B8
с этим изменением версия определится как у FCR SATA Loader т.е. 1000,01

//Прошивальщик считает, что версия SATA LOADER старше 110322
Offset: 0 1 2 3 4 5 6 7
0000BFE0: 00 00 00 74 02 EB 12 B8
на
Offset:
0000BFE0: 00 00 00 75 02 EB 12 B8

// Update fail, до свиданья
Offset: 0 ... 7 8 9 A B C D E F
0000C0E0: FC 00 75 05 E9 03 03 00
на
Offset:
0000C0E0: FC 00 74 05 E9 03 03 00

Сохраняем изменения в файле.
Правим isp.ini
Значения ключей прописаны в мануале от виндового USB MP tool по первой ссылке.
Некоторые комментарии на примере:
[TestItems]
CheckFlashMask=31
EnSataTest=1
EnFlashTest=1
EnDramTest=1
EnPreFormat=1
EnDownload=1
DownloadType=1
EnRWTest=1
EnCheckTables=1
EnSetMaxLBA=0
SetMaxLBAValue=0
EnFormat=0
DiskFormat=0
DiskLabel=SSD Disk

[DeviceSetting]
ModelNum=SPCC Solid State Disk
FirmwareVer=110322
SerialNum=000012121971-032GT10
SNAutoInc=1
SNDecimal=0
SNMinLength=20
SNErrReuse=0
VID=152D
PID=0616
VendorName=SP
ProductName=T10G32
ManufString=Silicon Power
ProductString=616 SSD
OUI=000000
UID=000000000
UIDAutoInc=0
UIDDecimal=0

[FlashSetting]
FlashUniName=AAMDB18
Channel=8
Bank=1
DrvCurrent=1

[FwSetting]
DefPercentage=48
ResPercentage=68
Bch16ReadErrorThreshold=13
Bch24ReadErrorThreshold=20
Bch16EccErrorCopyThreshold=4
Bch24EccErrorCopyThreshold=15
ScrambleEnable=1
RemapEnable=1
UsbRemovable=0
UsbLedP14=0
SecurityCounter=5
DirtyDepth=40
EnTrimCmd=1
EnSizeAlignment=0
EnThermalSensor=1
Обратить внимание на
[DeviceSetting]
FirmwareVer=110322 //отображение версии в свойствах устройства. Если не указывать, будет 123456. Возможны проблемы с обновлением ПО
[FlashSetting]
FlashUniName=AAMDB18 // "псевдоним" флеша из FLASH.ini. Указывать обязательно
Channel=8 // количество каналов
Bank=1 // количество банков

Если неизвстно, то скорее всего - мс на одной стороне платы - 8/1, на двух - 8/2. Подбирать экспериментально, что бы емкость соответствовала предыдущей.

DrvCurrent=x // Это ток неизвестно чего (настраивается под тип флеша), 0=2мА, 1=4мА и т.д. "x"- авто/без изменений.
EnThermalSensor=1 // Включает показание температуры.Если не включенно или команда написана с ошибкой, как біло:) , то в современных версиях застрянет на 40 градусах.
EnTrimCmd=1 // Включает TRIM
EnSizeAlignment=0 // Отключает какое-то выравнивание. Если включить, то у 32ГБ диска 5 ГБ уходит под нужды контролера для замены битых ячеек.

ЕСли SSD уходит в отказ из-за неправильной фирмвари, то паяем джампер. Его замыкание отключает выполнение фирмвари и диск ждет ее скачивания с компа. В случае когда активировался SATA LOADER, устанавливать не нужно.

Теперь о фирмвари, прошивальщике, жизни и вообще.
- JMicron JMF616 SATA ISP Tool v110322 льет только v110322. С другими - затыкается на разных этапах.
- isp.dat - закодированный разными битовыми сдвигами файл, содержащий 3 фразы (2 каких-то предупреждения и имя компании), версию фирмвари, битовую маску каких-то операций, производящую оверрайд isp.ini - 12 байт, в каждом байте толи 0, толи 1 + символ Y/N кажется соглашения соглашения с EULA.
- У ISP Tool v110322 эта самая v110322 прописана в .ехе, маски нет, имени компании нет и вообще красота.
- Фирмварь состоит из init.bin(Х/З что), GDP.bin(фирмварь?), SATATEST.bin (???). SYS_xxxx (настройка контроллера под тип и конфигурацию флеша) - нужный файл смотрится в виндовом ISP Tool.

Update

Для тех кто хочет обновить фирмваре до последней 120703 130805.
1. Исправляем бинарный файл jmisp616.exe из набора JMicron JMF616 SATA ISP Tool v110322
usbdev.ru/?wpfb_dl=2858
как описанно выше по всем шагам.
1,1 вносим дополнительные изменения
Offset: 0 1 2 3 4 5 6 7
26ff8: 31 31 30 33 32 32 00 4E
на
Offset:
26ff8: 31 33 30 38 30 35 00 4E
и
Offset: 0 1 2 3 4 5 6 7
27018: 0A 00 31 31 30 33 32 32
на
Offset:
27018: 0A 00 31 33 30 38 30 35
т.е. текстовое "110322" меняем на "130805"
Сам номер фирмваре находится в файлах SYS_xxxx по смещению где-то 0300h и имеют вид
JMSSD_130805_S,Aug 5 2013,18:57:29,61XA.
Если строка в SYS_xxxx не совпадет со значением в JMISP616.exe, то будет "error code 060 - download firmware fail!"
В ISp.ini версия фирмваре носит описательный характер отображается при инициализации диска, может быть любая. Но лучше указывать настоящую, во избежание проблем в дальнейшем.

1.2 В файле isp.ini меняем строку
FirmwareVer=110322 на
FirmwareVer=130805
Для обновления фирмваре в принципе достаточно, что бы файл isp.ini имел вид
[DeviceSetting]
FirmwareVer=130805
[FlashSetting]
FlashUniName=AAMDB18
Channel=8
Bank=1
DrvCurrent=X
[FwSetting]
DefPercentage=48
ResPercentage=68
Bch16ReadErrorThreshold=13
Bch24ReadErrorThreshold=20
Bch16EccErrorCopyThreshold=4
Bch24EccErrorCopyThreshold=15
ScrambleEnable=1
RemapEnable=1
UsbRemovable=0
UsbLedP14=0
SecurityCounter=5
DirtyDepth=40
EnTrimCmd=1
EnSizeAlignment=0
EnScrambleRandomSeed=1
EnThermalSensor=1
3. Из архива по адресу (спасибо фирме Трансенд и ее ФТП ).
217.166.158.90/Products/SSD25S-M_JMF616/
версия 130411. По факту 130805.
извлекаем файлы:
init.bin, satatest.bin, GDP.bin, SYS_ХХХХ.bin(все), Flash.ini
4. Файлы из JMicron JMF616 SATA ISP Tool v110322 usbdev.ru/?wpfb_dl=2858 :
- ISP.dat - оригинальный, размером 69кБ
- jmisp616.exe - исправленный в предыдущих шагах
- isp.ini - исправленный в предыдущих шагах

Или просто скачать прикрепленный файл jmk_616_ver_130805.7z.7zip

Убрать .7zip (ограничение движка форума, .7z не принимает), разархивировать, запустить JMISP616.exe из под FreeDOS или при наличии адаптера - JMMassProd61X.exe из Виндоуз, можно 10, можно х64.
Данные естественно с диска будут удалены, так что перед мероприятием - бекап.
И все будет norma 4 you

ВложениеРазмер
jmk_old_120703.7zip744.65 КБ
jmk_old_130805.7zip1000.52 КБ
jmk_old_110322.7zip970.44 КБ

VC
В этой версии "имя производителя" не в самом коде программы, а зашифровано в ISP.dat.
Там муторошные циклические битовые операции, которые я в свое время не осилил.

Во-1, имя модели не SV100S2/32G, а ProductName=SV100S232G.


Во-2, VendorName=KINGSTONE
ManufString=KINGSTONE
Сравните со скрином на стр.5. файла
SV100S2_120504s_FirmwareUpdateProcedure.pdf
в архиве родного прощивальщика.

Поэтому стоит попробовать сначала прошиться самой первой подправленной версией с указанными изменениями в isp.ini, потом накатить родной Кингстоновский прошивальщик.
Есть большой шанс, что с написанием фирмы угадали.

Смотри апдейт 1 в изначальном посте.
В 120703 есть твоя память по умолчанию, так что если все пройти по шагам, проблемой с "Download Code.... Fail" не будет, потому что нужный файл SYS_xxxx в этой версии уже есть.

Поправил названия , но родной прошивальщик так и не захотел шить - не Kingstone.
"Смотри апдейт 1 в изначальном посте." - не очень понял , Вы имеете в виду - JMicron 61X M.P. Tool ?

VC
Нужно скачать 2 архива.
1. 110322 - из него правится jmisp616.exe. По всем пунктам с первого предложения -т.е. совсем все
//определение Current firmware version. Первая правка возможно не нужна. Зачем делал -уже не вспомню.
.


//Прошивальщик считает, что версия SATA LOADER старше 110322
.
// Update fail, до свиданья
.
// вносим дополнительные изменения
т.е. текстовое "110322" меняем на "120703"
Апдейт - это дополнительная правка, что бы он залил фирмварь версии 120703.

Править нужно именно файл указанной версии, ибо это простая грязная замена условий переходов, в других версиях файлов - они будут сильно другие, и таких строчек вы просто не найдете.
Из этого же архива берется isp.dat и правится isp.ini.
2 Windows_mp_tool_120703 - из него берется все остальное, т.е. сами файлы прошивки и настройки флеша - init.bin, satatest.bin, GDP.bin, SYS_ХХХХ.bin(все), Flash.ini.

Вот вместе все это и дает возможность прошить прошивку 120703 на любой SSD с флешами, которые есть в более новой прошивке.
Там как раз и есть родной, необходимый вам SYS_STFF.bin.

Все прошилось ( на правленом exe ) без проблем . Уже fail не было.
Но родная прошивка сказала что это не Kingstone
А и объем остался 27 GB .
В любом случае спасибо за подсказки!

VC

Все прошилось ( на правленом exe ) без проблем .

Но родная прошивка сказала что это не Kingstone
во-1, всеравно. 616 уже давно EoL, соответственно новых прошивок не будет в принципе, даже если есть какие-то действительно критические ошибки. 120703 это последняя из доступных.
во-2, нужно подбирать значения в isp.ini, как у родного, что непросто.
В прошивальщике куча проверок, начиная от производителя до, внезапно, серийного номера.

А и объем остался 27 GB .
Функции резервирования объема описываются в isp.ini (читать .pdf в архиве прошивальщика под Windows_isp_tool)
DefPercentage=48
ResPercentage=68
Но у всех они прописані именно в таком виде.
У меня функцию отрезания части обїема выполняла опция
EnSizeAlignment=1.
Обрезание шло где-то около 15%.

У меня так и прописано -
DefPercentage=48
ResPercentage=68
С EnSizeAlignment=1. Тоже игрался , если 1 - то обрезает где то до 26,7 GB ( так показывает в биосе ) , если 0 - то 27 GB
Наверное так и оставлю , спасибо!

Привет всем!
Может кто имеет параметры Flash.ini для TC58NVG6D2FTA20 ? Срочьно надо, пока комп SSD видет:D

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

Насчет видит -не видит. Подключение после инициализации БИОС САТА кабеля никто не отменял, к тому же он для этого разрабатывался.

Shevalier,
К сожалению ,с DOS не каждый раз определяеться даже на горячую. Пробовал собрать сборку, как указанно в статье, но утилита JMicron не находит SSD, а апдейт Kingston выдаёт ошибку Get Erase Count.....FAIL! Error Code = 0xC0. Распаковав Kingston апдеит, в ini не нахожу прописанной TC58NVG6D2FTA20 микросхемы - ничего не понимаю. Апдейт Kingston подходит для SV100S2 64GB и 128GB дисков. И вот что в ini:
; flashUniName, flashFullName, flashcode, CE, ECC, ID0,ID1,ID2,ID3,ID4, CopyBack, Newflash, Extend Block, Die Offset Unit, PairPage
[Toshiba]
Name00=G3S0E19 TC58DVG3S0ETA00 0x2041 1 0 0x98 0xD3 0x90 0x26 0x76 0 1 0 0 0
Name01=G4S0E20 TH58DVG4S0ETA20 0x2041 2 0 0x98 0xD3 0x90 0x26 0x76 0 1 0 0 0
Name02=G5S0E21 TH58DVG5S0ETA20 0x2281 2 0 0x98 0xD5 0xD1 0x26 0x76 0 1 0 0 0
Name03=G5D2E24 TH58NVG5D2ETA20 0x280A 2 2 0x98 0xD5 0x94 0x32 0x76 0 1 36 0 2
Name04=G6D2E25 TH58NVG6D2ETA20 0x2A4A 2 2 0x98 0xD7 0x95 0x32 0x7A 0 1 72 2048 2
Name05=G5D2F33 TC58NVG5D2FTA00 0x284A 1 2 0x98 0xD7 0x94 0x32 0x76 0 1 0 0 2
Name06=G5D2F34 TC58NVG5D2FTAI0 0x284A 1 2 0x98 0xD7 0x94 0x32 0x76 0 1 0 0 2
Name07=G5D2F35 TH58NVG5D2FTA20 0x280A 2 2 0x98 0xD5 0x94 0x32 0x76 0 1 28 0 2
Name08=G6D2F36 TH58NVG6D2FTAK0 0x284A 2 2 0x98 0xD7 0x94 0x32 0x76 0 1 4 0 2
Name09=G7D2F39 TH58NVG7D2FTA20 0x2A8A 2 2 0x98 0xDE 0x95 0x32 0x7A 0 1 8 4096 2
Name10=G6D2F42 TH58NVG6D2FLA49 0x284A 1 2 0x98 0xE7 0x94 0x32 0x76 0 1 4 0 2
Name11=G4D2F43 TC58NVG4D2FTA00 0x280A 1 2 0x98 0xD5 0x94 0x32 0x76 0 1 28 0 2

И только 5 прошивок по типам flash:
SYS_STFA.bin, SYS_STFB.bin, SYS_STFC.bin, SYS_STFF.bin, SYS_STPC.bin

Неужто у меня какойто ексклюзивный вариант SSD?:D

ZuluDrag
1. Определение диска на горячую в DOS зависит:
- конфигурация SATA порта в BIOS MB - IDE/AHCI/Compatible/NAtive и прочие. Для каждого БИОС/МБ нужно подбирать
- от того, под чем запускается прошивальщик -MS DOS/FreeDOS. Что лучше - не помню.
2. Запаяй jamper, запрещающий запуск фирмваре. Может прошивальщик скажет, что он думает о флеше.
3. Если диск виден отличным от FCR SATA Loader образом, то
usbdev.ru/?wpfb_dl=3698 работает под Windows XP. Данная утилита покажет, что прописано в настройки контролера в данный момент.


4. См. апдейт 2 в заглавном посте темы.
5. Добейся реакции от прошивальщика, выполнив п. 1 и 2.

Потом можно будет думать, что делать с Флешем. Возможно по id окажется, что у нее есть и другое имя.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей