Если SSD на jmicron jm616 начинает прикидываться FCR SATA Loader 1000,01, то есть два способа.
1.1 Если это комбо устройство SATA+USB, то качаем JMicron 61X M.P. Tool
Смело подключаем к USB и ... дальше все интуитивно понятно.
1.2 Если у вас в загашнике завалялся переходник SATA-USB jmf20329 - аналогично, как и описано в инструкции к MPtool.
Если контроллер переходника не jmf20329, то поздравляю. Притом, если это jmf20339, то утилита найдет именно его, но не стоящий за ним SSD.
Проверенно лично, не тратьте время.
2. Если ничего этого нет, то велкам.
Качаем обновлялку до версии 110322 JMicron JMF616 SATA ISP Tool v110322
http://www.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
Для тех кто хочет обновить фирмваре до последней
1. Исправляем бинарный файл jmisp616.exe из набора JMicron JMF616 SATA ISP Tool v110322
http://www.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. Из архива по адресу (спасибо фирме Трансенд и ее ФТП ).
ftp://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 http://www.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
переходник SATA-USB jmf20329
Через него виндовая прога определит тип Флеша.
Без него -никак.
И дернул черт натравить на него HDDScan - проверка на чтение была успешной, а вот запись -после первых нескольких нормальных блоков пошли бэды, HDDScan я тормознул, да видимо поздно - через несколько минут диск исчез из системы и больше не появился.
Новая прошивка производителя диск не видит
собрал уже несколько версий утилит(2.8a,2.11,2.19,2.20,2.31,2.37,2.39) под дос, перепробовал все в разных комбинациях, восстановить не получается
что имею на данный момент:
1 вообще диск как то странно себя ведет - на холодную плохо определяется(в режиме лоадера) в системе, приходится несколько раз передергивать питание, потом нормально. может диск совсем плох, и его просто не восстановить
2 дальше чем прошивка 110322 никто не шьет - до ошибки 70, сыплется на table , остальные доходят до ошибки 50 preformat -может памяти хана ?
3 после заливки 110322 тулза версии 2.31(от трансценда) определяет тип памяти, но с ней нет прошивки от моего накопителя, прошивка из другого дистрибутива вызывает ошибку разных версий (а поправить ехешник не получится) версии живут в isp.dat и зашифрованы - его ломать надо
4 замечено что указание типа памяти в ini файле никак не влияет, то есть тулза версии 2.31(от трансценда) определяет память вне зависимости от указаний, а из ini файла берет только название
5 замечено что определение текущей прошивки зависит от isp.dat - видимо там прописано в каком месте искать версию
6 родная прошивка(с тулзой 3.37) диск не видит и более того умудряется уничтожить залитую 110322 еще на стадии обнаружения диска(то есть повисит, подумает, скажет чип памяти не поддерживается и свалит, а диск после этого надо опять шить иначе остальные прошивальщики не увидят тип памяти)
7 попробовал тут контроллер USB-SATA на jm20339 - виндовая тулза его никак не видит, диск определяется как то страшно месиво букв и цифр, а вот контроллер 20336 определяет верно как загрузчик, но видимо эффект 20339 как в шапке - тулза видит только контроллер
8 пробовал составлять ini файл в виндовой тулзе, но видимо досовая версия игнорирует половину ключей
Осталась одна надежда на мост 20329 (заказал) и что виндовая тулза более функциональная
как я понимаю работай их тулза под 7кой переходник не нужен был бы - 7ка с AHCI работает нормально, в отличии от XP, насколько я вижу на своей системе
теперь если взять с ним isp.dat от кингстона то получаю ошибку get erase count c0
а если с трансендовским дат то он хочет дополнительный файл прошивки sys_utfc и все равно ошибка таблиц с кодом J00
Preformat.....Fail! Error Code = C00, Pre-Format Fail!
==================Error Message==============================
Number of bad block is over defect ratio:
Ch#00, Bank#00, Die#00, BadBlockNum: 13, BadBlockNumRatio(1/1000): 6
Ch#00, Bank#01, Die#00, BadBlockNum: 7, BadBlockNumRatio(1/1000): 3
Ch#00, Bank#02, Die#00, BadBlockNum: 2, BadBlockNumRatio(1/1000): 0
Ch#00, Bank#03, Die#00, BadBlockNum: 1, BadBlockNumRatio(1/1000): 0
Ch#01, Bank#00, Die#00, BadBlockNum: 20, BadBlockNumRatio(1/1000): 9
Ch#01, Bank#01, Die#00, BadBlockNum: 3, BadBlockNumRatio(1/1000): 1
Ch#01, Bank#03, Die#00, BadBlockNum: 10, BadBlockNumRatio(1/1000): 4
Ch#02, Bank#00, Die#00, BadBlockNum: 8, BadBlockNumRatio(1/1000): 3
Ch#02, Bank#01, Die#00, BadBlockNum: 9, BadBlockNumRatio(1/1000): 4
Ch#02, Bank#02, Die#00, BadBlockNum: 3, BadBlockNumRatio(1/1000): 1
Ch#02, Bank#03, Die#00, BadBlockNum: 2, BadBlockNumRatio(1/1000): 0
Ch#03, Bank#00, Die#00, BadBlockNum: 7, BadBlockNumRatio(1/1000): 3
Ch#03, Bank#01, Die#00, BadBlockNum: 3, BadBlockNumRatio(1/1000): 1
Ch#03, Bank#02, Die#00, BadBlockNum: 1, BadBlockNumRatio(1/1000): 0
Ch#03, Bank#03, Die#00, BadBlockNum: 9, BadBlockNumRatio(1/1000): 4
Ch#04, Bank#00, Die#00, BadBlockNum: 3, BadBlockNumRatio(1/1000): 1
Ch#04, Bank#01, Die#00, BadBlockNum: 17, BadBlockNumRatio(1/1000): 8
Ch#04, Bank#02, Die#00, BadBlockNum: 6, BadBlockNumRatio(1/1000): 2
Ch#04, Bank#03, Die#00, BadBlockNum: 14, BadBlockNumRatio(1/1000): 6
Ch#05, Bank#00, Die#00, BadBlockNum: 12, BadBlockNumRatio(1/1000): 5
Ch#05, Bank#01, Die#00, BadBlockNum: 2, BadBlockNumRatio(1/1000): 0
Ch#05, Bank#02, Die#00, BadBlockNum: 8, BadBlockNumRatio(1/1000): 3
Ch#05, Bank#03, Die#00, BadBlockNum: 10, BadBlockNumRatio(1/1000): 4
Ch#06, Bank#00, Die#00, BadBlockNum: 10, BadBlockNumRatio(1/1000): 4
Ch#06, Bank#01, Die#00, BadBlockNum: 7, BadBlockNumRatio(1/1000): 3
Ch#06, Bank#02, Die#00, BadBlockNum: 5, BadBlockNumRatio(1/1000): 2
Ch#06, Bank#03, Die#00, BadBlockNum: 1, BadBlockNumRatio(1/1000): 0
Ch#07, Bank#00, Die#00, BadBlockNum: 8, BadBlockNumRatio(1/1000): 3
Ch#07, Bank#01, Die#00, BadBlockNum: 5, BadBlockNumRatio(1/1000): 2
Ch#07, Bank#02, Die#00, BadBlockNum: 3, BadBlockNumRatio(1/1000): 1
Ch#07, Bank#03, Die#00, BadBlockNum: 2, BadBlockNumRatio(1/1000): 0
Bad CH/CE:
Ch#0, CE#0, BadBlockNum: 13
Ch#1, CE#0, BadBlockNum: 20
Ch#2, CE#0, BadBlockNum: 8
Ch#3, CE#0, BadBlockNum: 7
Ch#4, CE#0, BadBlockNum: 3
Ch#5, CE#0, BadBlockNum: 12
Ch#6, CE#0, BadBlockNum: 10
Ch#7, CE#0, BadBlockNum: 8
Ch#0, CE#1, BadBlockNum: 7
Ch#1, CE#1, BadBlockNum: 3
Ch#2, CE#1, BadBlockNum: 9
Ch#3, CE#1, BadBlockNum: 3
Ch#4, CE#1, BadBlockNum: 17
Ch#5, CE#1, BadBlockNum: 2
Ch#6, CE#1, BadBlockNum: 7
Ch#7, CE#1, BadBlockNum: 5
Ch#0, CE#2, BadBlockNum: 2
Ch#2, CE#2, BadBlockNum: 3
Ch#3, CE#2, BadBlockNum: 1
Ch#4, CE#2, BadBlockNum: 6
Ch#5, CE#2, BadBlockNum: 8
Ch#6, CE#2, BadBlockNum: 5
Ch#7, CE#2, BadBlockNum: 3
Ch#0, CE#3, BadBlockNum: 1
Ch#1, CE#3, BadBlockNum: 10
Ch#2, CE#3, BadBlockNum: 2
Ch#3, CE#3, BadBlockNum: 9
Ch#4, CE#3, BadBlockNum: 14
Ch#5, CE#3, BadBlockNum: 10
Ch#6, CE#3, BadBlockNum: 1
Ch#7, CE#3, BadBlockNum: 2
==================Error Message==============================
Press any key to continue...
что-то не могу прикрепить файлы - "Ошибка закачки файла. Невозможно переместить закачанный файл."
выложил правленые экзешники сюда
https://yadi.sk/d/3e8S_6i8335YhH
https://yadi.sk/d/Xge99kvx335YhV
у виндовой тулзы возможностей больше но к сожалению ничего с винтом сделать она не смогла, но зато в ней есть схема расположения элементов. возможно удастся сделать диск меньшего обьема с помощью паяльника
Все ключи ДОС версии есть в конце ехе-шника в явном виде.
CTR+F JM ProductModel Setting и дальше все переменные которые воспринимает прошивальщик из ини-файла.
Можно попробовать поиграться с FlashSetting DefPercentage
На руках есть плата SATA-USB с контролером JM20339 (плата от LACIE внешний HDD умер, осталось коробка и плата жива).
И чет мне не нравится что JM20339, чувствую я что не зря написано не тратьте время....
После подключения определяется как SPCC Sol id State DiskB28 USB Device, и контроллер там JMF616 (скрин приложил)
https://blob.inmac.org/012017/b595a2c290d1e5aa.jpeg
Прога увидела SSD виде нЛО, но "по-своему" (скрин приложил)
https://blob.inmac.org/012017/5046e6e94f4c324c.png
Жму Load INI, Выбираю ISP.INI, жму START, выбивает FAIL (скрин приложил)
https://blob.inmac.org/012017/adaa9126b8f811fe.png
Жму на символ "?", понятно, выбивает список ошибок, но вот что они сообщают - без понятия. (скрин приложил)
https://blob.inmac.org/012017/56c0cadcca5fe3c7.png
Сам SSD, определяется на 29GB, но вот у него жесткие проблемы с записью - затупает (подвисает все если на нем стоит система) и запись оооочень медленная, чтение так же не блещет скорость.
В общем вопрос! Можно ли отпаять чип JM20339, и в место него впаять JM20329, будет работать?
Цены просто конские на мост, а на сам чип всего лишь ~2$
Поищите дешевые боксы для внешних ХДД.
После экспериментов с 339, стал необходим бокс под роутер.
Самый простой оказался на 329-м.
По цене - всего раза в полтора дороже дискретного переходника ЮЗБ-САТА, зато потом можно хоть для чего-то использовать.
А что вы имеете введу про "бокс под роутер", просто у меня куча роутеров валяется мало ли может там есть?)
Про бокс(скорее осталось коробка от внешнего LACIE HDD) под внешний HDD - я понял, и как раз один из них в руках, только вот там стоит jm20339
[OFF]очевидно же - бокс для подключения винта к роутеру, для создания импровизированной домашней торрентокачалки/файлопомойки...[/OFF]
попробуйте второй вариант, с прямым подключением по сата.