Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Никто не сталкивался с таким поведением USB
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > RS232/LPT/USB/PCMCIA/FireWire
vitus_strom
Столкнулся с таким поведением при попытке пустить стрим данных на усб спустя какое то время происходит сваливание его из состояния D0 в WdfPowerDeviceD3Final,
судя по всему происходит редистрибьютинг системных ресурсов пнп менжером - но полной уверенности нет
Может кто то встречался с чем то похожим и посоветует в какую сторону копать?
Буду признателен любому совету!
krux
а хабы по пути есть?
vitus_strom
нет
дополнение усб3.0, устройство свое
aaarrr
FX3 и хост от Интел?
vitus_strom
хост ренесас
хотя это карта к ноуту - что там внутри не знаю

-----------------------------------------------
Дополнение
ренесас сидит на ICH9 от интела
aaarrr
Было такое на интелах. Лечилось возвратом false в LPMRequestCallback.
vitus_strom
А поподробнее можно, пожалуйста
aaarrr
При инициализации FX3 регистрируем callback:
Код
int usb_ini(void)
{
    ...
    /* Register a callback to handle LPM requests from the USB 3.0 host. */
    CyU3PUsbRegisterLPMRequestCallback(usb_lpm_req_callback);
    ...
}

В самом callback'е отклоняем запрос на смену режима:
Код
CyBool_t usb_lpm_req_callback(CyU3PUsbLinkPowerMode link_mode)
{
    return CyFalse;
}

Тут еще можно добавить условие, когда отклонять, а когда не надо.
vitus_strom
Спасибо попробуем потом отчитаюсь помогло или нет sm.gif
vitus_strom
Не помогло sad.gif
Вот лог от драйвера:
//сначала последние нормальное чтение
USBVision Driver: Start EvtIoDeviceControl
USBVision Driver: IOCTL CODE WITHING RANGE: IOCTL CODE :18
USBVision Driver: Start CyIoctlHandler_BulkIntIsoDirectTransfer
USBVision Driver: Endpoint structure address is:0x7aac5230
USBVision Driver: Endpoint:0x83 found
USBVision Driver: USB pipe handle is: 0x7aac5230
USBVision Driver: Number of SubRequest:0 LastRequestSize:4000,BufferSize:4000
USBVision Driver: USB pipe handle from WdfUsbTargetPipeWdmGetPipeHandle is: 0x851ff0b4
USBVision Driver: End CyIoctlHandler_BulkIntIsoDirectTransfer
USBVision Driver: End EvtIoDeviceControl
USBVision Driver: Start EvtBulkRWCompletionRoutine
USBVision Driver: Number of bytes read: 16384
USBVision Driver: End EvtBulkRWCompletionRoutine


//блок на котором отваливаемся
USBVision Driver: Start EvtIoDeviceControl
USBVision Driver: IOCTL CODE WITHING RANGE: IOCTL CODE :18
USBVision Driver: Start CyIoctlHandler_BulkIntIsoDirectTransfer
USBVision Driver: Endpoint structure address is:0x7aac5230
USBVision Driver: Endpoint:0x83 found
USBVision Driver: USB pipe handle is: 0x7aac5230
USBVision Driver: Number of SubRequest:0 LastRequestSize:4000,BufferSize:4000
USBVision Driver: USB pipe handle from WdfUsbTargetPipeWdmGetPipeHandle is: 0x851ff0b4
USBVision Driver: End CyIoctlHandler_BulkIntIsoDirectTransfer
USBVision Driver: End EvtIoDeviceControl
USBVision Driver: Start EvtBulkRWCompletionRoutine
USBVision Driver: ReadWrite failed - request status 0xc000009d UsbdStatus 0xc0000011 <<< NTStatus - device not connected, UsbdStatus-Transacti Err
USBVision Driver: End EvtBulkRWCompletionRoutine
USBVision Driver: Start EvtDeviceD0Exit TargetPowerState WdfPowerDeviceD3Final
USBVision Driver: End EvtDeviceD0Exit


Не понятно почему отваливается....
vitus_strom
Вот еще инфо... когда подключил свей устройство вместо EZ-USB FX3 оно работает нормально, все остальное тоже самое (включая прогрмму и комп)...
aaarrr
Может, банально контакт пропадает?
vitus_strom
Причем контакт вероятность пропадания контакта тем больше чем больше размер буффера на хосте... так как то...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.