Years ago, I chose to go with PostScript enabled printers in order to minimize frustration with them, as we all know: Printers were sent from hell. We had a Ricoh CL2000 with duplex unit, that served us for many years and when it broke (don’t repair printers, even expensive ones: I learned that the hard way) we got a Xerox WorkCentre 6605DN. It still is with us and has been doing its work mostly problem-free for eight years or so.
It works from Windows, Mac and also from our iPhones (and I presume my wife’s iPad, even though I never tested it). It has worked mostly out of the box when using Ubuntu Linux and Debian 10. At least I think so for Debian 10, because I normally don’t print anything fancy. As long as it outputs on normal paper, I’m fine.
Once a year, I actually do use one of the “fancier” features of the printer: the manual tray… and that’s when it got crazy. I simply could not get the manual tray to be used by my Linux desktop. It works fine from the Mac (and on iOS devices you can’t chose… so there is that). My wife regularly uses tray selection, as we have the optional second tray for thicker paper which she needs for work. To avoid complexity for her, I just created a few profiles for her on her Mac. A nifty feature that all operating systems should have. Regardless, it works for her machine.
I’m stumped. Didn’t this work in the past? It must have, but it doesn’t any more. Now, I tried many things: trying to find an official or unofficial PPD (PostScript Printer Description for the uninitiated), but no avail. I tried different protocols to talk to it, but no, tray selection did not work.
In utter frustration, I just accepted the defaults CUPS gave me. This results in a device URI looking like this:
ipp://Xerox%20WorkCentre%206605DN._ipp._tcp.local/. It’s a Bonjour address, as far as I know, and I’m pretty sure the iOS devices use this.
Now, sure, I hear you: Why would you change what your computer detected, right? Well, because this is dependent on the name of the printer. Should I decide to rename the printer, this will cease to work. For things like this I have an internal DNS, and as it happens, the printer is called
So, I traditionally change the detected name to the “correct” name, and yes, I did this on my wife’s Mac too (iOS always runs with the defaults, you have no choice). So the string, as per documentation would be
Now, if you do that: it prints fine and uses the default settings of the printer. You won’t notice something is wrong, because who thinks of testing all features, right? However, it doesn’t allow you to change anything. Now, my computer most likely does send the information: I can select the options I want, but they simply are ignored by the printer.
It totally escapes me what exactly the difference is. Yes, I know there is the
/ipp part that is extra, and yes, I have omitted it and the printer ceased to work (as expected). Sure, I should just be happy that I found how to fix it, but… I would like to understand.