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-hackers" 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>