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.

[参考译文] TUSB4041I:如果通过 EEPROM 配置 TUSB4041I、则 Windows 10无法识别它

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/881861/tusb4041i-tusb4041i-is-not-recognised-by-windows-10-if-it-is-configured-by-eeprom

器件型号:TUSB4041I

尊敬的 TI 团队:

去年、我开发了一个 PCB 板、使用3个 TUSB4041I USB 集线器 IC 以及4端口 USB-UART 和 USB-I2C 转换器。 我在2019年1月25日(TUSB4041I EEPROM 编程工具)上询问了一些与我的项目相关的问题。 PCB 去年春天准备就绪、它在 Windows 7中运行良好、再次感谢强大的支持。  当我想将其用于 Windows 10时、我的问题就开始了。 我已经尝试过不同的 PC 硬件(Asus、Dell PP39L、Lenovo Y50-70 笔记本电脑、Intel NUC7i7BN 和一台带有 Asus P8H77M 主板的台式机)。  我发现他们 的行为非常不同。 如果我将 TUSB4041I 集线器 IC 连接到其 USB2.0端口、但如果我将其连接到 USB3.0端口、则台式机可以识别它。 戴尔也可以对其进行确认,但其他人根本不会对其进行确认。 所有提到的计算机都安装了64位版本的 Windows 10 Pro。 对我来说、这似乎是更新的计算机(及其 USB 驱动程序)、它在我的板上的行为就越糟糕。

Alexey Tyutin 于2019年7月12日向 TUSB4041I Windows 10主题发送了一条消息、他也上传了原理图。 他的问题与我的问题类似、他发现从他的电路板上移除电阻器、识别问题消失了。 查看其原理图、移除的电阻器是配置 EEPROM 时钟信号的上拉电阻器。 这意味着、没有高电平时钟信号且 TUSB4041I 将看不到 EEPROM、这意味着配置将是默认配置。  我的板也配置了 EEPROM、因为对于某些下行端口、我必须使用 USB DP-DM 极性更改功能、我也想使用一些 其他功能。 我也尝试了 Alexey 的想法,我的经验是一样的:在我尝试过的所有情况下,承认问题都消失了。

我认为、Windows 7的驱动程序是以正确的方式编写的、我发现该板也与 EEPROM 配置完美配合工作。 我怀疑窗口10驱动程序无法很好地处理 EEPROM 配置、因为我无法找到有关上述行为的任何逻辑解释。

请帮助我解决此问题。

提前感谢您。

此致、

Balazs Soregi

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

    您好、Balazs、

    我正在向您发送朋友请求、您能否通过直接消息向我发送您正在使用的 EEPROM 文件?  我想在我的实验中尝试它。

    此致、

    JMMN

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

    JMMN、您好!

    感谢您的回复、

    我们不使用 EEPROM、是否需要连接 EEPROM。

    此致、

    普拉雪利卡。

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

    Pravalilka、您好!

    TI USB 集线器不需要 EEPROM。

    此致、

    JMMN

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

    您好、Balazs、

    我能够复制您报告的行为、Windows 10似乎不喜欢字符串描述符、但对 USB 协议跟踪的检查显示它们已正确实施。  我正在尝试找到有关 Windows 平台上出现故障的原因的更多信息、但响应可能需要一些时间。

    此致、

    JMMN

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

    JMMN、您好!

    感谢您的回复、我正在等待最终结果。 马上取得成功!

    此致、

    Balazs Soregi

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

    您好、Balazs、

    看起来最新版本的 Windows 强制要求 USB 字符串描述符采用 Unicode UTF-8 UTF_16LE 格式。  您将需要将字符串更改为该格式、以使它们显示在设备管理器中。  如果您不需要在设备管理器中显示字符串、则可以快速解决问题、方法是将所有字符串长度更改为偶数值、这似乎可以解决测试中的问题。

    此致、

    JMMN

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

    JMMN、您好!

    我使用了一个文件(4041_f发 件人_TI.TXT)作为去年在接口论坛中找到的参考。 我修改了这个、以生成我的 EEPROM 文件。 很遗憾、我没有将其转换为 Unicode UTF_16LE 格式。 今天我做了这个、我把它们编程到第二块卡片上。  遗憾的是、结果是相同的:它可以在 Windows 7 (在我的台式计算机中)中工作、但不能在 Windows 10 (在英特尔 NUC7i7BN 中)中工作。 请在随附的文件中找到一些详细信息(在 NUC7i7BN 上制作)。 NUC 计算机根本无法识别 TUSB4041I 集线器、无论是默认配置还是 EEPROM 配置都无关紧要。 我在第一个帖子中提到的 Lenovo 笔记本电脑在默认配置下工作正常、但在 EEPROM 配置下产生的行为与 NUC 相同。 我们希望使用 NUC 电脑、因为它可以插入到 Eurocard 机架中、因此解决此问题非常重要。

    此致、

    Balazs Soregi

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

    您好、Balazs、

    我向您发送了我在实验室中测试过的更新文件、除了更改 Unicode 格式外、还需要确保字符串长度为偶数值。

    我不确定为什么在 NUC 系统上未加载集线器、您能否确认集线器是否仍处于编程模式?  您能否下载 usbview.exe 或 USB 设备树查看器并向我发送连接到 NUC 系统的集线器的屏幕截图?

    此致、

    JMMN

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

    JMMN、您好!

    更新后的文件也适用于英特尔 NUC7i7BN。 将字符串长度修改为偶数可以解决非常奇怪的问题。 非常感谢您的努力。

    此致、

    Balazs Soregi