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?