On Mon, Nov 11, 2019 at 05:57:24PM -0500, Jeffrey Walton wrote:
On Mon, Nov 11, 2019 at 12:24 PM Greg KH <greg@kroah.com> wrote:
On Mon, Nov 11, 2019 at 11:40:51AM -0500, Jeffrey Walton wrote:
On Mon, Nov 11, 2019 at 11:31 AM Greg KH <greg@kroah.com> wrote:
On Mon, Nov 11, 2019 at 11:11:06AM -0500, Jeffrey Walton wrote:
Hi Everyone,
I'm having trouble with a C application that opens a USB modem. The application is not receiving some data from a USR modem. Conexant modems are OK.
I'm working through https://www.kernel.org/doc/Documentation/usb/usbmon.txt . I found the modem at Bus=01 Dev=24:
T: Bus=01 Lev=03 Prnt=07 Port=00 Cnt=01 Dev#= 24 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0baf ProdID=0303 Rev= 2.00 S: Manufacturer=U.S.Robotics S: Product=USB Modem
This is where my confusion lies. It is not clear to me how to determine which socket to use for step #3 in usbmon.txt. Step #3 says:
# cat /sys/kernel/debug/usb/usbmon/3u > /tmp/1.mon.out
How do I determine which socket to use for Bus=01 Dev=24?
From the above documentation, it says to use "3u" for all devices on the 3rd bus. You want the 1st bus, right? So did you try using "1u"?
I think wireshark can intrepret usbmon output, so maybe just use that instead and point it at the USB bus you want to watch?
Thanks Greg.
I want Bus 1, but I want Device 24 (not all devices).
That's not what usbmon will show. Look at wireshark and see if it can filter the output for just that one device.
There's also the old-style USB device snoop interface, that works on a per-device level.
Ack, thanks.
Would you happen to know the old-style program name? I am having trouble finding it.
It's the "usbfs_snoop" module parameter for the usb core. It only works on usbfs connections, sorry, not for anything that you already have a kernel driver bound for.
Here's why I want to specify a device number:
$ cat /sys/kernel/debug/usb/devices | grep -i -c 'Bus=01' 13
It is too much information for me to sift through. I'll do it if I have to, but I prefer the tools do the work for me (rather than me do the work of the tools).
That explains why you only want one device's data, but does not answer why you want that data at all :) thanks, greg k-h