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.

Linux/TUSB8044: enable test mode from downstream port

Part Number: TUSB8044
Other Parts Discussed in Thread: TUSB8041EVM, TUSB8041

Tool/software: Linux

Dear sir,

Our customer is using TUSB8044. And they want to know if TI USB HUB cab be enabled test mode from "downstream port"?? (USB2.0 and USB3.0)

Thank you very much.

  • HI CK,

    For USB 2.0, the defined USB test commands need to be sent from the USB host. There is no way to enter test modes through the downstream ports. Also, for USB 3.0 it is required for the USB host to enable compliance mode on a downstream port prior to testing.

    Regards,
    JMMN
  • Dear JMMN,

    Thanks for your feedback.

    The customer has TUSB8041EVM and TUSB8044EVM both.

    When they use TUSB8041EVM and plug in USB3.0 compliance test fixture, the TUSB8041 can self enter test mode and then auto output test pattern.

    But if they change to use TUSB8044EVM, the TUSB8044 cannot enter test mode aftering plugging in the same test fixture.

    What is the difference between TUSB8041 and TUSB8044??

    Why TUSB8041 is workable but TUSB8044 is unworkable in the same testing environment??

    By the way, the USB host is linux/arm based platform, so we don't know how to enable HUB compliance mode from the host.

  • HI CK,

    There were changes to the USB 3.0 specification between when the TUSB8041 was released and the TUSB8044 was released.  One of these changes was to only allow downstream ports to enter compliance mode when enabled by a command from the USB host.  This prevents the downstream ports from entering compliance mode during normal operation due to bad connected device behavior.  This command can be generated by the USB-IF XHSETT tools that run on Microsoft OS.  

    There are instructions available online on how to generate this command in Linux, but TI does not provide a Linux driver to support this.

    Regards,

    JMMN

  • Hi JMMN,

    We reference the link "https://e2e.ti.com/support/interface/f/138/p/596356/2195870#pi320995=3" and re-build a control command on our android OS and do the below command and we can test the USB-if eye diagram on USB2.0.

    control -t 0x23 -r 0x03 -v 0x0015 -i 0x0401 -l 0x00 -c 1 -D 0x0451:0x8142

    But there need more test on USB-IF certificate test, that are Test J, Test K, Test SE0. My question is what commands we can do it to finish "Test J, Test K, Test SE0" via control command ?

    Regards,

    Kevin

  • Hi Kevin,

    You can use Table 11-24 in the USB 2.0 spec to determine the correct test mode selector code.  Test_Packet is 04h, so you'd swap out the 04 in the command with whichever test selector code you need to use.

    https://usb.org/document-library/usb-20-specification

    Regards,

    JMMN