CUPS Printing from Linux to Windows

0

I ask this and I am sure this has been asked so many times before. I hope that when I ask it again it will warrant helping me resolve this issue. It’s an ongoing problem with my job right now.

So I work for a company that deploys a POS environment through Linux that broadcasts a web based program to each of the windows register computers. We utilize CUPS version 2.1.12 to deploy remote printing using the LPD printing protocol to each register. Currently we support 2 types of tag printers. A Zebra 410ZPL printer and Cognitive DLX 2 inch printer. The problems I run into between stores that I support as an IT support rep is once the job is sent from the POS software, the print job makes it into CUPS but it immediately comes back as paused.

When checking the error log from the GUI I am consistently seeing 2 things that stand out. Error 32 Broken Pipe and Mark Cups Jobs Dirty. I’ve configured cups to log level debug and have been actively trying to release small single tag prints and well over 200 prints pending from purchase orders that the stores are attempting to process.

Now CUPS is running in Docker in 2 separate containers. My sysadmin worked an extreme amount of time to disable CUPS port 631 so that CUPS listens on port 632 (the POS software) and 633 (an iPad app for the stores to get points ex Citigrow). On these new ports I don’t have a PPD file to work with and I can’t seem to target anything within the containers to generate a PPD for the printers within the stores. We print to a RAW format PPD which for half the system works and half it doesn’t.

What makes it difficult having CUPS split up this way is that the printer pausing on 1 port when a print fails will pause the other service that’s dependent on that same printer in the other port and vise versa.

Doing sudo docker exec -it baseline bash and then using cupsenable doesn’t unpause the printer in either side. Both from a tool we use with is paired to support these stores with the use of SaltStack to target each stores respective Linux minion has a command we can run which clears the jobs, restarts the LPD service and Tomcat, and runs cupsenable within each container respectively. This command also nukes the job list in CUPS.

I have fought and fought with CUPS to no avail and wanted to ask if there is any further troubleshooting I can do to force the jobs through to the printer? I’m still very new to Linux so I’m trying to learn the commands as I go. If when you provide any answers or commands to have me run against CUPS could you explain the command or at the very least the flags for the commands?

Much appreciated for your time reading this.

Masonimal

Posted 2019-12-04T02:15:42.733

Reputation: 1

I'm taking a wild guess here, but I had a similar issue before when printing from Windows to a CUPS server on Ubuntu. The jobs would come in but would not be printed. I needed to resolve 2 bugs before I got it working: first, the user I was printing from didn't have access to the printer, which I fixed by adding the user to the right group (I think it was lp-admin). Second, I needed to install the right printer drivers (the ones from the manufacturer) on both Ubuntu and Windows. After that, it worked. – Jaïr Paalman – 2019-12-04T02:31:08.850

No answers