This panic seems to be wrong. Without it usb can be used in virtual box (the propietary version) without problems. Reference: /n/sources/patch/applied/ohcipanic Date: Mon Jan 17 17:35:13 CET 2011 Signed-off-by: paurea@lsub.org --- /sys/src/9/pc/usbohci.c Mon Jan 17 17:32:43 2011 +++ /sys/src/9/pc/usbohci.c Mon Jan 17 17:32:07 2011 @@ -229,7 +229,7 @@ struct Td { ulong ctrl; - ulong cbp; + ulong cbp; /* current buffer pointer */ ulong nexttd; ulong be; ushort offsets[8]; /* used by Iso Tds only */ @@ -1134,8 +1134,6 @@ switch(err){ case Tddataovr: /* Overrun is not an error */ case Tdok: - if(td->cbp != 0) - panic("ohci: full packet but cbp != 0"); break; case Tddataund: /* short input packets are ok */