From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucio De Re To: 9fans mailing list <9fans@cse.psu.edu> Message-ID: <20040115081637.M4316@cackle.proxima.alt.za> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: [9fans] USB developments Date: Thu, 15 Jan 2004 08:16:38 +0200 Topicbox-Message-UUID: b8b5463a-eacc-11e9-9e20-41e7f4b1d025 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