Jump to content

    
Sign in to follow this  
IVTIVT

EZ-USB FX2 в Linux

Recommended Posts

Добрый все день! Имеется usb-устройство с cайпрессовским СY7C68013 . Поначалу работа с ним велась в Windows через драйвер cyusb.sys - всё работало, данные посредством FIFO передавались верные (устройство принимает данные и передает по usb в pc ). Затем встал вопрос об аналогичной работе в Линуксе. Была использована библиотека libusb.

 

Что происходит в данный момент : если после включения устройства ,подключенного к компьютеру с Виндоус - перезагрузить компьютер и войти в Линукс - всё работает, данные принимаются в Линуксе правильные. Но стоит только сбросить питание устройства (вне зависимости от того, подключено ли оно шнуром к компьютеру) - как при включении питания обратно - данные принимаются абсолютно левые. Под данными я подразумеваю набор байт. То есть возникло подозрение, что драйвер cyusb.sys вносит какие-то инициализационные изменения , так как если включить Виндоус - все работает - перейти в Линукс - все работает - выключить КОМПЬЮТЕР - включить компьютер - все по-прежнему работает. Перестает работать только в том случае, если сбросить питание УСТРОЙСТВА (если сбросить и включить обратно питание устройства, находясь при этом в Виндоус - всё работает).

 

Исходя из этого у меня вопрос - передает ли драйвер cyusb.sys какие-либо параметры в устройство ? (подчеркну еще раз, что сама передача данных идет исправно, просто сами байты становятся "левыми" - причем всегда одинаковыми, вне зависимости от тех данных, которые устройство должно передать). Такое впечатление, что где-то в какой-то регистр fx2 при сбросе питания вводится значение по умолчанию, при к-ом сами данные могут портиться. Какой (и так ли это) - выяснить не удалось.

 

TRM читал. Надеюсь на помощь

Share this post


Link to post
Share on other sites

Добрый. Наврятли драйвер что то куда то пишет, ищите разницу в апликациях под win и linux. Возможно в само устройство что то записывается(режим работы, регистры...), соответсвенно под окнами вы записываете а под линуксом нет, пока устройтво не перезагружено оно работает корректно. Удачи.

Share this post


Link to post
Share on other sites

А у вас точно драйвер не грузит прошивку в Cypress? Насколько помню у них основная фича была в том что он при старте из РОМ читает VID и PID, как драйвер видет эти VID и PID - заливает туда прошивку с другими VID и PID и делает ренумерацию => типо подключено новое устройство с уже залитой прошивкой.

Симптомы очень похожи.

Share this post


Link to post
Share on other sites
А у вас точно драйвер не грузит прошивку в Cypress? Насколько помню у них основная фича была в том что он при старте из РОМ читает VID и PID, как драйвер видет эти VID и PID - заливает туда прошивку с другими VID и PID и делает ренумерацию => типо подключено новое устройство с уже залитой прошивкой.

Симптомы очень похожи.

Прошивка устройства находится в самом устройстве и загружается по включению питания. А вот передает ли драйвер какой-то вариант прошивки свой - это уже неясно, исходный код драйвера закрыт. Особенностей приложений под Win и под linux нет, везде стандартные команды usb.

 

p.s. проект работы с линуксом был отложен, теперь вот вернулся к нему, проблема та же - потому и не писал долго

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this