Comments (6)
A little bit of background. The problem came to my notice in Olimex's reason for creating a USB hub board where they gave some detail, including:
Unfortunately, in most cases, these cheap USB hubs, like the one we have on the web and many others, simply refuse to work. Out of the 10 USB hubs I bought to test, only 2 were functional.
from tinyusb.
With the hub plugged into a Pi, please post the output of sudo lsusb -v
. Also busting it open and getting the controller IC part number would be useful.
from tinyusb.
Here's a log after connecting the hub.
Bus 001 Device 002: ID 214b:7250
after-hub-plug.log
from tinyusb.
It appears the hub is very flaky when talking to low-speed devices if operating in full-speed mode. I attach a Teledyne Lecroy analyser trace showing multiple errors - it appears the host hardware eventually gets upset. My suggestion would be to ensure consistency of the expected packet data toggle in the case of smashed ACKs.
pico host usb hid probe.zip
from tinyusb.
Thanks @P33M, so the Pico host eventually gets upset. Did you try traces with other hosts, as Matthew tried a Pi5 and Linux laptop, and they also suffered the hub's flakiness but coped better?
from tinyusb.
Every single other host will use the hub in high-speed mode, which fundamentally changes the signalling involved - communication with the low-speed device is handed off to the hub's transaction translator. See the USB 2.0 spec section 11.14.1.1.
from tinyusb.
Related Issues (20)
- webserver NCM mode can't work HOT 18
- USB Bus Reset when running the CDC_MSC example (only CDC is enabled) on STM32U585OIYxQ custom board HOT 6
- LPC55S28 error for High Speed (PORT 1) not working for specific HID examples HOT 2
- Is it possible to provide an `ncm_open`, `ncm_close` API interface to control the connection and disconnection of USB? HOT 2
- USB Host: No set address recovery interval HOT 3
- Can Add support portable stm32h7 in src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c HOT 1
- tuh_edpt_abort_xfer should call user callback
- Vendor support outdated? HOT 1
- Add hook to allow for external host class drivers HOT 2
- OHCI: MMIO coherency/sync issue
- audio.h: error: ISO C restricts enumerator values to range of 'int' before C23 [-Werror=pedantic] HOT 4
- tud_task() hangs when there are no more messages in the buffer due to the timeout_ms value is set to UINT32_MAX. It should be 0, right? HOT 4
- Renesas RZ/T Support
- Consider adding preprocessor switch to disable automatic rp2040 binary declarations
- tud_umount_cb not called on Raspberry Pi Pico W HOT 1
- It can't work on STM32G0B1CBT6 with FreeRTOS. Please help. HOT 2
- Thoughts about increasing CDC transfer speed.
- Stack overflow with the new NCM driver HOT 12
- USBTMC for the host
- FREERTOS thread create in different order cause memory leak. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tinyusb.