coreboot EHCI debug gadget demonstration

Okay, so, you get the idea of what’s happening from the videos.  A brief outline of the procedure I followed is:

  1. Purchase Beaglebone Black with 5v power supply (you need the power supply because the target will not be able to power the BBB via it’s mini USB port when it’s switched off).
  2. Connect the board to be debugged via the BBB’s mini USB port note: only  one of the target’s USB ports will have debug capability so there may be some trial and error.
  3. Kernel and modules compiled as per the BeagleBone Black kernel instructions, except that I applied the patches from the EHCI Debug Gadget page, copied the kernel, dtb, and modules over gvfs/SSH (i.e. use the “connect to server” option in Nautilus to connect to the BBB, then type “mount” to glean the mounted directory for use with the “modules_install” cmd. It fails at the firmware stage because of speed/latency issues, but this is okay as the modules have already been copied at that stage).
  4. Ensure you have USB debug compiled into the coreboot firmware you a trying to debug, and DO NOT select “Beaglebone” (this is for the Beaglebone V1), leave it at “NET20DC or compatible”.
  5. Run depmod -a on the BBB.
  6. Remove any existing gadget drivers which are loaded using “rmmod -f” , or alternatively rename loaded gadget module files and reboot.
  7. modprobe g_dbgp
  8. Setup the tty
    stty -icrnl -inlcr -F /dev/ttyGS0
  9. Cat the tty. redirecting to file if required.
  10. Have fun looking at the blurb. :)