I have a product based on the Beaglebone Black board with the older TI Sitara processor.
I am using UBOOT and a custom Linux kernel / image on it.
I am using the USB RNDIS Ethernet method of PXEBOOTing the device when attached to a Debian based Linux desktop PC. This all works really well.
Because our test software is all written for Windows, we currently have to have 2 PCs in order to boot our devices and test them and then flash them.
We would like to get rid of the Linux PC and just do everything in windows.
I have tried several ways to do this and ran in to issues with each method.
Without going into all of those details what I currently have “working” is Windows 11 with a WSL Debian running. This is where the zImage NFS file server lives.
I have to issue netsh commands to port map all incoming requests for NFS to the WSL image.
I had to make a custom app that could “watch” for USB devices connecting and then bind the right ports to get the PXEBOOT and TFTP stuff working.
I am able to attach a device, respond to the BOOTP, DHCP and TFTP requests to download each of the UBOOT and zImage with device tree files.
Loading those files takes about 53 seconds every time. It is pretty consistent.
After the zImage boots, it tries to connect to the NFS server using the local USB RNDIS Ethernet connection.
Sometimes this takes about 30 seconds. Sometimes it takes 6 minutes.
I have no idea why sometimes it does that.
I would like to know if anyone has any ideas why this might be happening. Why would the connection from the device to the NFS server running in WSL vary so much in how long it takes?