Восстановление работоспособности китайского клона Saleae Logic

В общем, ничего не предвещало беды. Мой логический анализатор, заказанный с Китая, работал очень хорошо и прекрасно вязался с родным софтом Saleae-logic. Но вчера, без объявления войны, он просто перестал определяться в программе. Вскрытие и беглый осмотр показали, что питание 3,3В на месте, кварц 24МГц работает исправно. Внутри МК CY7C68013A и память 24C02BN для хранения VID & PID устройства.

saleae logic

Спасибо ребята в чате подсказали, что скорее всего нужно прошить верные VID & PID, чтобы программа Saleae-logic определяла его как родное устройство. И действительно, мой анализатор выдавал следующие VID & PID 04b4:8613, когда как верные другие и были найдены вот здесь.

В интернетах пытался найти более менее внятную инструкцию по излечению, в итоге собрал по кускам нужную информацию и начал восстановление анализатора. Для более лаконичного описания процесса опишу его пошагово. Для всех манипуляций нам понадобится Windows x64, который и был мною установлен на виртуальную машину. Для начала нам понадобится некоторое количество софта:

  1. Скачиваем с официального сайта Cypress CySuiteUSB.
  2. Скачиваем с официального сайта Cypress CY3684 EZ-USB FX2LP Development Kit (Rev. *B).
  3. Устанавливаем обе софтины и в результате получаем папку C:\Cypress со следующим содержимым:
    cypress recovery
  4. Подключаем к USB наш анализатор, драйвера естественно не будут найдены, просто копируем VID & PID 04b4:8613 из Диспетчера устройств.
  5. Заходим в C:\Cypress\Cypress Suite USB 3.4.7\Driver\bin\wlh\x64 и в cyusb.inf производим замену USB\VID_XXXX&PID_XXXX на скопированный hardware id, все закомментированные строчки где оно встречается — раскомментируем, таковых оказалось 4:
    cypress cyusb
  6. Перезагружаем Windows и при загрузке жмем F8, выбираем Disable Driver Signature Enforcement, для того, чтобы установить не подписанный драйвер.
  7. Устанавливаем драйвер в Диспетчере устройств, подсунув ему папку для поиска C:\Cypress\Cypress Suite USB 3.4.7\Driver.  У меня устройство определилось как Cypress Generic USB Device.
  8. Запускаем CyConsole и в меню Options выбираем пункт “EZ-USB Interface”. Попадаем в вот такое окошко:
    cyconsole
  9. Нажимаем “Download” и выбираем C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.1\Firmware\Vend_ax\Vend_Ax.hex. В консоль выводится результат загрузки, в конце вывода должно возникнуть Toggle 8051 Reset (00).
  10. Далее считываем данные EEPROM нашего устройства: введем “0xA2” в “Req” (рядом с кнопкой “Vend Req”). “Length” выставим 8, “Dir” в “1 IN” и жмем “Vend Req”.
  11. Теперь надо записать в EEPROM новый код, чтобы Saleae Logic опознало его как родное устройство. “C0 25 09 81 38 1B 00 00” вводится в поле “Hex Bytes”, “Dir” ставим в “0 OUT” и жмем “Vend Req”. При успешной записи, записанные байты выводятся обратно в консоль. Готово. Теперь наш логический анализатор снова работает и определяется программой Saleae-logic.

Спасибо, что дочитали до конца. Подписывайтесь на нашу группу в ВК и заходите общаться в наш чат.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *