some weeks ago I found a very cool tui tool to sniff packets while working on a usb device: tshark
it is included with wireshark, and really I don't know why I didn't notice this tool before
for me it's very clean, and it's just a matter of correctly setting the filters to get what I want
for example, the following command will listen for the device 21 attached to the bus 3 (lsusb will show you needed info), getting IN and OUT data:
```
tshark -i usbmon3 -Y "usb.device_address == 21 && !(usb.urb_type == URB_SUBMIT && usb.endpoint_address.direction == IN) && !(usb.urb_type == URB_COMPLETE && usb.endpoint_address.direction == OUT)" -Tfields -e usb.endpoint_address -e usb.capdata
```
you will need to be sure that the usbmon module is loaded on your system, and that you are a member of the usbmon group
the attached image shows some of the captured data