Hasty Briefsbeta

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.