Debugging BeagleBoard USB boot with a sniffer: fixing omap_loader on modern PCs
14 days ago
- #BeagleBoard
- #OMAP3530
- #USB_Boot
- The post discusses the author's experience with the original OMAP3530 BeagleBoard from 2008, focusing on USB boot functionality.
- The author encountered a UART bug, leading them to purchase a BeagleBoard for hardware verification.
- They explored USB booting on the OMAP3530, using tools like omap_loader and omap3_usbload, despite outdated documentation.
- USB booting issues were identified on modern computers with USB 3.0 ports, requiring artificial delays to work correctly.
- The author conducted USB packet analysis to troubleshoot and resolve issues, sharing findings on GitHub.
- A 1 ms delay fixed initial USB data transfer problems, while a 20 ms delay resolved issues with reading from X-Loader.
- Slower computers faced udev timing issues, solved by disabling udev in libusb.
- The author's fixes were submitted as a PR to omap_loader, aiding Nest thermostat projects due to shared OMAP processors.
- The post highlights how a random side project unexpectedly benefited others, particularly in reviving old Nest thermostats.