Hi There
I'm trying to issue a 32k transfer over endpoint 0.
My request is
UInt8 *pData; // Allocated, filled with correct data...
IOUSBDeviceInterface **deviceIntf; // Successfully passed all
rituals to become a good IOUSBDeviceInterface...
IOUSBDevRequest request;
kern_return_t kernResult;
request.bmRequestType = ((kUSBOut << kUSBRqDirnShift)| (kUSBVendor <<
kUSBRqTypeShift) | kUSBDevice);
request.bRequest = 0x55;
request.wValue = 0;
request.wIndex = 0;
request.wLength = 0x8000;
request.pData = pData;
kernResult=(*deviceIntf)->DeviceRequest(deviceIntf,&request);
The transfer starts on the bus, split in 64B packets as expected...
8 B SETUP txn 40 55 00 00 00 00 00 80
64 B OUT txn (NAK) 01 FF FD FD BC BC ...
64 B OUT txn [65 POLL] 01 FF FD FD BC BC F9 A8 ...
64 B OUT txn 8F CC BF 87 52 A9 BB 3C 40 DE 41 01...
64 B OUT txn 2D D3 7E 2D 74 2B 6A 19 99 A5 54 56 ...
64 B OUT txn 5B CD E4 E5 54 94 3B 36 A9 ED 55 ...
64 B OUT txn 43 AE 04 1C FC 05 0D 09 FF 02 97 ...
...
But at the 321st packet, I have a strange 55bytes packet,
64 B OUT txn F2 F6 1E 6B E8 A4 12 21 D8 03...
55 B OUT txn 90 D8 F8 0D C2 1C A3 6A 4A 43...
64 B OUT txn (NAK) 7E CB 9C 65 57 EC A3 FF...
...that stalls the pipe.
Is there a known limitation in the transfer size? What can make the OS
(Mavericks in this case) suddenly send 55 bytes instead of 64?
Thanks in advance
Eric Gorouben _______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/usb/archive%40mail-archive.com
This email sent to [email protected]