This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

  • Resolved

Linux/AM5728: USB2 test patterns through Hub

Part Number: AM5728

Tool/software: Linux

Hi all. This could be user error, meaning I just need to write to a couple of registers, or it could be something wrong with my design. I'll paste a screenshot of the schematic below.

Basics: I connected USB2 to a TUSB4041, which drives three USB mini-B jacks. Non-standard, I know, but the system has space constraints. It basically works - we can connect thumb drives to the jacks, transfer data, etc. I want to do some testing to check the eye diagram, jitter, etc. At the test facility, we couldn't get the test patterns to appear at the jacks. I can get the 5728 USB port into test mode using the debugger as directed here:'s_Guide#USB_2.0_Test_Modes. When queried, the processor then reports it's in the mode commanded. However, we don't see the test patterns at any of the jacks. Do we need to do something to tell the processor to route the test pattern to a particular 4041 output?

If I recall correctly, the 5728 did not detect that the test fixture was plugged into a jack. I feel like that's part of the problem, but I don't know why we can detect a thumb drive but not detect the tester. Thoughts?

This might need to be referred to USB experts.


Many thanks!


  • Hi,

    The USB experts have been notified. They will respond here.


    Best Regards
  • This is a function of the hub. Moving this to the support group for TUSB4041.
  • Hello,
    I would like to see the complete schematic, but anyway, since the USB devices works fine behind the hub I don't think there is a hardware issue.

    I think what is happening is that the test packet is being sent downstream the Processor's port but not downstream the TUSB4041, you have to make the TUSB4041 to send the test packets downstream.
    There is a windows tool provided by the USB-IF to do that, you can download it from here

    There is also a document talking about how to do it in linux here

  • In reply to Elias Villegas M.:

    Thanks for you reply, Elias.
    The TUSB4041 connects to an AM5728 - no Windows involved.
    The Linux link looks promising, but appears to be sending its own test patterns, not putting the 4041 into test modes. Or am I missing something?
  • In reply to Michael Doyle:

    I've never used the linux version, I recommend you to send en email to and they can point you in the right direction.
  • In reply to Elias Villegas M.:

    I emailed them, thanks. Didn't somebody in TI apps have to go through something similar to bring up the TUSB4041 eval board?
  • In reply to Michael Doyle:

    We always use the USB-IF tools for windows as those are the tools used in the certification workshops, I've found more information here
  • In reply to Elias Villegas M.:

    The pdf describing the test method clicked for me. I've emailed the test house I'm using to see if they were using the PID VID method (I'm thinking some specialty scopes should have this built in by now, or built into the scopes' accessories). If they were, then I need to know why enumeration failed. If they weren't, then maybe we can try that.

    Would the TUSB4041 be responding with test patterns, or would the host be doing the responding?

    I'll return to this thread when I get some answers from the test house.

    Thanks! MADman

  • In reply to Michael Doyle:

    There are two ways to get test packets from the downstream ports of the hub:

    Force the hub to pass through a test packet generated by the host using a USB Test_Force_Enable command.  Please be aware that this test packet may not pass USB HS SQ eye diagram testing.  The signal quality mask is expecting a test packet that is being generated by the port the test hardware is attached to, not a repeated test packet.

    Force the hub to generate a test packet on a downstream port using USB Test_Packet command for that specific port.

  • In reply to JMMN:

    Hi all

    The PID VID approach didn't work. The driver recognizes that the test fixture is plugged in, and enumerates correctly, but still no test patterns.

    So, JMMN, can you provide a little more detail as to how I would deliver Test_Force_Enable or Test_Packet commands to the hub? I'm working with a Linux command line on a UART debugger.

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.