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

AndrewThompson

Add polling mode so that DDB can be used with UKBD and UMASS

Done

HansPetterSelasky

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

WarnerLosh

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

AndrewThompson

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

SylvestreGallon + HansPetterSelasky

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

AndrewThompson

USB does not work on Gateworks 2358 boards

Done

SamLeffler, AndrewThompson

urtw(4) and upgt(4) drivers have not been ported

Done

WeongyoJeong

NDIS needs to be updated for the new stack

Done

WeongyoJeong, HansPetterSelasky

Some ports need to be updated

Partially complete

stas

Extras

Item

Status

Owner

Add DTrace SDT probes for USB

AndrewThompson

Support for USB webcams and Cable/DVB capture, this should build on the designs of the HDTV project.

Support for Linux USB webcams and Cable/DVB capture from userspace project.

Done

HansPetterSelasky

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)

USBTODO (last edited 2013-02-05 18:15:15 by BruceSimpson)