The real problem is when you have to *snif* a USB device that uses mixed USB-methods[]={ hid-only, bulk, isochronous, ...}.
I'm trying to reverse engineering a damn video capture USB-v2 "hi-speed" device, and it sends different packets on different endpoints with different methods, mainly bulk but also isochronous ... making the data-logging for late analysis a bloody hell.
Worse still, the USB-device only works with Windows, so ... you need a Windows USB-sniffer to log, and late a Linux machine to reproduce commands and sets
