Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Mar 2019 15:00:06 +1030
From:      "O'Connor, Daniel" <darius@dons.net.au>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, Warner Losh <imp@bsdimp.com>, FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: USB stack getting confused
Message-ID:  <1BBD445B-9A27-4BE7-9B60-04BE0814D7CA@dons.net.au>
In-Reply-To: <030A0C16-4508-4C7C-A87C-72B69B15EDF5@dons.net.au>
References:  <f3e6e30b-8b62-546b-2b51-e841f2e645bd@selasky.org> <3B29D870-41F9-46AF-B9F3-03106DEC417D@dons.net.au> <20190309152613.GM2492@kib.kiev.ua> <ea6e2690-1ad7-6c06-49e5-c528013f26c0@selasky.org> <20190309162640.GN2492@kib.kiev.ua> <CANCZdfr9jRcXQeZWMPKSMvUB5u7kE0eDvbuKrtGvuUDYOr=n4A@mail.gmail.com> <20190309192330.GO2492@kib.kiev.ua> <fd5038a4-406b-6e4b-bb52-b567b1954ad1@selasky.org> <20190310094758.GP2492@kib.kiev.ua> <35f69493-4bbb-4142-b61a-3e90adc8777b@selasky.org> <20190310102629.GQ2492@kib.kiev.ua> <40bf77e0-47a5-6edc-b5d0-58e3c44988ac@selasky.org> <030A0C16-4508-4C7C-A87C-72B69B15EDF5@dons.net.au>

next in thread | previous in thread | raw e-mail | index | archive | help


> On 11 Mar 2019, at 14:27, O'Connor, Daniel <darius@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 =3D=3D $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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1BBD445B-9A27-4BE7-9B60-04BE0814D7CA>