IVTIVT 0 18 июля, 2012 Опубликовано 18 июля, 2012 · Жалоба Добрый все день! Имеется usb-устройство с cайпрессовским СY7C68013 . Поначалу работа с ним велась в Windows через драйвер cyusb.sys - всё работало, данные посредством FIFO передавались верные (устройство принимает данные и передает по usb в pc ). Затем встал вопрос об аналогичной работе в Линуксе. Была использована библиотека libusb. Что происходит в данный момент : если после включения устройства ,подключенного к компьютеру с Виндоус - перезагрузить компьютер и войти в Линукс - всё работает, данные принимаются в Линуксе правильные. Но стоит только сбросить питание устройства (вне зависимости от того, подключено ли оно шнуром к компьютеру) - как при включении питания обратно - данные принимаются абсолютно левые. Под данными я подразумеваю набор байт. То есть возникло подозрение, что драйвер cyusb.sys вносит какие-то инициализационные изменения , так как если включить Виндоус - все работает - перейти в Линукс - все работает - выключить КОМПЬЮТЕР - включить компьютер - все по-прежнему работает. Перестает работать только в том случае, если сбросить питание УСТРОЙСТВА (если сбросить и включить обратно питание устройства, находясь при этом в Виндоус - всё работает). Исходя из этого у меня вопрос - передает ли драйвер cyusb.sys какие-либо параметры в устройство ? (подчеркну еще раз, что сама передача данных идет исправно, просто сами байты становятся "левыми" - причем всегда одинаковыми, вне зависимости от тех данных, которые устройство должно передать). Такое впечатление, что где-то в какой-то регистр fx2 при сбросе питания вводится значение по умолчанию, при к-ом сами данные могут портиться. Какой (и так ли это) - выяснить не удалось. TRM читал. Надеюсь на помощь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
loginser 0 19 июля, 2012 Опубликовано 19 июля, 2012 · Жалоба Добрый. Наврятли драйвер что то куда то пишет, ищите разницу в апликациях под win и linux. Возможно в само устройство что то записывается(режим работы, регистры...), соответсвенно под окнами вы записываете а под линуксом нет, пока устройтво не перезагружено оно работает корректно. Удачи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sujan 0 21 октября, 2012 Опубликовано 21 октября, 2012 · Жалоба А у вас точно драйвер не грузит прошивку в Cypress? Насколько помню у них основная фича была в том что он при старте из РОМ читает VID и PID, как драйвер видет эти VID и PID - заливает туда прошивку с другими VID и PID и делает ренумерацию => типо подключено новое устройство с уже залитой прошивкой. Симптомы очень похожи. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IVTIVT 0 20 ноября, 2012 Опубликовано 20 ноября, 2012 · Жалоба А у вас точно драйвер не грузит прошивку в Cypress? Насколько помню у них основная фича была в том что он при старте из РОМ читает VID и PID, как драйвер видет эти VID и PID - заливает туда прошивку с другими VID и PID и делает ренумерацию => типо подключено новое устройство с уже залитой прошивкой. Симптомы очень похожи. Прошивка устройства находится в самом устройстве и загружается по включению питания. А вот передает ли драйвер какой-то вариант прошивки свой - это уже неясно, исходный код драйвера закрыт. Особенностей приложений под Win и под linux нет, везде стандартные команды usb. p.s. проект работы с линуксом был отложен, теперь вот вернулся к нему, проблема та же - потому и не писал долго Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться