[<<][staapl][>>][..]
Fri May 18 20:10:06 EDT 2012

usbmon

Let's just work with the raw USBmon stuff:

cfbc4500 2426908079 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
cfbc4500 2426915987 C Ci:1:000:0 -75 0
cfbc4500 2426916076 S Ci:1:000:0 s 80 06 0100 0000 0040 64 <
cfbc4500 2426918960 C Ci:1:000:0 -71 0

So there is no trace of any reply packets.  Seems wireshark's display
was bogus indeed.

75 == EOVERFLOW
71 == EPROTO

I found this in ohci.h:

/* map OHCI TD status codes (CC) to errno values */
static const int cc_to_error [16] = {
	/* No  Error  */               0,
	/* CRC Error  */               -EILSEQ,
	/* Bit Stuff  */               -EPROTO,
	/* Data Togg  */               -EILSEQ,
	/* Stall      */               -EPIPE,
	/* DevNotResp */               -ETIME,
	/* PIDCheck   */               -EPROTO,
	/* UnExpPID   */               -EPROTO,
	/* DataOver   */               -EOVERFLOW,
	/* DataUnder  */               -EREMOTEIO,
	/* (for hw)   */               -EIO,
	/* (for hw)   */               -EIO,
	/* BufferOver */               -ECOMM,
	/* BuffUnder  */               -ENOSR,
	/* (for HCD)  */               -EALREADY,
	/* (for HCD)  */               -EALREADY
};

But the controller is UHCI.  The other plausible mention is in hub.c:2720

In uhci-q.c:763 I find:

static int uhci_map_status(int status, int dir_out)
{
	if (!status)
		return 0;
	if (status & TD_CTRL_BITSTUFF)			/* Bitstuff error */
		return -EPROTO;
	if (status & TD_CTRL_CRCTIMEO) {		/* CRC/Timeout */
		if (dir_out)
			return -EPROTO;
		else
			return -EILSEQ;
	}
	if (status & TD_CTRL_BABBLE)			/* Babble */
		return -EOVERFLOW;
	if (status & TD_CTRL_DBUFERR)			/* Buffer error */
		return -ENOSR;
	if (status & TD_CTRL_STALLED)			/* Stalled */
		return -EPIPE;
	return 0;
}


So this is at least starting to make sense a bit.

1st: EOVERFLOW from TD_CTRL_BABBLE
2nd: EPROTO    from TD_CTRL_CRCTIMEO probably timeout.

Also seen:
     EPIPE     from TD_CTRL_STALLED

Some UHCI docs[1]: "When a device transmits on the USB for a time
greater than its assigned Max Length, it is said to be babbling."

[1] ftp://download.intel.com/technology/usb/uhci11d.pdf




[Reply][About]
[<<][staapl][>>][..]