This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: AT91SAM7S USB corruption
- From: Chris Holgate <chris at zynaptic dot com>
- To: Erant <erantimus at gmail dot com>
- Cc: ecos-discuss at ecos dot sourceware dot org
- Date: Wed, 10 Feb 2010 15:52:54 +0000
- Subject: Re: [ECOS] AT91SAM7S USB corruption
- References: <9A6ABF3B-1EDF-4866-83DA-804A8D5E14CC@gmail.com>
Hi Erant,
It's a while since I used the Atmel device, since I switched my USB
based development to the STM32 as soon as the port was released.
However I do recall some odd behaviour which I originally put down to my
first attempt to write a Linux kernel USB driver. Comments below:
Erant wrote:
> At first I was convinced it was either libusb or my code but after
> analyzing the outbound USB traffic with VMWare and Micah Dowty's
> excellent vusb analyzer, neither was seemingly to blame. All outbound
> USB packets from the host were fine, none of them contained
> corruptions.
This is a more in-depth look than I did at the time - I had just assumed
that my Linux driver was at fault.
> This problem seems to occur faster the higher the data
> throughput is, almost vanishing when I add a lot of debug printfs,
> slowing the system down.
Sounds familiar. IIRC, the main symptom was that in a large bulk
transfer, a single 64-byte block would sometimes disappear from the
payload. I'm afraid I can't give much more insight into the Atmel
driver than that. When writing the STM32 driver I used Frank
Pagliughi's D12 driver as a reference since I found it to be the best
documented implementation.
That reminds me - the STM32 USB driver has now had quite a workout and
is looking pretty stable, so it's probably time to promote it from a
beta package to an official submission.
Chris.
--
Christopher J. Holgate
Thinking Of The Future @ Zynaptic Limited (www.zynaptic.com)
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss