I would like to find out the amount of bandwidth my USB webcam occupies while I'm using it. I would prefer a command line solution.
I think this can be done with wireshark.
When it is plug a USB device, in syslog it appear a message like
With this information, we know the device was plugged in bus 2 with device number 8.
The fire up wireshark
It will appear a list of devices... choose the one with same bus id you plug the device, in this case, "USB bus number 2" and start the capture.
In menu, choose "Statistics" then "IO Graphs".
Then in the graphs options, you can create a filter with just de device you want.
In "X Axis" and "Y Axis" ajust the values to have a graphic with 'normal' values, for example Tick Interval: 1 sec, Unit: Bits/tick, and with that the graphic should be in Bits/sec.
I've wrote a pair of shell scripts to get the throughput from a USB device. If someone what to use it, you can find it in this post.