miniSniffer2 and miniSniffer2b USB Protocol Analyzers - Hardware Sniffing on a Budget
The miniSniffer2 Board
Plus Type-C Cable.
Shipping is $20.00 per order
$99.99
You can increase the number of units at the checkout.
The miniSniffer2 is a hardware packet capture and analysis tool for inspecting and debugging USB connections to Full Speed and High Speed devices. It brings together the best features of the previous generation of devices - the compact size of the miniSniffer and the huge buffer depth of the ezSniffer.
For the designer and the developer and the debugger, the miniSniffer2 reveals exactly what is happening on a USB connection by capturing and displaying the packets that go up and down the wires.
The miniSniffer2 is delivered with software for capturing and displaying USB traffic, plus these software interfaces:
- an API for custom applications to drive the USB packet capture hardware
- an API for user programmable USB packet decoders.
The miniSniffer2 is nifty and compact, around half the size of a credit card.
As you may know, components have been difficult to buy for the past few years. We had to slightly redesign the miniSniffer2, the result was the miniSniffer2b. The current production, open for orders, is back to the miniSniffer2.
Hardware
The red line is a USB link that we can inspect.
Insert the sniffer into the USB link.
Then attach an analysis/diagnostic computer and we are ready to go.
The miniSniffer2 can do all this:
-
disconnect and reconnect USB devices. This makes it straightforward to capture startup packets, including descriptors.
-
compresses capture data. It can capture up to 256MBytes of compressed data.
-
sniff USB Full-Speed (FS) device traffic at 12Mbit/s.
-
sniff USB High-Speed (HS) device traffic. 480Mbit/s High-Speed devices power up as FS devices and then attempt to move up to HS. The miniSniffer2 prevents HS devices moving from FS to HS, so the miniSniffer2 can sniff these devices as well.
Software
The miniSniffer2 app shows captured packet details as a series of labelled rows:
with accompanying decodes of USB Setup Transfers:
The packet capture dialog:
Programming and API
Programmable interfaces to the capture logic and the decode are standard.
-
the capture logic interface can be driven by a Python, Lua, or similar scripting language. It can also be driven by a C++ application. The github repo includes a Python example.
-
the decode logic interface drives the decode pane in the main display and is implemented in the Lua language. The github repo includes the scripts that are used for the defaullt display.
Requirements
Here are the connectors on the miniSniffer2 for USB links to the Target Host+Device and for the USB link to the Analysis computer.
On the Analysis PC
- the hardware requires a USB socket, either a USB socket on a PC or a socket on a USB Hub.
On the USB connection being sniffed
-
from the host to the miniSniffer2: an A to micro-B cable, the most common USB cable type.
-
from the miniSniffer2 to the target device: the miniSniffer2 has a standard type A socket, so you can use the target device's regular cable.
Downloads
Download the Windows software bundle from here:
Platform | Download |
---|---|
Windows 64-bit installer miniSniffer2 | ms2-1.09-win-64.exe |
Windows 64-bit installer miniSniffer2B | sniffer-1.11.3-win-64.exe |
Windows 32-bit installer miniSniffer2 | ms2-1.09-win-32.exe |
Windows 32-bit installer miniSniffer2B | sniffer-1.11.3-win-32.exe |
and run the downloaded bundle to install the software.
Install the Windows Driver
The miniSniffer2 software accesses the board via standard libusb drivers, WinUSB on Windows. Although no special drivers are required on Linux and Mac systems, a small amount of driver installation is required on Windows computers:
- download Zadig from https://zadig.akeo.ie/
- plug in your miniSniffer2 board.
- run the Zadig executable (no installation required).
- choose Cypress FX2LP from the device list. If Cypress FX2LP is not shown by Zadig, tick List All Devices in Options.
- make sure the WinUSB driver is selected.
- click Replace Driver.
You should now be ready to go, though you might have to unplug and replug on some systems. Optionally, ms2_find.exe will check that the driver has been installed and the miniSniffer2 can be found. ms2_find.exe is a console app that is installed as part of the download bundle.
Download the Linux software bundle from here:
Platform | Download |
---|---|
Linux (64-bit) miniSniffer2 | ms2-1.09-linux-64.run |
Linux (64-bit) miniSniffer2B | sniffer-1.11.3-linux-64.run |
The download bundle is a self-extracting shell archive, built with makeself. It should download with executable permission, but if necessary you can correct the permissions with:
chmod +x sniffer-1.11-linux-64.run
Run the download bundle via sudo. For instance:
sudo ./sniffer-1.11-linux-64.run
There is a built-in setup script that runs automatically and sets udev rules so that the miniSniffer2 can access USB without special priviledges:
cp ms2.rules /etc/udev/rules.d
or
cp sniffer.rules /etc/udev/rules.d
udevadm trigger
udevadm control --reload-rules
Optionally, you can check your system has libusb installed and that the udev rules have been updated by running ms2_find, a console app that is part of the download bundle.
Download the Mac software bundle from here:
Platform | Download |
---|---|
Mac OS X 10.?? or later | to follow |
This will be the usual Mac 64-bit dmg archive. But it isn't ready yet.
The github repo is here.
Environmental Specification
Parameter | Value |
---|---|
Operating Temperature | 5°C to 40°C |
Storage Temperature | -40°C to 75°C |
Size | 50mm x 32mm (2.0" x 1.3") |
Power Consumption | 0.15W. |
Power Source | Via USB cable. No external power supply |
Note
Please note that the miniSniffer2 is high-performance test equipment. It is designed for users who are familiar with electronic design and debugging, and familiar with the usual safety precautions when working with electronic equipment.