ezSniffer - Hardware USB Packet Sniffer on a Budget - Page 1
Forum section: electronics / projects

author: TimCambridge
author_rank: Regular Contributor
timestamp: June 24, 2019, 10:22:25 am
content: I have cooked up a $79 USB Packet Sniffer that's an add-on for the FX2LP boards that you can get for a few dollars on ebay and similar sites. FX2LP boards are also sold as Ez-USB or CY7C68013A boards.You can get the marketing pitch atbugblat.com/products/ezsniff/, here is some technical info.How does it work? Essentially the ezSniffer is a special purpose logic analyzer. An on-board FPGA samples the USB signals, compresses the samples, and sends the compressed data to an analysis PC via the FX2LP's buffered high speed USB link. Software on the analysis computer decompresses the samples and puts up the pretty pictures.What can it sniff? Full Speed USB devices of course, but also High Speed devices. All High Speed USB devices start off at Full Speed, then negotiate a change up to High Speed. The ezSniffer prevents the change up.How deep is the buffer? For the compressed samples it is up to 4GB in theory, though we have not tested that deep, current software sets a 256MB limit. If your main concern is the configuration packets 16KB of compressed data is usually enough.There's lots more - disconnect/connect so that you can sniff the configuration packets, you can save the data and play with a python interface, you can even write protocol decoders in Lua....I'll do my best to answer any technical questions here.

author: magic
author_rank: Super Contributor
timestamp: June 24, 2019, 12:59:00 pm
content: What's wrong with sigrok? I've never used it for USB but it supposedly supports it and 24MHz sampling may just barely do it

author: NiHaoMike
author_rank: Super Contributor
timestamp: June 24, 2019, 05:47:31 pm
content: How does it compare to a Beaglebone Black?

author: TimCambridge
author_rank: Regular Contributor
timestamp: June 25, 2019, 01:43:08 am
content: Quote from: NiHaoMike on June 24, 2019, 05:47:31 pmAs I understand it, a solution with a BBB or any of the other similar systems works by programming the BBB to relay USB packets from a device port to a host port. On the ezSniffer the device/host connection is fixed hardware.Getting the BBB set up when you are struggling with a configuration problem is not for the faint hearted. Once any USB configuration issues are addressed the BBB comes much more into its own.

author: TimCambridge
author_rank: Regular Contributor
timestamp: June 25, 2019, 01:50:50 am
content: Quote from: magic on June 24, 2019, 12:59:00 pmSigrok can be an excellent solution if you can install the USB support and it works for you. The ezSniffer has a few advantages - easier setup, USB disconnect/connect for inspecting and debugging configuration packets, easier connection to the USB target, and supporting high speed devices.

author: bson
author_rank: Unknown
timestamp: June 25, 2019, 02:12:56 am
content: Quote from: TimCambridge on June 24, 2019, 10:22:25 amDoesn't this make it difficult to debug HS descriptor/profile problems? Or optimize HS transfer rates?Looks like a great tool when on a budget though. The software looks a bit like the LeCroy USB Analyzer, which is a good thing!One good feature of good USB analyzer software is the ability to point out descriptor problems.

author: TimCambridge
author_rank: Regular Contributor
timestamp: June 25, 2019, 09:16:02 am
content: Quote from: bson on June 25, 2019, 02:12:56 amDetailed HS debugging needs a full-on HS sniffer, typically these cost around 20 times the price of an ezSniffer. The ezSniffer is good for debugging the configuration packets whennothing worksand lets you see what is going on after configuration. However it supresses the HS change up so there are no HS events.Quote from: bson on June 25, 2019, 02:12:56 amDescriptor decodes are driven by Lua scripts. The default Lua code is supplied and it can be changed or updated at any time. We are planning on extending the API that the Lua code plugs into.

author: voltsandjolts
author_rank: Unknown
timestamp: June 25, 2019, 10:16:46 am
content: This is a proprietary product, right?Since this thread is basically advertising your product(s) it should be in the Buy/Sell/Wanted sub-forum.

author: Dubbie
author_rank: Unknown
timestamp: June 25, 2019, 10:23:30 am
content: I think if OP sticks around to answer questions in a technical and non greasy salesperson way, this is ok to have here. It’s sometimes good to hear about products that you don’t know much about, and who better to explain it than the guy who made it.

author: ebclr
author_rank: Super Contributor
timestamp: June 26, 2019, 06:55:35 am
content: Apart from Zadig use, I like it, maybe I will buy oneContinuing the advertising session your 1 GHz logic analyzer is also coolhttps://bugblat.com/products/bx8/index.html

author: NiHaoMike
author_rank: Super Contributor
timestamp: June 26, 2019, 02:12:19 pm
content: Quote from: TimCambridge on June 25, 2019, 09:16:02 amBeaglebone Black can do USB 2.0. Someone just needs to develop a ready to go firmware image just like what was done for its logic analysis capabilities.

author: TimCambridge
author_rank: Regular Contributor
timestamp: June 29, 2019, 10:53:44 pm
content: Here are a couple of technical/project definition things that might interest the forum:it was pretty easy to add a Python programming interface - there's a natural split between the GUI and the back end and Python or many other languages can access the back end if it's built as a DLL or SO. But almost nobody has been interested, we have had almost no comments. Just one data point and I still think it's so easy to do that other projects should go this way.it was time consuming to make the protocol decoders externally scriptable (via Lua in our case). There's a challenge to implement the functionality and another challenge to keep the overhead down. But like with Python scripting, the volume of comments isn't huge. Next time we would launch before adding the external interface and make it a future upgrade. Follow billg's advice and launch a "minimum viable product."

author: TimCambridge
author_rank: Regular Contributor
timestamp: June 29, 2019, 11:03:13 pm
content: Quote from: ebclr on June 26, 2019, 06:55:35 amHere's a warning: This design used a Lattice XO2 part - generate lots of clock phases with the spiffy PLL and manually route a multi-phase sampler. If you're thinking of doing really fast stuff in an XO2 you may need to fall back to manual routing and dear Lattice have removed some of the manual routing functionality from recent iterations of Diamond software. So make sure you have an installation of (old) Diamond 2.x. A xilinx solution may be an easier task.

author: mirage3
author_rank: Newbie
timestamp: October 31, 2019, 08:42:17 am
content: hi TimCambridgeI encounter some problem with ezsniffer. I manage to get the connection in ezsniffer software but unable to sniff the data.Please shed some light.

author: TimCambridge
author_rank: Regular Contributor
timestamp: October 31, 2019, 09:26:29 am
content: Quote from: mirage3 on October 31, 2019, 08:42:17 amMake sure that the USB cables are completely plugged in to the sockets. Contact support at bugblat if the problem persists.

author: mirage3
author_rank: Newbie
timestamp: November 05, 2019, 02:42:06 am
content: hi tim,the USB cable are completely plug in. So far i did not received any reply from 'support@bugblat.com'.

author: mirage3
author_rank: Newbie
timestamp: November 29, 2019, 07:12:03 am
content: Hi Tim,I have the minisniffer with me and it works as describe. Thanks.Wonder if this thing can always capture any incoming data in maximum buffer size without pressing the capture button.Thanks