Re: Isochronous corruption with Intel 6 Series

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 24 Apr 2012 louis@xxxxxxxxxxxxxxxx wrote:

> Hi All,
>    I've been having some serious packet corruption issues with a usb audio
> device. I've found that the input packets themselves contain bad data
> by copying the waveform data sent from my audio device out of the
> packets using usbmon and some scripts. The bad data appears to be one
> or two samples of old data once per packet (288 bytes) and looks like
> it is at the beginning of the packet. This happens on 3 recent sandy
> bridge motherboards, on a 2.6.33 kernel and on a 3.2.13 kernel. But, it
> does not happen on older motherboards I have.
> 
> After some investigation, I found this errata in the Intel 6 series spec:
> 
> "
> Incorrect Data for FS/LS USB Periodic IN Transaction
> Problem: The Periodic Frame list entry in DRAM for a USB FS or LS Periodic
> IN transaction may incorrectly get some of its data from a prior Periodic
> IN transaction which was initiated very late into the preceding microframe
> "
> 
> This is outlined in greater detail on page 19 of
> http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/6-and-c200-chipset-specification-update.pdf.
> 
> It goes on to say that this was observed with asynchronous transactions.

Not exactly.  It says that the conditions leading to the error can be 
caused by asynchronous transactions.  But there can be other causes 
too.

> But, could this also affect isochronous transfers too?

Yes, certainly it could.  Isochronous transfers are periodic.

>  And, how would I
> check for such a condition? Sorry if these are newbie questions!

You would have to use a USB bus analyzer to measure the timing of the
packets and record their contents.  The erratum description does not
say exactly what "very late" means, unfortunately.  But you could
compare the data reported by usbmon with the data reported by the bus
analyzer.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux