Subject: New USB driver & API, now on NetBSD 3.0
To: None <tech-kern@netbsd.org, freebsd-usb@freebsd.org>
From: Hans Petter Selasky <hselasky@c2i.net>
List: tech-kern
Date: 02/28/2006 11:54:29
Hi,

I just want to let you know that my new USB driver is now compiling and 
working on NetBSD 3.0.

The first goal of my driver is to get the USB drivers out of Giant/spl. 
Another goal is that NetBSD and FreeBSD should share some device drivers line 
by line, without any #ifdefs nor macros. That would help bring down the 
amount of maintainance, not having to port patches forth and back. And to 
avoid separate branches for drivers.

Theoretically, any USB device driver that creates a device in /dev/, like 
ulpt, can now easily be ported from FreeBSD to NetBSD.


Currently ported to NetBSD + my new USB API:
============================================

- New ugen USB device driver
(http://www.turbocat.net/~hselasky/isdn4bsd/sources/src/sys/dev/usb2/_ugen.c)

- ISDN4BSD USB device drivers
(http://www.turbocat.net/~hselasky/isdn4bsd/sources/src/sys/i4b/layer1/ihfc2/*usb*)


Sources:
========
http://www.turbocat.net/~hselasky/isdn4bsd/sources/src/sys/dev/usb2/

There has been a major cleanup in "usb_port.h".

The new USB driver supports _all_ transfer types on EHCI, OHCI, and UHCI.

NOTE: the code compiles and loads on Sparc64, but it does not work properly 
yet. This is being worked on. Maybe someone wants to help?

Host processors currently supported i386, amd64 and alike.


FreeBSD kernel emulator for NetBSD
==================================
http://www.turbocat.net/~hselasky/isdn4bsd/sources/module/


How to download NetBSD version (You need subversion installed):
===============================================================

Follow the instructions in the README.TXT for how to install on NetBSD and 
FreeBSD.

svn --username anonsvn --password anonsvn checkout svn://svn.turbocat.net/i4b


Some documentation has been put here:
=====================================

http://www.turbocat.net/~hselasky/usb4bsd

--HPS