Date: Mon, 20 Apr 1998 11:13:24 -0700 From: Mike Smith <mike@smith.net.au> To: Nick Hibma <nick.hibma@jrc.it> Cc: freebsd-hackers@FreeBSD.ORG, freebsd-hardware@FreeBSD.ORG, Mark Willey <willey@etla.net> Subject: Re: FreeBSD USB project, help requested Message-ID: <199804201813.LAA01068@dingo.cdrom.com> In-Reply-To: Your message of "Mon, 20 Apr 1998 19:46:17 %2B0200." <Pine.GSO.3.95q.980420174732.21423c-100000@elect8>
next in thread | previous in thread | raw e-mail | index | archive | help
Ah. I wish you'd mentioned you were working on this a while back, or if you did, I wish I'd heard about it! There is a forum for USB developers that's working towards a unified API for USB device drivers, and I think your input would have been greatly appreciated. > 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. I have written some low-level hardware-independent OHCI primitives, enough to probe and initialise the hardware, as well as some basic resource control modules along the lines of the OHCI documents. > What has been done: > > x Implementation of Loadable Kernel Module + 30 lines of PCI driver. > x Support for 82371AB chip (also called PIIX4) Do you only explicitly support this device, or do you support all UHCI implementations? > 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 :) This sounds like almost enough for keyboards and mice, and other simple devices. > 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. ie. just about everything else. 8) > 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) You really need to do that. 8) > x People to install the snapshot, run it and send the output of the > screen to me. Gladly, just as soon as I get my hands on some USB peripherals! > 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 You should stick to the register interfaces as documented in the [OU]HCI standards - this will let you work on any compliant chipset, modulo quirks. > x Support for ISA/EISA/etc. implementations of UHCI Do any of these exist in a documented form? > Hope to hear from you. Oh, you will! -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\ msmith@cdrom.com 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?199804201813.LAA01068>