Skip to content

Genesys Logic GL3220 recovery after wrong firmware flash

Notifications You must be signed in to change notification settings

falcon4fun/GenesysLogicRecovery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

GenesysLogicRecovery

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

Сам метод заключает в:

  1. Отпаивание 2-ой ножки контакта SPI (отсчёт ведется от точки). Поднимаем на 1-2мм
  2. Подключение ридера
  3. Ридер грузит захардкоденную где-то прошивку. Я не сильно силён в данном теме, предположу, что в самом контроллере хранится базовый образ, который подгружается при недоступности SPI.
  4. После успешной загрузки, ожил диод-индикатор. В USBDeview показывает нормальное устройство с серийником 0547. То есть прошивка 0547 версии.
  5. Запускаем программу прошивки. Я шил 0578 через GL3220+FW+0578+UpdateTool(SingleDev)+v1.0.1.exe
  6. Прижимаем обратно контакт и запускаем флеш. Если плохо прижали, получите ошибку флеша, пробуйте прижать сильнее и запустить флешинг заново.
  7. Ждём, когда флешер скажет, что всё готово.
  8. Отключаем девайс, припаиваем контакт обратно.
  9. Проверяем, что после пайки прошивка не 0547, а нужная вам, а значит, что припаяли нормально.
  10. Наслаждаемся :)

Итог

У меня всё получилось. Потратил минут 30 со своими кривыми руками в плане пайки :)
По идее, данное должно подойти для всех вариаций на базе GL3220 с таким или похожим чипом SPI. Т.к. мне было всё равно, умрёт ли девайс или я его восстановлю, я не курил датащиты по SPI. Сейчас глянул, если не ошибаюсь, 2-ая нога отвечает за SO - Serial Output.
Возможно, подобное подходит и для других контроллеров GenesysLogic, проверять не на чем :)

От себя добавлю фоточек. Микроскопа нет, так бы были более красивые, с маркировками и фотками отпаянных ног:
https://imgur.com/a/vhu5Vi2

Софт для прошивки и сами прошивки:
https://www.usbdev.ru/files/gl/

About

Genesys Logic GL3220 recovery after wrong firmware flash

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published