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.

[参考译文] TM4C1294KCPDT:LMFlash 以太网更新错误-在错误的接口上发送魔术包

Guru**** 2469120 points
Other Parts Discussed in Thread: TM4C1294KCPDT, EK-TM4C1294XL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/675608/tm4c1294kcpdt-lmflash-ethernet-update-bug---magic-packet-sent-on-wrong-interface

器件型号:TM4C1294KCPDT
Thread 中讨论的其他器件: EK-TM4C1294XL

我使用 LMFlash 在使用 TM4C1294KCPDT 微控制器的定制板上执行以太网固件更新。 此问题也会影响我们使用 LM3S9D96的定制板以及评估板 EK-TM4C1294XL。 当我在 LMFlash 中单击"Program"时、状态栏会显示"Attempting to connect..." 并且永不向前。 此问题也会影响 eFLASH 实用程序(虽然我不知道您是否可以在这种情况下将其称为错误、因为 eFLASH 没有选择要使用的本地接口的选项)。

我观察到(使用 Wireshark)当系统上存在多个网络接口时、LMFlash 可能会通过一个与被告知使用的接口不同的接口发送魔术包。 我推测它使用的是在对 Winsock 函数 gethostbyname()的调用中首先枚举的任何适配器,因为这就是 eflash 的作用。

有一种变通办法-通过禁用 Windows 控制面板中的所有网络适配器(我们使用的接口除外)、LMFlash 将向正确的接口发送魔术包。

我还观察到、通过自己发送魔术包(使用 scapy)、同时 LMFlash 处于"尝试连接..." 状态,我可以触发目标发送 BOOTP 请求。 完成此操作后、LMFlash 将发送 BOOTP 应答、其余的固件更新过程将成功完成。

我们需要修复此错误、因为它会使我们的支持要求复杂化(技术意识较弱的人需要能够可靠地运行软件)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Bryce、
    感谢您提请我们注意此问题。 遗憾的是、近期内没有更新 LM 闪存编程器的计划。 您禁用其余网络接口的变通办法将很好地提示将来面临相同问题的其他社区成员。 感谢您的建议。

    我假设两个网络接口都连接到具有相同子网的同一 LAN。 是这样吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Charles、

    网络接口位于不同的 LAN 上。

    您是否能够确认我们对问题的诊断是否正确? 我们只能在不访问 LMFlash 源代码的情况下进行推测。 如果您能为下次计划的更新提供某种时间安排、我也很感谢。

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

    我认为您的诊断是正确的。 我认为问题是由于不同 LAN 上的网络接口造成的。 遗憾的是、正如我之前提到的、没有更新 LM 闪存编程器的计划。 但是、您可能需要查看具有源代码的 eflash.exe (以太网闪存下载程序)。 源代码位于下 /tools/eflash.