Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Sep 2018 13:42:31 +0000
From:      bugzilla-noreply@freebsd.org
To:        usb@FreeBSD.org
Subject:   [Bug 231782] a USB frame from an interrupt endpoint may be missed
Message-ID:  <bug-231782-19105@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D231782

            Bug ID: 231782
           Summary: a USB frame from an interrupt endpoint may be missed
           Product: Base System
           Version: 10.4-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: usb
          Assignee: usb@FreeBSD.org
          Reporter: ludovic.rousseau+freebsd@gmail.com

Hello,
I have another issue.

I can reproduce it easily using 1 USB device and 2 threads using the same
libUSB context.
I know a sequence to always reproduce the problem but I have no idea where =
the
problem comes from. Maybe it is not in libUSB but in a lower layer.

The USB interrupt end point is used to wait for an event from the USB devic=
e.
In my case then event is a card removal from the smart card reader. In that
case 2 bytes are sent on the interrupt end point.

I note that in a given condition the event is *never* received by my
application.
I also see *no* log activity from libUSB. So maybe libUSB does not receive =
the
USB frame.

When this happens I have 1 thread waiting in libusb_handle_events_completed=
()
(waiting on the interrupt end point) and the other thread is not doing any
libUSB activity.

The card removal event is not received. But the card insertion event (also 2
bytes sent on the interrupt end point) has no problem and is received by li=
bUSB
and my program.
It looks like in some cases a USB frame is lost.

I can send you libUSB logs if you want. But I was not able to find any prob=
lem
in them. I was also not able to find why in some cases I have the problem a=
nd
why in other cases my program works fine.

Is there an equivalent of the Linux usbmon kernel facility to see all the U=
SB
activity in FreeBSD?
https://www.kernel.org/doc/Documentation/usb/usbmon.txt

Thanks

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-231782-19105>