This page lists some items that should be done before the new USB stack is released with FreeBSD 8.0
The owner is someone who is interested in or has a stake in the task, they may not be the one actually working on it. Please contact this person if you have ideas or want to contribute.
Outstanding Tasks
Kernel
Item |
Status |
Owner |
Finalise the USB peripheral driver interface, this will be the supported API for writing FreeBSD USB drivers going forward |
|
|
Add polling mode so that DDB can be used with UKBD and UMASS |
Done |
|
Make USB keyboard driver free of Giant |
|
|
Review src/sys/dev/usb file layout, this should be bus centric code and possibly the hci attachments and peripheral drivers should not be under here |
|
|
Review usb header files, there are around 10 usb_*.h files needed in each .c file. This ok for the core files but it would be better if peripheral drivers only needed to include one or two headers to get the USB API. |
Done |
|
If a usb driver sleeps in the detach routine it will block any further attach/detach on that bus and may also hold locks that block usbconfig. This is easy to reproduce by unplugging a serial adapter that is opened and has also been observed with umass sleeping on 'simfree'. |
|
|
Make the ugen ioctls more backwards compatible |
|
|
The mountroot wait code is still not complete. The usb probing will wait for the bus explore but once complete it will release the hold token before GEOM gets a chance to taste. (priority task) |
|
|
The ugen devices no longer appear in the device tree yet generate attach messages, ugen needs to have a device entry |
|
|
Userland
Item |
Status |
Owner |
Add libusb 1.0 compatibility |
Done |
|
Build a linux binary for libusb20 that can be used by the linuxulator |
|
|
Add usbdevs(8) compat mode to usbconfig(8) |
|
|
Look at the commands and formatting of usbconfig(8) |
|
|
Hook libusb into the ports build |
Done |
AndrewThompson, stas |
Update man pages as needed (usbconfig needs to be real) |
|
|
Teach usbhidaction(1) to work with devices providing several reports. May require kernel changes. |
|
|
Regressions
Item |
Status |
Reported by |
Owner |
USB devices are not enumerated on the Gateworks 2348 boards |
Done |
|
|
USB does not work on Gateworks 2358 boards |
Done |
|
|
urtw(4) and upgt(4) drivers have not been ported |
Done |
|
|
NDIS needs to be updated for the new stack |
Done |
|
|
Some ports need to be updated |
Partially complete |
|
stas |
Extras
Item |
Status |
Owner |
Add DTrace SDT probes for USB |
|
|
Support for USB webcams and Cable/DVB capture, this should build on the designs of the JohnMarkGurney/HDTV project. |
|
|
Support for Linux USB webcams and Cable/DVB capture from userspace project. |
Done |
|
Support for USB VGA adapters (there is a GPLed driver) |
|
|
Support for USB 3.0 Host-Hos cables for file transfer & debug (see MSDN, Host-to-Host, this) |
|
|