A widely used communication protocol these days is the USB. Despite its popularity, the protocol’s analysis and hacking tools are tight. Hence, the ones that are available are usually either costly or difficult to use. With their new offering, Great Scott Gadgets addresses this need. LUNA is a USB multi-purpose tool whose task is to analyze, hack, and build USB devices.
It’s a one-stop-shop for creating, checking, tracking, and playing with USB peripherals. LUNA’s digital hardware has a special FPGA-based architecture and configures to fit the application at hand. Hence, it acts as a high-speed USB protocol analyzer, a USB hacking multi-tool, or a USB development platform.
LUNA comes with all of the hardware needed to analyze USB protocols at low, full, or high speeds, making it comparable to expensive commercial USB analyzers like the TotalPhase Beagle 480 or the LeCroy Mercury series.
LUNA offers nMigen gateware, which enables you to build USB devices in gateware, firmware, or a combination of both. In high-level Python, you can use the FaceDancer library to build or imitate real USB devices.
Technical Specifications of USB Luna:
A Microchip SAMD11 debug controller enables users to configure the FPGA and offers a variety of diagnostic interfaces, including a user-programmable JTAG controller that can configure the FPGA and communicate with user designs via JTAG. There are three USB 3.0 high-speed interfaces, each with a USB3343 PHY, capable of 480 Mbps operation. Firstly, for device-mode communication, there are two USB Type-C connectors. Secondly, for host-mode communication, device-mode communication, or USB research, there is only one USB Type-C connector. And thirdly, for USB review, it provides one USB Type-A connector.
- For FPGA debug I/O, there’s a built-in USB-to-serial communications bridge.
- Additionally, the Luna has got an SPI-connected flash with 32 Mbit for FPGA setup without a PC.
- It connects a total of six user LEDs to the FPGA, and five status LEDs to the microcontroller.
- Two Pmod I/O connectors with 16 high-speed FPGA user IOs to help user FPGA applications and capture logic-level data during USB review.
A number of simple built-in debug mechanisms are available, including utilities for creating simple, PC-accessible register interfaces. One can control power to and from each of the right-side USB connectors with three USB power switches. It allows for regulated power cycling of USB-powered devices under study.
The open-source ViewSB analyzer frontend is a versatile, cross-platform tool for capturing, displaying, and analyzing USB data, and it is used by LUNA. It is open-source and extensible, hence can be incorporated it into your own custom research layer with just a single Python file. Therefore, ViewSB makes USB traffic more readable for humans when processing it at any degree of abstraction.
For more information regarding the board schematics, you can visit Crowd Supply.
Jennifer James is a graduate student in Computer Science Engineering who is passionate about front-end development. She is a content-writer inquisitive about technology. A rising enthusiast in search for optimum knowledge through learning and experiences of the everyday fast-growing Digital Industry through organizational exposure.