My first bug report was erraneous because I figured out now that this bug is hardware-dependent, a bit hard to track, and will occur on Windows too.
The USB->ParallelPrinter adapter "LogiLink", sold by Reichelt Elektronik (www.reichelt.de), chip marking: "WCH CH340S" (VID==1A86, PID==7584) has a serious built-in silicon (firmware) bug: If write() is followed by ioctl(…PPRSTATUS…), the write() data will not put out at all! It seems that ioctl() must be in the /next/ USB frame, otherwise, data of a non-full USB packet are lost. This is important for printing! Because status-checking may eat up some printing data. The driver behind /dev/usb/lpX should add a small (1 ms) delay between sending data and receiving status, if VID&PID pair as above were found. Or reject loading itself, emit a serious warning, etc. In my case, because I use this adapter as an LPT port replacement with this hardware: http://www-user.tu-chemnitz.de/~heha/viewzip.cgi/hs_freeware/DLO_UsbPrn.zip/DLO_UsbPrn.png?bin=PNG I can simply send full USB packets (64 bytes) instead. I couldn't measure any performance impact, for sending 64 bytes instead of 1. Of-course, this cannot be done for printing, but it's fully okay for the '574 latch in the schematic. The Prolific PL-2305H (VID==06A9, PID==1991) doesn't have this bug. henni -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1156210 Title: usb->parallel_printer status failure To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1156210/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
