From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: To: 9fans@9fans.net From: Richard Miller <9fans@hamnavoe.com> Date: Sat, 29 Sep 2012 17:16:31 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] usbether Topicbox-Message-UUID: bbde6ea8-ead7-11e9-9d60-3106f5b1d025 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?