From owner-freebsd-hackers Fri Jun 20 10:45:22 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id KAA14689 for hackers-outgoing; Fri, 20 Jun 1997 10:45:22 -0700 (PDT) Received: from Sisyphos.MI.Uni-Koeln.DE (Sisyphos.MI.Uni-Koeln.DE [134.95.212.10]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id KAA14679; Fri, 20 Jun 1997 10:45:07 -0700 (PDT) Received: from x14.mi.uni-koeln.de (annexr2-38.slip.Uni-Koeln.DE) by Sisyphos.MI.Uni-Koeln.DE with SMTP id AA20916 (5.67b/IDA-1.5); Fri, 20 Jun 1997 19:44:56 +0200 Received: (from se@localhost) by x14.mi.uni-koeln.de (8.8.5/8.6.9) id TAA21304; Fri, 20 Jun 1997 19:44:56 +0200 (CEST) X-Face: " Date: Fri, 20 Jun 1997 19:44:55 +0200 From: Stefan Esser To: Troy Curtiss Cc: freebsd-hackers@FreeBSD.ORG, Stefan Esser Subject: Re: USB -- How tricky will it be to support? References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.74 In-Reply-To: ; from Troy Curtiss on Fri, Jun 20, 1997 at 08:38:46AM -0800 Sender: owner-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Jun 20, Troy Curtiss wrote: > Hackers, > How tricky is USB going to be to support? Some of the mechanisms > such as hot plug/unplug, auto-detection and driver allocation, addressing, > and etc. don't look easy... The paradigm feels like a cross between the > PC-Card stuff (for the plug/unplug) and a PCI-bus (for addressing and > detection). I have looked a little at USB, and found that the most tricky part is support of isochronous devices (sound cards, modems, ...) Probing and attaching an USB chip is not hard, but USB is more like SCSI than a network driver: There are many classes of devices which all use their own command sets. We'll need a well designed "generic" layer, which has to take e.g. time synchronization of USB devices into account. In fact, there are quite detailed instructions on how a USB driver should interface to such a generic layer. I don't like the style of the code examples given in the USB UHCI (Universal Host Controller Interface) specification, but at least that a start ... :) > Anybody toyed with supporting USB yet? I'm curious what angle to > attack this subsystem from. Well, start by reading all available USB specs. Then take a look at some implementation of a USB bridge (i.e. Intel PIIX-3 or -4). Then tell us about your proposed architecture, best if you include a working prototype :) I'd be insterested to work on this, but have (too many) higher priority tasks, currently. But at least, I think we should start a discussion on how to attack USB ... Regards, STefan