Genesys Logic GL3220 recovery after wrong firmware flash Too lazy for English version. If you found this, just use google translate :)
#firmware #genesys #logic #genesyslogic #gl3220
Не будем далеко ходить и воспользуемся гитхабом, как дневником.
Кардридер: ICYBOX IB-865-B (RaidSonic)
Контроллер: GL3220
SPI Flash: вроооооооооде бы PM25LD020. 8-контактный
Был убит кривой прошивкой со station-drivers. Там последняя для 3220 кривая лежит версии 1533 хер пойми с какого девайса.
Соответственно, девайс вываливался в VID 0000, PID 0002 и ошибку устройства 43 (bad descriptor). Диоды индикации не горели.
Я в начале пытался найти тестовый режим, как у флешек, но его тут вроде бы и нет. По спецификации есть на 126 пине TEST MODE, на 127 - System reset, на 128 - Земля. При перемыкании переходит в GenesysLogic ISP Mode. Но толку от этого не увидел. Прошить нельзя, PID другой. Номера серийника вроде нет. Но флешеры не видят.
Методом упорного гугления была найдена статья на просторах интернета. Автору статьи огромное спасибо за ответы на почту и доп.инфу:
http://www.netlab.linkpc.net/wiki/ru:hardware:genesys_logic:gl3220_fw_restore
Сам метод заключает в:
- Отпаивание 2-ой ножки контакта SPI (отсчёт ведется от точки). Поднимаем на 1-2мм
- Подключение ридера
- Ридер грузит захардкоденную где-то прошивку. Я не сильно силён в данном теме, предположу, что в самом контроллере хранится базовый образ, который подгружается при недоступности SPI.
- После успешной загрузки, ожил диод-индикатор. В USBDeview показывает нормальное устройство с серийником 0547. То есть прошивка 0547 версии.
- Запускаем программу прошивки. Я шил 0578 через GL3220+FW+0578+UpdateTool(SingleDev)+v1.0.1.exe
- Прижимаем обратно контакт и запускаем флеш. Если плохо прижали, получите ошибку флеша, пробуйте прижать сильнее и запустить флешинг заново.
- Ждём, когда флешер скажет, что всё готово.
- Отключаем девайс, припаиваем контакт обратно.
- Проверяем, что после пайки прошивка не 0547, а нужная вам, а значит, что припаяли нормально.
- Наслаждаемся :)
У меня всё получилось. Потратил минут 30 со своими кривыми руками в плане пайки :)
По идее, данное должно подойти для всех вариаций на базе GL3220 с таким или похожим чипом SPI. Т.к. мне было всё равно, умрёт ли девайс или я его восстановлю, я не курил датащиты по SPI. Сейчас глянул, если не ошибаюсь, 2-ая нога отвечает за SO - Serial Output.
Возможно, подобное подходит и для других контроллеров GenesysLogic, проверять не на чем :)
От себя добавлю фоточек. Микроскопа нет, так бы были более красивые, с маркировками и фотками отпаянных ног:
https://imgur.com/a/vhu5Vi2
Софт для прошивки и сами прошивки:
https://www.usbdev.ru/files/gl/