[Bug 231782] a USB frame from an interrupt endpoint may be missed
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri Sep 28 13:42:33 UTC 2018
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231782
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 at FreeBSD.org
Reporter: ludovic.rousseau+freebsd at 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 device.
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 libUSB
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 problem
in them. I was also not able to find why in some cases I have the problem and
why in other cases my program works fine.
Is there an equivalent of the Linux usbmon kernel facility to see all the USB
activity in FreeBSD?
https://www.kernel.org/doc/Documentation/usb/usbmon.txt
Thanks
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-usb
mailing list