Transport layer problem indicator for darwin-USB
Robert Lev
ronen.lev at silverbrookresearch.com
Thu Apr 7 16:41:59 PDT 2011
Hi,
On some of our test cases we noticed that if the printer fails to communicate for a while and then later resumes USB communication with the mac, parts of the message to the printer can be skipped.
When researching this bug I found the following portion in the cups code (usb-darwin.cpp):
----
/*
* Ignore timeout errors, but retain the number of bytes written to
* avoid sending duplicate data (<rdar://problem/6254911>)...
*/
if (iostatus == kIOUSBTransactionTimeout)
{
fputs("DEBUG: Got USB transaction timeout during write\n", stderr);
iostatus = 0;
}
----
The problem is that in my test I found out that when the host received kIOUSBTransactionTimeout, parts of the sent data were not transported properly and therefor the printer failed to print the job.
Is there any proper way to resolve such a problem?
Thanks,
Ronen
More information about the cups
mailing list