Re: PXA27x USB function driver dropping data?

From: voidcoder (voidcoder_at_yahoo.com)
Date: 01/17/05


Date: Mon, 17 Jan 2005 15:54:45 +0100

You are not the only one. As i know, a lot of guys have problems
with this driver. Just look through this group a bit deeper.
It was some info from the MS that there are problems in the
pxa27x usb drivers as well as in the whole USB stack
under ce 5.0. Unfortunately fixes will be done in the next
release, not through QFX :(

"Leif O" <leif_nospam@vmetro.no> wrote in message
news:opskq32fs00siefu@msnews.microsoft.com...
> I have certain problems with the PXA27x USB function driver (bul_usbfn.cpp
> in the CSP folder). It looks like the driver once in a while drops
> incoming USB packets (bulk OUT data).
>
> I'm running a simple test application that writes a known, constant data
> pattern from the host PC to the PXA27x device (MainstoneII eval. board). I
> stress the device quite a lot, i.e. send the pattern pretty often. Once in
> a while (often after several kilobytes of data has been transmitted), my
> data pattern misses a USB packet (64 bytes or less, depending on the size
> of the USB packet). I have detected this with some debug code at (what I
> think is) the lowest possible level of code: In the OUT endpoint's IST
> (BulEndpointOut::IST). My code validates the data pattern after the
> ReceiveData() function has been called to read data from the UDC.
>
> At the same time I have a USB analyzer connected to the USB link. Trace
> outputs from this analyzer show no errors and all the expected USB packets
> are present on the bus (and ACK'ed) at the proper times. It therefore
> looks like the function driver makes the packet being ACK'ed, but at the
> same time drops the data from the FIFO without being read into a device
> driver buffer.
>
> I've inspected the BulEndpointOut::IST, but haven't found any immediate
> errors. I do however notice that the UDC documentation states that the UDC
> Endpoint Status Register's BNE/BFE bit should be polled for present data
> to avoid loss of data. The BulEndpointOut::IST function uses other
> mechanisms to verify that all data has been read (I'll try some code
> experiments using BNE/BFE instead).
>
> Have anyone else experienced related issues with this driver, or have any
> suggestions to what might be wrong ?
>
> Regards,
> Leif O
>
> --
> leif AT vmetro DOT no
>
> Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/



Relevant Pages

  • Re: UDC performance on PXA270
    ... I did some more tests on my PXA270 UDC using the Mass_Storage_Class. ... Mount my Flash File System as the Mass Storage: ... Mount a USB Stick as the Mass Storage: ... driver ...
    (microsoft.public.windowsce.platbuilder)
  • Re: UDC performance on PXA270
    ... guess my bottlenack is single buffer. ... >I did some more tests on my PXA270 UDC using the Mass_Storage_Class. ... > 1) Mount my Flash File System as the Mass Storage: ... > driver ...
    (microsoft.public.windowsce.platbuilder)
  • Re: UDC performance on PXA270
    ... The PXA implementation cannot be simpler i think... ... Did you write a USB client driver? ... I use the newest available UDC Driver, ... > read the incoming data from the bulk endpoint. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: LAN91C111 driver keep reset itself
    ... I had a few Reset issues with my LAN91C111 driver when moving it from my ... Leif O ... > send and receive data okay. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: LAN91C111 driver keep reset itself
    ... I'm using the SMSC supplied XScale driver which I've modified slightly to ... The changes I had to make to the interrupt handling was mostly moving the ... >> Leif O ...
    (microsoft.public.windowsce.platbuilder)

Loading