Other Parts Discussed in Thread: EK-TM4C1294XL
I'm using LMFlash to perform an Ethernet firmware update on a custom board which uses the TM4C1294KCPDT microcontroller. This issue also affects our custom boards which use the LM3S9D96, as well as the evaluation board EK-TM4C1294XL. When I click Program in LMFlash, the status bar indicates "Attempting to connect..." and never progresses. This issue also affects the eflash utility (although I don't know if you can call it a bug in that case, since eflash has no option to select the local interface to use).
I have observed (using Wireshark) that when more than one network interface is present on the system, LMFlash may send the magic packet over an interface different to the one it was told to use. I would speculate that it uses whichever adapter enumerates first in a call to the Winsock function gethostbyname(), since this is what eflash does.
A workaround is available - by disabling all network adapters in the Windows control panel (except the interface we are using), LMFlash will send the magic packet to the correct interface.
I have also observed that by sending the magic packet myself (using scapy) whilst LMFlash is in the "Attempting to connect..." state, I can trigger the target to send the BOOTP request. Once this is done LMFlash sends a BOOTP reply and the rest of the firmware update process completes successfully.
We require a fix for this bug since it complicates our support requirements (less technically-minded people need to be able to operate the software reliably).