I am trying to use an old portable printer with a present-day computer.

The printer is a Citizen PN 48, a portable dot-matrix printer. It has two emulation modes, IBM and Epson LQ500/850; it is currently configured to use Epson mode.

In order to use it on a present-day computer, I have purchased a LogiLink USB to parallel port adapter. The computer runs Ubuntu MATE 20.04. Output from lsusb:

Bus 002 Device 006: ID 8087:07dc Intel Corp. USB2.0-Print 

I have plugged everything together and configured the printer, manually choosing Epson LQ850 for the printer driver.

When I print the Ubuntu test page, the printer starts printing and output looks OK. However, it freezes after about two-thirds of the page and doesn’t continue even if I wait.

If I then turn it off and back on, it resumes printing, albeit with errors in the output as presumably some settings transferred at the start of the job have been lost.

A simpler print job (LibreOffice Writer, four lines of text spread across the page) gets printed with no issues, hence I suspect this has to do with insufficient printer memory.

The printer settings do not have any options for printer memory size. (BTW, the only option for resolution is 300×300 dpi.)

How can I tell the OS to stop sending data when the printer runs out of memory, and continue as its memory empties? (The latter presumably being the issue.) Or am I having a different problem than I thought I had?

Edit: Leaving the printer in Epson mode and using the Foomatic driver for the NEC PinWriter P6 (necp6) somewhat alleviated things—it allowed me to print the complete Ubuntu test page, as well as some jobs. (The NEC P6 command set is a superset of the Epson command set.) Like the Epson driver, the necp6 driver supports 300 dpi, while IBM drivers seem limited to lower resolutions.

However, the printer still chokes on certain jobs. With one particular full-page document I made the following observations:

  • With LibreOffice Writer, I was able to print about two thirds of the document. Switching the intermediate format (which is pased to the driver) between PDF (the default) and PostScript Level 1 did not seem to make a difference, nor did removing the colored fill from some otherwise empty table cells.
  • Converting that document to PDF and printing it from atril did not help; printing stopped after roughly one third of the document.
  • Opening the resulting PDF in GIMP at 300 dpi (printer resolution) and printing it from there finally gave me the full document.

So it looks like different tools represent the same content in different ways (possibly resulting in different job sizes—can’t tell as the printer queue reports all job sizes as zero), which influences the area the printer can handle before it stops. Interestingly, though, printing the document as a bitmap worked better than all vector-based formats.


Wow. A PN48? I used one of those back in the day, too!

The best way to get these sorts of devices working on modern hardware is with a compatible driver. If the LQ850 driver can only handle plaintext, then you might want to try the generic Epson dot-matrix printer driver from OpenPrinting.org. Unfortunately I do not have my old Citizen printer to test this with.

  • Graphics per se is not the issue; even the LibreOffice document uses OpenType fonts rather than printer fonts and is thus graphics as far as the printer is concerned. The issue appears to be with graphics documents exceeding a certain size. – user149408 Dec 7 '20 at 12:37
  • Tried the driver; output is corrupt and the choice of resolutions is limited to some odd combinations, significantly below 300×300 dpi. Didn’t try if it finishes the page. – user149408 Dec 7 '20 at 18:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.