If it's parallel, I'd check to see how the port is set in the PC's BIOS. Trying ECP, EPP, bidirectional or some other setting to see which works.
Ugh, since it's serial - There's your problem!™
I'm assuming it's RS-232 and not RS-422 or RS-485. If the labels that it is printing are correct (no dropped or odd characters or missing parts of bar graphs), I'm betting that the problem is the protocol setting).
First, look at the dip switches on the printer and consult the manual for their meaning. Record the settings for baud rate, parity, data bits and protocol. I think you can ignore the setting for XON/XOFF Status Response (the last switch).
Second, go into the software you use to print the labels and make sure that the settings there match those that you recorded from the printer.
If your software does not control those settings, then in Windows, in the start menu, select Printers and Faxes. Right click on the correct printer in the resulting window and select Properties. Click on the Ports tab (COM1 or COM2 should already be highlighted and have a check mark), then the Configure Port button. There you will see the settings to check. Change them to match the ones you recorded from the printer.
Most likely, it will be that XON/XOFF is set (protocol dip switch is OFF) at the printer, but set to None at the computer. If that's the case, set Handshaking to Xon/Xoff at the computer. If the protocol dip switch is set to ON (Intermec protocol), then set Handshaking to Hardware at the computer.
Sorry to answer my own question, but thought this might be useful to someone.
I found what's causing the trouble. The wireless connection between the access point and the printer was not stable. When the wireless failed for a second and came back to operation the next moment, that small interval was enough for the server to throw the 10054 error.
The solutions I had in hand were to either migrate to a more robust wireless infrastructure, or to connect the printer through wire. I opted for the wired connection and everything worked normal.
Best Answer
Ownership is controlled by the udev rule which matches the device. Most distributions, including Ubuntu, add rules for new devices in order to make sure the device gets back the same name in the future, it should be a straightforward edit to add an
OWNER=
option to that rule.More information at http://www.reactivated.net/writing_udev_rules.html#ownership
And an example of someone controlling the ownership of a USB device on Ubuntu: https://askubuntu.com/questions/185403/udev-rule-group-ownership-not-working