What is wrong with FreeBSD and USB Support

Markus Rechberger mrechberger at gmail.com
Mon Mar 6 05:19:47 UTC 2017


I have been trying to port a driver to freebsd for a day now and the
result is quite negative.

So my feedback about libusb20 and the FreeBSD USB Kernel Stack:

1. the documentation is not clear how to set up asynchronous bulk
transfers (please explain the architecture of this API)

2. the errors returned by libusb20 (and probably from the kernel) are
not detailed enough (in certain cases I'm able to get libusb20 unknown
error, to my understanding every error should have some meaning).

3. the FreeBSD USB Stack messes around with the transfer itself
damaging the entire result (eg resulting in stalled USB bulk

4. The FreeBSD data transfer implementation itself is a disaster, I'm
able to transfer data at a rate of 2 MB/sec, anything higher results
in a stalled usb transfer?!

5. USB Control messages are 100% slower than with other operating
systems (eg. it took 14 seconds to load a driver with FreeBSD while it
only takes 7 seconds on other systems).

Since I have been using USB stacks with Linux, Mac and some other
systems I can say that FreeBSD has the most irritating implementation
of all.

So finally I wonder what is wrong with FreeBSD's USB support?

Best Regards,

More information about the freebsd-multimedia mailing list