I've been struggling to get the raspberry pi's built-in usb ethernet
adapter working.  I can send and receive packets reliably enough to
get a remote file system mounted, but with any kind of heavy use the
usbether input seems to be missing a lot of packets, and everything
gets horribly slow.

After running out of 9pi-specific things to debug, it occurred to me
to try a usb ethernet dongle on an x86 plan 9 machine.  There I
observed the same thing: so many dropped packets that the connection
is unusable.

So, has anyone had success using usbether to connect a plan 9 system
to the outside world?  I am hoping someone can give me an encouraging
report.  I'm a bit worried that it's a fundamental problem with the
plan 9 usb architecture, which is basically synchronous - the host
adapter driver in the kernel will poll a device for input only when
the user-level driver process does a read.  This is ok for things like
usbdisk which have an rpc-like protocol, but seems less well suited to
things like ethernet and serial interfaces, where the equivalent
non-usb kernel drivers use qio to read ahead into a queue of buffers
until the user-level consuming process gets around to reading them.

Would anyone like to share experiences or comments?


Reply via email to