Date: Mon, 20 Apr 1998 19:46:17 +0200 (MET DST) From: Nick Hibma <nick.hibma@jrc.it> To: freebsd-hackers@FreeBSD.ORG, freebsd-hardware@FreeBSD.ORG Cc: Mark Willey <willey@etla.net>, Nick Hibma <nick.hibma@jrc.it> Subject: FreeBSD USB project, help requested Message-ID: <Pine.GSO.3.95q.980420174732.21423c-100000@elect8>
next in thread | raw e-mail | index | archive | help
The first few steps have been taken in creating a USB device driver
stack. First of all, I would like to know if anyone else, beside Mark
Willey and me, has also taken on the task of implementing USB support
for (Free-)BSD. Second, I would like to hear from people willing to do
some testing on the existing software.
What has been done:
x Implementation of Loadable Kernel Module + 30 lines of PCI driver.
x Support for 82371AB chip (also called PIIX4)
x UHCI driver (lowest level)
x VHUB on top of UHCI, emulates real hub function on host controller
x Enumeration of hubs (works great for VHUB :-)
x Simple control transfers on the USB bus, based on very
simple scheduling, making it possible to do control transfers with
real functions.
x This resulted in about 5000+ lines of code (documented in C :)
What will be done in the near future:
x Proper scheduling in UHCI driver with proper retries, interrupt usage
through IntOnCompletion, IntOnShortPacket, IntOnError, etc. and
implementation of blocking/non-blocking read and write calls rom
the USB stack.
x Support for 82371Sx chip (also called PIIX/PIIX3) or at least for
the version that has USB support.
x Support for Isochroneous transfers
x Setup of proper interface to applications using USB devices.
What we need:
x Someone who spends an hour or two getting the snapshot ready for other
people to download and try (with a README file telling them what parts
of the kernel to patch and how to determine what they have)
x People to install the snapshot, run it and send the output of the
screen to me.
x Programmers interested in taking part in the project by implementing
bits and pieces:
x Scheduling of UHCI transfers
x Implementation of OHCI standard (similar to UHCI)
x Support for other UHCI/OHCI chipsets
x Support for ISA/EISA/etc. implementations of UHCI
x Implementation of device drivers for Interrupt transfer driven
devices
Everything is rough on the edges and large chunks are missing (like
power management support, Suspend/Resume and probably does behave badly
on other people's hardware. But without other people's help we won't get
there.
URL (snapshots):
http://www.etla.net/~n_hibma/usb/usb.pl
Hope to hear from you.
Nick Hibma
FreeBSD USB driver development
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.95q.980420174732.21423c-100000>
