PDIUSBD12 returns Buffer Overrun

From: Ganesh Okade (ganeshokade_at_sunlux-india.com)
Date: 10/10/04


Date: 10 Oct 2004 13:44:38 -0700

Dear Experts,
    I am using PDIUSBD12 from Philips in my embedded device. I am able
to successfully enumerate the device from a Windows driver. I am using
end point 1 IN/OUT for my data communication.
    I have successfully been able to write data from the device to
Windows. But this was only one bytes at a time i.e. I write one byte
to the end point buffer and issue the Validate Buffer command (0xFA) -
work fine. Now in order to improve the throughput, I started writing 2
bytes at a time - works fine. But the moment I start writing 3 bytes
in one shot, the communication stops and the Windows driver reports
that the device responded with a BUFFER OVERRUN error (I get the
following error code in the Windows driver - USBD status = C000000C
(USBD_STATUS_BUFFER_OVERRUN). I understand that the buffer size in
PDIUSBD12 is 16 bytes in size. Then why this buffer overrun?
    For your information I have a circular buffer into which the
application software on my embedded device puts data. The the USB
firmware pics data from this buffer and transmits it. Most of the data
transmission happens from within the EP1 transmit ISR with the first
byte being forcibly written by the application software to trigger a
chain of interrupts causing the rest of the data bytes in the buffer
to be transmitted.
    I want one more information - when a EP1 transmit ISR fires does
it mean all the data bytes in its buffer have been transmitted or only
one byte has been transmitted.
Regards,
Ganesh Okade
Sunlux Technologies Ltd.
www.sunlux-india.com



Relevant Pages

  • PDIUSBD12 returns Buffer Overrun
    ... to successfully enumerate the device from a Windows driver. ... to the end point buffer and issue the Validate Buffer command - ... I want one more information - when a EP1 transmit ISR fires does ...
    (comp.arch.embedded)
  • Serial Communication in C# Express
    ... ago and I really appreciated Nicholas Paldino's help, ... > I can only achieve to transmit '34', ... After the usual port initialization, ... // Obtain the number of bytes waiting in the port's buffer ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: [PATCH 1/2] take 2: (was-kind-of: 3/5 SPI tx_default) 2.6.20-rc6
    ... out all ones or all zeroes. ... of the multiple conditionals when the tx buffer is null, ... + * If the transmit buffer is null, zeroes will be shifted out while ... Only "len" bytes shift out. ...
    (Linux-Kernel)
  • DS31256 (HDLC Controller )buffering problems
    ... I have a DS31256 driver (basically a modified version of the Dallas ... motorola processor to the HDLC Controller via a PCI bus. ... But after a while I run out of Tx Buffer descriptors and have to wait ... If I have a timeout of like 1 ms, I'm able to transmit ...
    (comp.dcom.telecom.tech)