Перейти к содержанию
    

EZ-USB FX2 в Linux

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...