Zijiang based thermal receipt printer usb backend for Linux Cups (via libusb) does not properly initializes the Zijiang based thermal receipt printers and the printers are either not working properly e.g. print just once, print garbage characters when printing graphics or just moves the paper feed and stalls without printing and a power cycle is needed to start a new print.
This problem. has to do with the usb backend and the org.cups.usb.quirks where special parameters are defined for different printer models. This file is loaded and parsed by the usb backend each time the printer prints
For the USB printer that I am using I have defined the following at the last line of the cups usb quirks file (org.cups.usb-quirks):
0416:5011 unidir soft-reset
0416:5011 is the USB printer VID ( Vendor ID) and PID (product ID) ( I am using POS5890K) but I think most of the Zijiang USB printerd have this VID / PID
These printers have one endpoint for configuration and one endpoint for writing data. If the above is not defined , the printer reports bidirectional and it will either stall or not work at all.
The second parameter (soft-reset) will instruct libusb to issue a soft reset affer each print job on the usb bus for this device. If soft reset isnt issued, the next print will come up with garbage characters in the begining of the print receipt. So these definitions in org.cups.usb-quirks are important if you want a stable printing.
Applicable models:
- All Zijiang based
- POS58,POS80
- NT5890k, POS5890, POS5890k
- Hoin POS58, Hoin POS80
- Probably many other printers are using this firmware
Vendor ID : 0416 Product ID : 5011