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.

[参考译文] TUSB8042A:当我禁用任何 USB 端口时、TUSB8042A 无法识别 USB 3.0器件。

Guru**** 1794070 points
Other Parts Discussed in Thread: TUSB8042A, TUSB8044AEVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1425718/tusb8042a-tusb8042a-cannot-recognize-the-usb-3-0-device-when-i-disable-anyone-usb-ports

器件型号:TUSB8042A
主题中讨论的其他器件: TUSB8044AEVM

工具与软件:

大家好、我是 William、

我们的设计使用 SMBus 模式。 (主机为 BMC、从机为 TUSB8042A)
 我使用此命令从 BMC 禁用 USB 端口3。
 以下是我的命令。

i2cset -f -y 19 0x44 0x07 0x8F。
i2cset -f -y 19 0x44 0x08 0x0B (禁用端口3 USB)

端口3成功禁用。
 但端口1和端口2只能识别 USB 2.0设备无法识别 USB 3.0设备。
 我知道只有端口3应该不可用;其他 USB 端口(2.0和3.0)应该工作正常。
 您可以帮助检查此问题吗?

谢谢。

下图是插入 USB 3.0设备、但看起来所有 USB 端口都无法链接 OS USB 树工具上的 USB 3.0。

下图是插入 USB 2.0设备、看起来所有端口都可以链接 OS USB 树工具上的 USB 2.0设备。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     William、您好:

       寄存器26h 的值是多少?

    好的

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brian。

    上面的图片寄存器26h 显示为0x01。

    但这是我使用命令写入寄存器26h 0x01以进行调试。

    原始值为0x00。 (支持 USB 2.0和3.0)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在写入 SMBUS 后、是否清除寄存器 F8h 中的 cfgActive?

    好的

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brian、您好!

    我写入寄存器以禁用端口3。  

    我未清除寄存器 F8h 中的 cfgActive。

    如果我清除 cfgActive、端口3 将恢复正常、而不是禁用。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果 cfgActive 未被清除、将不会连接上行端口。

    但是不知道为什么 如果您清除 cfgActive、端口3 将恢复正常。  让我检查我们的实验、并告诉您。

    好的

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brian、您好!
    我在这里解释一下我的实验结果。

    BMC 控制台写入下面的命令

    i2cset -f -y 19 0x44 0xf8 0x01      (清除 cfgActive 让上游连接。 此时,下游 USB 端口1 2 3都可以连接 USB 设备2.0和3.0。


    i2cset -f -y 19 0x44 0x07 0x8F      i2cset -f -y 19 0x44 0x08 0x0B   (禁用 USB 端口3)
    禁用 USB 端口3后。 USB 端口1和端口2无法链接 USB 3.0设备、但可以链接 USB 2.0设备。
    检查寄存器26h 是否为0x00。      (两者都可以支持2.0和3.0)


    i2cset -f -y 19 0x44 0xf8 0x02
    i2cset -f -y 19 0x44 0xf8 0x01
    (所有 USB 端口均正常工作、两个端口均可连接 USB 2.0和3.0设备)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    上述测试是在 Windows 操作系统上执行的。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    不要重置:i2cset -f -y 19 0x44 0xf8 0x02

    好的

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    该命令(i2cset -f -y 19 0x44 0xf8 0x02)。    i2cset -f -y 19 0x44 0xf8 0x01  )仅恢复我的所有 USB 端口正常,但它仍然不能解释为什么禁用 USB 端口3 、USB 端口1和端口2 USB 3.0闪存驱动器无法识别。

    您可以帮助您尝试一下您的系统或 EVB 板、看看是否存在同样的问题?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的意思是   、i2cset -f -y 19 0x44 0xf8 0x01只在 更改07h 和08h 后执行。

    切勿复位。

    好的

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brian、您好!

    以下是我的命令。  

    它仍然无法识别 USB 3.0设备、但可以识别端口1和端口2上的 USB 2.0设备。

    i2cset -f -y 19 0x44 0x07 0x8F

    i2cset -f -y 19 0x44 0x08 0x0B

    i2cset -f -y 19 0x44 0xf8 0x01

    当我禁用端口3、然后将 USB 3闪存驱动器插入端口1和端口2时、USB 树工具会出现问题。

    我无法  识别 USB 3.0闪存驱动器、但 USB 2.0可以使用。

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brian、您好!

    我使用您的 TUSB8044AEVM 板时遇到同样的问题。

    请帮助检查。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、我将在我的 EVM 上检查。

    好的

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    1:将 SW1的开关2、3、4 (红色)更改为 HIGH (高)并打开电源(蓝色)、您看到任何下游端口没有 LED 亮起

    USB 树中没有集线器、因为它 仍处于 SMBus 编程模式

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    2;写入 F8h=01、这将退出 SMBus 模式。您将看到下行端口的所有 LED 都亮起

    您可以看到 USB2集线器下有4个端口、USB3集线器下有4个端口

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    3:关闭 EVM 电源并打开、再次进入 SMBus 编程模式、所有 LED 现在均熄灭。

    4:写入07h=8F、08h=0B、26h=00、F8h=01

    5:您可以看到端口3的 LED 已关闭。

    6:您可以在 USB2集线器下看到3个 USB2端口、在 USB3集线器下看到3个 USB3端口。 端口4似乎成为了端口3

    好的

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brian、您好!
    感谢您的支持。
    我们的系统可以使用。
    当集线器连接了一个上行端口(cfgactive 已清除)时、你不能直接禁用或启用任何下行端口、否则会出现问题。
    启用或禁用 USB 端口的更改只能在集线器未连接到上行端口时生效(cfgActive 未清除)。
    这是我的理解。 如果有任何错误、请更正我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brian、您好!

    我想再次确认、是否可以在上行连接期间直接启用或禁用 USB 端口3下行端口?

    或者、我是否必须先断开集线器上行连接、然后才能启用或禁用端口3?

    例如、如果下行端口2当前正在通过 USB 驱动器传输数据、并且我想禁用端口3、我是否必须先断开上行端口、然后再禁用端口3? 这将导致主动传输数据的端口2停止工作。

    这是集线器的预期行为吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

     您需要 先断开集线器上行连接、然后才能启用或禁用端口3。

      要  通过 SMBUSz 断开集线器上游的连接、您可以在上电复位期间执行该操作、或仅切换 GRSTz 信号(需要控制 GRST 信号)。

    好的

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brian、您好!
    下面有两个问题
    1.您能解释为什么我们需要断开集线器上游来配置停用吗?
    2. F1~F7和 F9似乎有值变化(规格中未提及)。 我能不能知道这些寄存器的含义、或者如何设置它们?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. 您能解释一下为什么我们需要断开集线器上游以配置禁用[/QUOT]

    集线器将  根据 SMBUSz 状态在上电复位期间检查它是 SMBUSz 模式还是 I2C 模式。

    如果处于 SMBus 模式(SMBUSZ 为低电平)、 在  cfgActive 位清零之前、集线器上行端口将不会连接到主机。

    F1~F7和 F9似乎有值变化(规格中未提及)。 我能知道这些寄存器的含义或者如何设置它们吗?[/QUOT]

    这 是 F0-F9寄存器信息。

    好的

    Brian

    [/quote]
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Brian、您好!

    1.你似乎没有回答我的问题。 我想问为什么在连接上行后不能直接禁用端口3。

      芯片本身有没有具体的特点呢?

    2、你能分享给我参考吗?

      我们可以将 F1的值设置为 F7和 F9吗?  我试过,但似乎我不能设置它们。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    关于问题1  
    我的问题是关于芯片的寄存器、它允许对每个端口进行独立控制。 但是、为什么在启用或禁用 USB 端口之前需要复位? 这种行为似乎不寻常。 如前所述、如果用户通过端口 A 传输大数据并尝试在传输期间禁用端口 B、则会导致端口 A 断开连接。 这不是预期的行为。 这是已知问题还是硬件限制? 如果这是硬件限制、您能提供更详细的解释吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    对于 Q1:

      对于 TI HUB、只能  在上电复位期间通过 EEPROM 或 SMBus 编程模式更改端口控制等配置。

       在上行连接期间、您无法在实时状态上更改配置、这是 TI 集线器的设计方式。

    对于问题2: 对于文档、我如何发送给您、我不能只是在这里上传。

      您有用户名吗?

    好的

    Brian

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Brian。

    谢谢你。 请将文档发送到我的邮箱。

    电子邮件:wchen31@lenovo.com

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Brian。  
    抱歉、 我 还有一个问题。
    我们的系统使用您的集线器的三个下行端口。 端口1用于内部 USB、而端口2和3使用可选电缆。 我想知道连接此电缆时、集线器的寄存器是否具有可确认是否连接了下行端口2和3的值? 此功能类似于电缆检测功能。 我不确定集线器寄存器是否可以提供此信息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    William、您好:

      TI 集线器不支持电缆检测、因此没有用于电缆检测的寄存器。

      我将在此处通过私人消息发送 F1-F9信息。

    好的

    Brian