Если перевести принудительно в fullspeed, всегда работает нормально?
Хе... а на фулспидевсе те же проблемы и без хаба. Опрзнается но не передает.
С фулспидом проще - можно тупо на шину встать лог. анализатором. Ну и отладку usb в устройстве (разбор пакетов по кт0) бы включить неплохо. Wireshark что показывает? Сейчас в него usbpcap включили "из коробки", обновите версию, если старая. Может драйвера в системе ещё чудят...
Странно то что до переделки на усб стек от st ренессанс нормально работал у меня и на hs и на fs. Сейчас стало надёжнее, но с проблемами в хабе.
После перехода обмена по изохронным ендпоинтам с DMA на программный обмен устройство стало работать через любые каналы хаба и на FS и на HS.
Так что проблема (места поиска) сильно сократились.
Так что ST придумали неплохую структуру стека, работает (работало и раньше, теперь low-level от Renesas встроился нормально).
Выравнивание буферов на 4?
1) и так везде на 32
2) а без хабов работает.
Думаю было недоделано у меня обработка ошибок в потоковых ендпоинтах.
Их там быть не может. А вот на высокой скорости начинаются заморочки с фильтром чётности на STM32, будь он неладен (там логика другая из-за наличия микрофреймов)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)