A quick look in USB.h shows that 0xe0004003 is a data toggle error,
meaning that device probably sent the next packet of data on the wrong
data toggle. Can you check the analzer to make sure that the data
toggle is toggling appropriately on the device end?
Rhoads Hollowell
USB Software Team
Apple Computer, Inc.
On Feb 12, 2005, at 9:16 PM, Juan Pablo Pertierra wrote:
I have a full speed device with a BULK IN endpoint using 64 byte
packets. If I call ReadPipe with size=64, it reads the data fine. If
I call ReadPipe with more than 64 bytes, it gives me an error which
printf(%08x) shows as e0004003.
What's confusing is that I have an analyzer connected to the UTMI
interface of my device, and the host mac is not only requesting the
data packets but ACK'ing them just fine. The data is sent perfectly
by my device. Another interesting point is that the host mac asks for
more data packets than I requested in the ReadPipe. For example, with
64 packet size if I request 128bytes, the mac actually requests 4
packets, and ACK's them.
Even though all the data is sent correctly by my device and the
computer ACK's them, ReadPipe returns an error and does not fill the
buffer.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden