I'm experiencing some garbage while printing to my HP Deskjet 648c with the latest version of TurboPrint v7.6(?) setting the device to USBParellel.device, and using the latest version of Poseidon, ver 4.4 (?), with my NTSC A1200, and Subway. I finally debugged what the problem was - the printer was plugged into a self-powered hub (Belkin?). I removed the printer's plug from the hub & plugged it into the direct output of the Subway itself and it worked without printing the garbage it had been printing when connected to the self-powered hub.
My question is this: What do I need to modify in the Poseidon configuration to allow me to plug the printer's USB cable into the self-powered hub without it printing garbage again? Do I need to do something in regards to timing or handshaking?
Also, not every program would print garbage, such as TurboPrint utilities wouldn't, but a print in iBrowse would.
That is a bit weird because once the data has been sent to the USB Host Controller chip it will send the data onto the bus with CRC protection -- if a packet gets garbled on the line, it will be resent up to three times by the controller (with the subway, this is software controlled, but I just had a look in the driver code and it looks okay to me). A USB 1.1 hub is just an electric switch and should not be touching the data on the bus. A USB 2.0 hub works slightly different as it will be buffering data temporarily for USB 1.1 devices, but the Subway is USB 1.1 Fullspeed only. So why it makes a difference is beyond me.
If it really happens that a USB packet is lost because of three consecutive CRC failures, the IO Request is retired with a write error. I am not sure if the printer driver on the TurboPrint side is prepared to handle that. If it will just ignore the error, it would explain the garbage line of text on your print. If that is the reason and the hub deteriorates the electric signal too much to let the packets go through without error, you have to use a different hub to fix the problem (also check your PSU -- USB doesn't like the voltage to drop too much below 4.8V).
There is certainly nothing you can (mis)configure in Poseidon for that.