Issues with USB hub IC

AndyJ

Member
Hi! I'm working on a board with a Teensy 4.1. I have a USB hub IC hooked up to two USB ports on a custom board. The IC is a USB2412.

I'm having some trouble reading devices, and I'm trying to figure out if it's my fault or something in the USB host stack. Using the HIDDeviceInfo program (with some of the rawhexbytes dumps commented out for readability) I get this:

Code:
*** Device Hub1 424:2412 - connected ***

USBDeviceInfo claim this=2000CE38
****************************************
** Device Level **

  vid=901

  pid=4

  bDeviceClass = 1

  bDeviceSubClass = 1

  bDeviceProtocol = 0

USBDeviceInfo claim this=2000CE38
****************************************
** Device Level **

  vid=901

  pid=4

  bDeviceClass = 1

  bDeviceSubClass = 1

  bDeviceProtocol = 0

This is weird because these are two totally different devices, yet are reporting the same info. One is a USB 2.0 board and one is just a USB thumb drive.
If I disconnect one of the devices, I only see one, and if I disconnect both I see neither. So the Teensy is seeing that there are devices plugged into the hub...it just can't seem to get specifics from it.


Any thoughts would be helpful!
 
Bumping this. I'm willing to redesign with another hub IC, but is there anything specific the Teensy requires that I should be looking out for?

Can someone using a Teensy with a hub post some example code/output so I can compare?
 
Last edited:
Can't tell for sure if this is what you are asking for, but <this> post describes how I have my TeensyMIDIPolySynth sketch setup to allow me to connect a USB hub to the USBhost interface on the T4.1.

Hope this helps . . .

Mark J Culross
KD5RXT
 
I don't see anything wrong with the log you've posted. The hub is identified at the top:
Code:
*** Device Hub1 424:2412 - connected ***
and then the drive is enumerated (twice: once at the device level and then at the interface level) but nothing claims it because the HIDDeviceInfo sketch doesn't handle mass storage devices.
 
I don't see anything wrong with the log you've posted. The hub is identified at the top:
Code:
*** Device Hub1 424:2412 - connected ***
and then the drive is enumerated (twice: once at the device level and then at the interface level) but nothing claims it because the HIDDeviceInfo sketch doesn't handle mass storage devices.
In this case, this is is two different devices plugged into the hub. One is a raw USB HID device, and another is a USB thumbdrive (just for testing.) If I remove one of the devices, I only get one of those messages. So it seems like one device, but it's not (and both messages seem like device messages, rather than interface messages.)

Can't tell for sure if this is what you are asking for, but <this> post describes how I have my TeensyMIDIPolySynth sketch setup to allow me to connect a USB hub to the USBhost interface on the T4.1.

Hope this helps . . .

Mark J Culross
KD5RXT
I appreciate this, I'm just still struggling with how to read any data.
 
Last edited:
I decided to just solder a USB A connector onto the USB Host headers of the Teensy, uploaded a blank sketch and plugged it into the PC.

Windows reports a "cannot get device descriptor" when I plugged something in, which actually tracks with what I was seeing on the Teensy. So must be a board issue on my end.

Another revision!
 
Any chance you could try those 2 devices with a consumer USB hub connected to the host port on a Teensy 4.1? Maybe try with and without external power to the ordinary hub? Do you get the same results as seen with the DIY hub?
 
Hi, little update to this. I redesigned the board with a new IC (TUSB2036VFR) and am actually seeing exactly the same thing on the Teensy side, it sees the hub but no descriptors or devices.

I ordered a USB host cable and will try with a real hub when it arrives, but without testing a whole bunch of hubs I wont really know if it's a fluke or a bug.
 

Attachments

  • Screenshot 2024-03-02 162735.png
    Screenshot 2024-03-02 162735.png
    70.4 KB · Views: 9
Back
Top