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: [email protected]
Reporter: [email protected]
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.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-usb
To unsubscribe, send any mail to "[email protected]"