USB stack getting confused
O'Connor, Daniel
darius at dons.net.au
Mon Mar 11 04:31:08 UTC 2019
> On 11 Mar 2019, at 14:27, O'Connor, Daniel <darius at dons.net.au> wrote:
> I can dig into the kernel part if you want but will need some guidance where to look..
Note that I put a dtrace probe on ugen_open and usb_fifo_open and it does not fire for 0.5, eg..
[maarsytest 4:28] ~> sudo dtrace -s ~/usb_fifo.d 2324
Password:
dtrace: script '/home/radar/usb_fifo.d' matched 4 probes
CPU ID FUNCTION:NAME
2 65418 openat:entry Open: /home/radar/ud3/run/experiment.stemp
0 65418 openat:entry Open: /local0/Measurements/Phasetest/20190311-0428.noise
2 65418 openat:entry Open: /home/radar/ud3/lib/acquisition//integrate.plugin
3 65418 openat:entry Open: /dev/ugsio0.ud
3 12030 usb_fifo_open:entry Ugen: ugen0.2 f_open: ffffffff822946a0
3 12031 usb_fifo_open:return Return: 0 Errno: 9
3 65418 openat:entry Open: /dev/ussio0.ud
0 65418 openat:entry Open: /dev/usbctl
0 65418 openat:entry Open: /dev/ugen0.1
0 12030 usb_fifo_open:entry Ugen: ugen0.1 f_open: ffffffff8093fd00
0 12102 ugen_open:return Return: 0 Errno: 0
0 12031 usb_fifo_open:return Return: 0 Errno: 0
0 12030 usb_fifo_open:entry Ugen: ugen0.1 f_open: ffffffff8093fd00
0 12102 ugen_open:return Return: 0 Errno: 0
0 12031 usb_fifo_open:return Return: 0 Errno: 0
3 65418 openat:entry Open: /dev/ugen0.2
3 12030 usb_fifo_open:entry Ugen: ugen0.2 f_open: ffffffff8093fd00
3 12102 ugen_open:return Return: 0 Errno: 0
3 12031 usb_fifo_open:return Return: 0 Errno: 0
3 12030 usb_fifo_open:entry Ugen: ugen0.2 f_open: ffffffff8093fd00
3 12102 ugen_open:return Return: 0 Errno: 0
3 12031 usb_fifo_open:return Return: 0 Errno: 0
3 65418 openat:entry Open: /dev/ugen0.3
3 12030 usb_fifo_open:entry Ugen: ugen0.3 f_open: ffffffff8093fd00
3 12102 ugen_open:return Return: 0 Errno: 0
3 12031 usb_fifo_open:return Return: 0 Errno: 0
3 12030 usb_fifo_open:entry Ugen: ugen0.3 f_open: ffffffff8093fd00
3 12102 ugen_open:return Return: 0 Errno: 0
3 12031 usb_fifo_open:return Return: 0 Errno: 0
1 65418 openat:entry Open: /dev/ugen0.4
1 12030 usb_fifo_open:entry Ugen: ugen0.4 f_open: ffffffff8093fd00
1 12102 ugen_open:return Return: 0 Errno: 0
1 12031 usb_fifo_open:return Return: 0 Errno: 0
1 12030 usb_fifo_open:entry Ugen: ugen0.4 f_open: ffffffff8093fd00
1 12102 ugen_open:return Return: 0 Errno: 0
1 12031 usb_fifo_open:return Return: 0 Errno: 0
1 65418 openat:entry Open: /dev/ugen0.5
Dtrace script is..
fbt:kernel:usb_fifo_open:entry {
printf("Ugen: %s f_open: %p", ((struct usb_fifo *)arg1)->udev->ugen_name, ((struct usb_fifo *)arg1)->methods->f_open);
}
fbt:kernel:usb_fifo_open:return {
printf("Return: %d Errno: %d", arg1, errno);
}
fbt:kernel:ugen_open:return {
printf("Return: %d Errno: %d", arg1, errno);
}
syscall:freebsd:openat:entry / pid == $1 / {
printf("Open: %s", copyinstr(arg1));
}
--
Daniel O'Connor
"The nice thing about standards is that there
are so many of them to choose from."
-- Andrew Tanenbaum
More information about the freebsd-hackers
mailing list