Debian 12. HP Laserjet Professional P1606dn
If it prints at all, it prints the top inch of the test page or just random binary. I have tried the recommended driver, the driverless driver, the Generic PCL 4/5 driver, the Generic PCL 6 driver. And probably others I am not remembering.
I am trying to print over Ethernet, but I am about to drag the printer over near my desk and print via USB.
Fortunately, I don’t have actual critical printing to do right now and I am only setting up a printer after installing Debian 12. BTW this means it is a fresh install of Debian 12 too.
I have been helpdesk support at a data center. I would not consider myself a dummy, but this is getting ridiculous. A task that should have taken all of 10 minutes has taken over 2 hours so far.
How are we ever going to get “The Year of Linux on the Desktop” if simple printing is and continues to be such a pain?
In my experience printing has always been pain on all operating systems, especially Windows.
The fact that you literally need to open up about half of all possible TCP and UDP ports in a firewall just to get all printing protocols over the network to work at all and that the vendors try to prevent you from using third party ink, and other consumables is good evidence that it is more the printer vendors fault than anyone else’s.
Perhaps we need an “open source” laserprinter?
I wonder if even just an open source firmware for printers could work.
Actually, I think it might take a whole “open source” company - the printer itself is sold assembled at a profit (Much more expensive than printers today) but it can be assembled from available plans and off-the-shelf parts. The control inside the computer would probably be something a lot like a Raspberry Pi.
The ink is provided at the actual cost, and the formula for the ink is available.
The firmware is downloaded from the host computer on printer power-up, so that can be fully open source- allowing the user to correct or add functionality. Perhaps driven by a high-level “printer language” that would make writing printer firmware easy to understand and update.
I was thinking someone could make a firmware like Tasmota but for printers that can be installed on many existing printers, and a company could make a printer that runs that is designed to run that firmware just like how you can get smart home devices designed to run Tasmota. Also, we just need printers that properly support IPP.
But first, you will need to discover how to pry the existing firmware off so many different kinds of printers. This, unfortunately, is probably a DMCA violation (bypassing a security measure, for example, the code that forces one to use only ‘approved’ ink supplies)
I just did a test with my Brother printer on Windows. I saw one port opened for the print protocol and four or five for various name service protocols (because I have a homelab and have screwed around with DNS a little too much, apparently). If you’re opening half of all possible TCP and UDP ports to get the printing protocol to work, you’re doing something wrong.
I said “for all print protocols”, as in all the ones network printers have to support to get all possible clients to work.
But why would you need to get all possible clients to work? Just get the ones that are actually on your network working. And don’t open your Internet-facing firewall unless for some bizarre reason you have to print from over the Internet (can’t really see a critical use case for this except for outliers).
Unless you’re running a web cafe or something and have to support random laptops that people bring in. At that point security is out the window anyway because who knows what will be going on your network.
The point was that the protocols are badly designed and I was talking about firewalls between subnets.
If you have to print from a location away from your network ( like on a business trip ) us tailscale!
You’re supposed to use
hplip
for HP printers. There’s a Debian package for it in the main repositories.
edit: You can look up the printers and supported features withhplip
here. Looks like your printer is perfectly supported (as long as you lethplip
’s tray program install their proprietary driver plugin).I will try that. Thanks! I am not sure what features I don’t get to use because of the USB/Generic PCL printer setup I have now.
That was worse - the test page failed with “filter failed”, went back to “Generic PCL Laser Printer”, and was able to print a full Debian test page again.
Have you installed the plugin within
hplip
, or rather, the hplip-GUI program? Have you removed the old printer from CUPS before trying?I don’t really understand the CUPS web interface at localhost:[cups port] but I am removing the printer from the control panel and ensuring it disappeared over a reboot. I installed the hplip package using apt. I don’t know if it brought a GUI along with it. I have been interacting with things using the settings app.
What settings app?
hp-toolbox
is the program to use (which might in your applications menu as “HP Device Manager”), alternativelyhp-setup
to set it up from the CLI.“settings” in KDE, the icon is two slider controls.
Did you use hplip over USB or Ethernet? It might not be meant for use over USB.
I am using “Generic PCL laserprinter” and it seems to be working well enough now.
Why is this so hard?
HP
There’s your problem. Buy a Brother, brother.
The driverless “driver” for our Canon also seems to work well, the configuration that is lacking from it can just be done over the web interface
How long have you been waiting to say that to someone?? : ^ )
Too long. Too long …
I have a Brother printer that barely works with anything, but on Linux it works perfectly fine.
Next time don’t buy HP, :(.
I bought this printer years ago. It has worked fine most of the time up until now. Perhaps this is what I get for installing the latest Debian.
I had a Canon multifunction that absolutely refused to work with Linux. Who sells Linux friendly printers?Brother printers are usually pretty good with Linux. HP ought to work with Linux just fine though, they’ve had Linux drivers since forever.
As mentioned by another commenter, Brother sells out of the box working on Linux printers.
deleted by creator
Have you tried foo2zjs? I used to use that years ago for my old HP:
https://www.openprinting.org/printer/HP/HP-LaserJet_Pro_P1606dn
I was about to say Samsung, but then I just googled and found they were bought by HP lol… So no idea.
Rage against the machine never specified what kind of machine they meant. Now we know it was probably a printer.
Sorry, I know this is not helping, but I love that joke :D
One becomes very understanding of the guys with baseball bats wailing on that poor printer.
I know this doesn’t help, but my linux experience has been good regarding printers. Much easier than Windows ever was. Probably just luck tho
Thanks. Too bad it’s not like that for everyone. What printer are you rocking right now?
Canon Pixma MG3060. I don’t recall needing special drivers for it. :)
Update = Connecting the printer via USB gave better results. I would rather talk to it via the existing ethernet, but I did have a long USB cable so at least I don’t have to give up half my desk. The printer is still connected to the network too. perhaps my wife can use it from windows.
At least for now I can print.
Glad you could get it working over USB. In case you’re still pursuing a network solution: What’s your network topology and can your wife print over Windows?
She is currently rocking a very expensive-per-page Xerox color laser printer in her office, but next time we have to buy toner for that beast . . . She does not need color. The network is a single SOHO switch-based gigabit ethernet connected to the AT&T uverse router. Printing would not have to traverse any router. Now if the printers have to phone home, they will have to deal with carrier grade NAT, or use IPV6.
You can get adapters to send USB over standard Ethernet cabling. So you could use your existing wiring but get more reliable USB printing.
Hmm strange - If one were to do that is the cable still available for ethernet at the same time? (as in a USB <> Ethernet bridge)
There are USB over IP solutions that utilize standard networking protocols, but I was thinking of just a USB extender kind of thing. Like this: https://www.amazon.com/Cable-Matters-Ethernet-Extender-Adapter/dp/B08HHFZY5H?source=ps-sl-shoppingads-lpcontext&ref_=fplfs&psc=1&smid=A1AMUYYA3CT6HJ
Edit: If I wasn’t clear, this device needs exclusive usage of the cable. It cannot be simultaneously used for networking.
Mine has only to go to the other side of my office, no need for the item you propose. But it would be useful for someone who wanted to interact with a printer much further away.
I only have limited experience on that topic, but when I had to set up my printer, I found the arch wiki very helpful: https://wiki.archlinux.org/title/CUPS
Packages name might not match, but general info should be good for any distro.
I’ve always just sent the docs to my phone over bluetooth and then printed from my Android phone. I rarely get printing to work on Linux.
To be fair, printing on Windows isnt all roses and sunshine either :) Printing in itself is an issue. I remember how happy i felt when the big tech started talking about the paperless office and all…
I’m still waiting, and praying for that day to come :)
send the file to your phone and print using the app.
I have a network connected hp officejet. If you want I can check my settings and drivers in CUPS tomorrow so you can compare. It has been working with several computers for quite a long time now and it gets auto discovered by windows and Linux.
I use ink from a 3rd party seller and it’s relatively nag free since it’s pretty old. It warns about non authentic ink, but then works just fine.
I have never had an issue printing to my HP printer, or the many other HP, Canon, and Brother printers I have used from my Linux device. CUPS handles all of them exceptionally. On the other hand, Windows machines I’ve used need HP Smart for anything HP, and Macs can never correctly print to Canons.