tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Conceptual USB doc?



>> I did find a _little_ doc on the protocol fastboot speaks over USB,
>> but it assumes knowledge of concepts I don't have, saying things
>> like

>> 	Basic Requirements</h2><ul><li><p>USB</p><ul><li>Two bulk
>> 	endpoints (in, out) are required</li><li>Max packet size must
>> 	be 64 bytes for full-speed, 512 bytes for high-speed and 1024
>> 	bytes for Super Speed USB.</li><li>The protocol is entirely
>> 	host-driven and synchronous [...].

> So..  what you have there is the physical description of the USB
> endpoints that are being used.  That is a start, but mostly just the
> flea on the tick on the dog.  You will need the dog.

That matches my expectations.  That same page did provide more
description of the protocol, but that part of it made sense to me; it
spoke of how you put _this_ content in _that_ packet to make something
specific happen.  (It also spoke of the same protocol having
implementations over TCP and UDP, but as far as I can tell the Teracube
bootloader doesn't provide either of those.)  I didn't feel I needed
any explanations of concepts to make sense of that.

> If you want to see kernel code that works at this level, you can look
> at src/sys/dev/usb/if_rum.c in a recentish NetBSD source tree around
> line 349 or so in the attach function.  The if_rum device uses bulk
> endpoints to send and receive network traffic.

That sounds promising, yes.  Thank you for the pointer; I'll have a
look at some point when I have a bit more time; family things will be
claiming my attention for, likely, the rest of the day.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index