Running dmesg after plugging my POS-5890K labelled usb thermal receipt
printer, it identifies itself as
full-speed USB device number 9 using ehci-pci
Mfr=1, Product=2, SerialNumber=3
Product: POS58 USB Printer
Manufacturer: GD32 Microelectronics
I found the hard way that these printers are not supported by CUPS by
default ... one has to go the extra length to either send esc/p codes
manually via your own app
...or compile a driver from source, just like 20 years ago for some
printers... maybe 2018 will be the year of desktop linux *sarcasm*
I've tried this driver and it didn't work...
(the driver source was fetched by git from its current github repo, so
it's not out of date, it's in fact newer than the above blog post)
What gives more clues is the small piece of thermal paper that came
with the printer with a printout of its self-test (surely from
58-IV-U Thermal Printer
Revised date: 06-Jan-2017
Command Standard: EPSON (ESC/POS)
Print mode: Normal mode & Hex Mode
Print method: Line Thermal
Print width: 384 dots/line
Print speed: 90 mm/s
Chinese Mode: NO
Print density: Level3
Interface Type: USB
Current Character: Chinese (GB18030)
Code Page: 0: OEM437 (Std.Europe)
I wonder why the CUPS folks have not released a generic “EPSON
ESC/POS” printer driver where the above parameters can be tweaked and
The driver mentioned above was compiled, and installed but didn’t
work. A sample print gave gibberish. A second text-only printing (by
clicking the CUPS “print self-test page” read “IF YOU CAN READ THIS
YOU’RE USING THE WRONG DRIVER FOR YOUR PRINTER”.
A crude bug-finding code it seems…
Any ideas before I head over to the CUPS maling list and pull my hair?
For instance, this blog post
talks about using "usblp" but commenters say "usblp" was deprecated
(already in 2015)
So what does replace usblp?
And look, here someone else also pulling his hair.
FFS, a line printer was the first type of printer, back in the days of
RS232 ports. If we can't get a USB line printer detected and
configured and send ASCII to it, we're doomed. All because there's a
dozen poorly documented layers of software crap obscuring it...