[geeks] USB reference?
Mouse
mouse at Rodents-Montreal.ORG
Sun Apr 5 22:33:03 UTC 2026
>> I want to build host software to speak to a USB device.
> Warning: This is a large project, especially if you're aiming for
> any degree of USB 3 support. Implementing a USB 1.1 or 2.0 host
> stack is a big project for one person, but USB 3 would be
> mountainous.
I actually expect to (a) care about nothing above 2.0 (and probably
would be OK with capping at 1.1 if that makes it easier) and (b)
leverage the existing USB stacks in the NetBSD versions I run to handle
non-device-specific things to the extent they can.
But, while I have found some reference documentation and can read the
code to figure out more, both of those tend to assume the reader
understands the basics of USB. I don't, and I haven't found
corresponding tutorial documentation. So I'm looking for enough doc to
cure that lack.
I do have a copy of Jan Axelson's _USB Complete_ on order, which I hope
will help with some of it.
> That said, USB, as specified, is a lovely I/O system.
Well, in some respects. As I understand it, for example, there is no
way for a device to interrupt the host (possibly excepting
disconnecting from the `bus' and reconnecting, which usually takes
significant time); the host has to poll the device to simulate
interrupts for things that, like disks and serial ports, can generate
input at relatively unpredictable times.
>> Anyone got any pointers?
> I've had very good luck with the series of books published by
> Mindshare [...]
> Their USB 2.0 book is called "Universal Serial Bus System
> Architecture, 2nd Edition" by Don Anderson, and its ISBN is
> 978-0201309751.
I'll ask about that at our local city library. Thank you!
If I'm still baffled after reading the Axelson book, I'll definitely
check into this one in more detail.
> There's also a lot of jargon that's specific to USB in a bothersome
> way, [...]
I suspect that's much of what I'm looking for doc on. Endpoints and
pipes and reservations and who knows what all else....
For that matter, the ... borderline fraud, I would call it in my less
charitable moods, of naming it what they did when it's actually neither
universal nor a bus.
> The specification is helpful in cutting through the jargon: [...]
When it's next convenient, I'll find a work machine and see if I can
fetch that stuff for possible later reference. (Work machine because
www.usb.org refuses to serve content over HTTP.)
I'll keep your mail around in any case; it's got way too many
potentially-useful pointers to not.
Thank you very much!
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
More information about the geeks
mailing list