From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: To: 9fans@cse.psu.edu Subject: Re: [9fans] USB developments From: Fco.J.Ballesteros In-Reply-To: <20040115081637.M4316@cackle.proxima.alt.za> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="upas-eydatfglfrugzyifwuvggahlhc" Date: Thu, 15 Jan 2004 09:23:45 +0100 Topicbox-Message-UUID: b8c4963a-eacc-11e9-9e20-41e7f4b1d025 This is a multi-part message in MIME format. --upas-eydatfglfrugzyifwuvggahlhc Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit I'm not a usb expert, but have done some hacking on it and have been tempted (a few times) to clean up a bit the usbd/drivers/#U relationship. We are also running for usb 2.0 devices, and have some of them around, including a touch screen. BTW, the specs in the usb web site are pretty complete. It would be great if you could Cc me any mail regarding this issue, I might help. --upas-eydatfglfrugzyifwuvggahlhc Content-Type: message/rfc822 Content-Disposition: inline Received: from mail.cse.psu.edu ([130.203.4.6]) by aquamar; Thu Jan 15 08:23:38 MET 2004 Received: by mail.cse.psu.edu (CSE Mail Server, from userid 60001) id B1B2A19C63; Thu, 15 Jan 2004 01:18:31 -0500 (EST) Received: from psuvax1.cse.psu.edu (psuvax1.cse.psu.edu [130.203.4.6]) by mail.cse.psu.edu (CSE Mail Server) with ESMTP id B894E19C75; Thu, 15 Jan 2004 01:18:10 -0500 (EST) X-Original-To: 9fans@cse.psu.edu Delivered-To: 9fans@cse.psu.edu Received: by mail.cse.psu.edu (CSE Mail Server, from userid 60001) id A346619C5D; Thu, 15 Jan 2004 01:17:01 -0500 (EST) Received: from cackle.proxima.alt.za (cackle.proxima.alt.za [196.30.44.141]) by mail.cse.psu.edu (CSE Mail Server) with ESMTP id 54BF019C59 for <9fans@cse.psu.edu>; Thu, 15 Jan 2004 01:16:46 -0500 (EST) Received: from cackle.proxima.alt.za (localhost [127.0.0.1]) by cackle.proxima.alt.za (8.12.8/8.12.3) with ESMTP id i0F6GfER025498 for <9fans@cse.psu.edu>; Thu, 15 Jan 2004 08:16:42 +0200 (SAST) Received: (from lucio@localhost) by cackle.proxima.alt.za (8.12.8/8.12.3/Submit) id i0F6GdAA025497 for 9fans@cse.psu.edu; Thu, 15 Jan 2004 08:16:39 +0200 (SAST) From: Lucio De Re To: 9fans mailing list <9fans@cse.psu.edu> Message-ID: <20040115081637.M4316@cackle.proxima.alt.za> Mail-Followup-To: 9fans mailing list <9fans@cse.psu.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.4us Organization: Proxima Research & Development Subject: [9fans] USB developments Sender: 9fans-admin@cse.psu.edu Errors-To: 9fans-admin@cse.psu.edu X-BeenThere: 9fans@cse.psu.edu X-Mailman-Version: 2.0.11 Precedence: bulk Reply-To: 9fans@cse.psu.edu X-Reply-To: lucio@proxima.alt.za List-Id: Fans of the OS Plan 9 from Bell Labs <9fans.cse.psu.edu> List-Archive: Date: Thu, 15 Jan 2004 08:16:38 +0200 X-Spam-Status: No, hits=0.0 required=5.0 tests=none version=2.55 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) Will the USB developers on Plan 9 please stand up, specially the one with all the comments about how classes should not be managed in usb/usbd? I now have a surprising number of USB 2.0 peripherals as wells as enough USB specifications to make me want to test them. Let me list them, in case anyone wants me to test their efforts: HP ScanJet 5200 scanner Canon BJC-2100 colour printer Handspring Visor USB cradle external IDE drive enclosure with ISD-300 USB controller Speed Com+ USB modem (VD56US?) an as yet unconnectable Flash RAM reader/writer (Apacer thing) I've been messing around with the existing code, including Richard Miller's mass storage driver, but I'm only a little more familiar with the goings on after all the source perusing and hacking. I _have_ made a change to /sys/src/usb/usbd/device.c that allows a configure index of -1 to be used to specify the first available configuration as the external IDE enclosure I use has only configuration 2 :-( No use looking for 1 as usbd.c does in enumerate(), specially when that is only a first stab at the real thing as indicated by the /* TO DO */ comment. My immediate question is whether it makes sense and is even possible to imitate the behaviour of ip/ipconfig in the case of USB and, in the instance I have in mind, mount the IDE driver (or the SCSI driver or the generic "sd" driver, whichever comes closest after making the necessary adjustments) on the appropriate desired port, as ipconfig does with etherx and the TCP/IP stack? If somebody cares to hold my hand while I misuse the last few days of freedom I have left while the SO is overseas, I'd like to make some progress on this score. I have read the USB source code for Plan 9, if not in its entirety, certainly a few important modules; I still don't understand (conspicuous amongst many other issues) how isochronous transfers are created or sustained (I presume the host controller does all the hard work, if not, I'm missing a huge chunk of knowledge), and Richard Miller has set me right on a few other issues indicative of great ignorance on my part. I have to admit I _like_ USB 2.0, although I am familiar with all the complaints levelled at it and I believe Plan 9 can and ought to support it wholeheartedly. If I can help getting this right, I'd really like to do it. ++L --upas-eydatfglfrugzyifwuvggahlhc--