Pretend to be a USB device from Python.
- This is the twenty-fourth hardware revision of the GoodFET.
- This unit comes fully assembled.
The USB protocol requires that anything with USB declare itself as either a device or host. Hosts are computers and other "big" things. Devices are iPod, iPads, USB thumb drives, and other "small" accessory-like things. If you are familiar with USB OTG cables, then you probably understand a bit about this already. If you ever want a USB host to pretend to be a USB device, then you need special hardware. The FaceDancer is that hardware.
Unlike the general-purpose GoodFET boards, the only purpose of this board is to allow USB devices to be written in host-side Python, so that one workstation can fuzz-test the USB device drivers of another host. This board replaces the MAX3420E of earlier Facedancers with a MAX3421E, allowing for optional host mode through a USB A receptacle.
Hackaday wrote a post of this item a few years ago.