Problem with HP Printer

29 réponses [Dernière contribution]
Aristophanes
Hors ligne
A rejoint: 10/05/2017

I’m using Trisquel 8. I connected an HP LaserJet P1606dn printer, which was correctly recognised by Trisquel. I was able to successfully print a test page, but upon trying to print something else, the printer started incessantly taking in pages, along the top of each one printing various strange symbols. In order to stop it, I had to remove it from power.

What is the matter and how do I resolve it?

Magic Banana

I am a member!

Hors ligne
A rejoint: 07/24/2010

Your printer requires a "Driver Plug-in", which is certainly proprietary software: https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/index

I fear there is no freedom-respecting way to have your printer properly work.

nadebula.1984
Hors ligne
A rejoint: 05/01/2018

This is because the printer requires non-free firmware to operate. The recommended solution is to request for a refund and return the printer, and then try to find another printer that doesn't require non-free firmware. Please note that more recent printers have more anti-features. For example, some HP printers impose DRM on cartridges. You have to "subscribe" some workload. If you have spent up the purchased workload, the printer will stop working even if there is more than enough ink/tone remaining in the cartridge.

For any hardware that is susceptible to DRM, older is better.

PublicLewdness
Hors ligne
A rejoint: 03/15/2020

This won't help you but I figure I would mention a similar experience. I have a Samsung M2070FW and it does the same thing you experienced on my Manjaro and Linux Mint systems but works just fine printing from my Trisquel 9.0 system.

Aristophanes
Hors ligne
A rejoint: 10/05/2017

Thank you all for your responses.

The printer test page mentions a driver (FOO2ZJS-.PPD), which seems to be the free software solution (http://foo2zjs.rkkda.com/) for this printer.

Why then does it not work properly?

Magic Banana

I am a member!

Hors ligne
A rejoint: 07/24/2010

We told you: certainly because the driver does not do everything; it expects a proprietary driver plug-in to execute on the printer (rather than on the main CPU).

nadebula.1984
Hors ligne
A rejoint: 05/01/2018

Since it is certain executable code running on the peripheral('s dedicated processor and memory), it is firmware. Then the so-called "driver" should be classified as "firmware loader".

Obviously, the developer can't always be honest.

Aristophanes
Hors ligne
A rejoint: 10/05/2017

But the website of the free software driver does not seem to warn that a proprietary driver plug-in is nevertheless required to be executed on the printer. It actually states that, with the foo2zjs driver, one can print to some Minolta/QMS, HP and possibly other ZjStream printers, which include my model.

“There are five major components to the foo2zjs printer driver.

foo2zjs - the page image to protocol conversion engine of the driver.

foo2zjs-wrapper - a shell script (compatible with foomatic) which runs ghostscript and foo2zjs in a pipeline.

icc2ps - converts an ICM color profile to a Postscript CRD, which is then fed into Ghostscript before the users Postscript program.

foomatic-db - foomatic database entries which describe the supported printers and their options so that printer spoolers know how to access the printer using foo2zjs-wrapper.

zjsdecode - a tool for developers to inspect ZjStreams.”

It seems to me, although I’m not technically savvy (hence my queries), that this developer is offering a free software driver for a specific kind of printer.

Is my understanding not accurate?

nadebula.1984
Hors ligne
A rejoint: 05/01/2018

Some "drivers" are actually firmware loaders. The firmware loader itself may be free/libre, albeit its function is to load non-free firmware. The developers tend not to mention this.

As is seen for non-Atheros wireless NICs, they often do have free/libre drivers. But these free/libre drivers won't make the hardware work. You have to rely on firmware loaders, which may be free/libre by themselves as well, but still don't respect users' freedom.

If someone asks me for a wireless NIC which "has free/libre driver", I'd like to sell him/her a Realtek or Intel one, and I can explain as following: This card does have free/libre driver in the Linux kernel, however it won't work without non-free firmware, and you don't ask for a card that "doesn't require non-free firmware to work". By doing so, I teach him/her the correct conception and dispel the misconception about (the difference between) driver and firmware.

Magic Banana

I am a member!

Hors ligne
A rejoint: 07/24/2010

The driver is free software. The driver plug-in is not.

panties
En ligne
A rejoint: 02/02/2021

And vice versa.

panties
En ligne
A rejoint: 02/02/2021

No, I might have told a lie.
About, for example, my Wacom One tablet, I think the driver of it is free software. But probably its firmware would not be free software. I don't think Wacom opens the source codes publicly.
And other peripherals, such as an external display, an USB extension code which has several ports, my printer too, it is a Canon MP510, etc etc. They work with Trisquel, but I don't think those firmware are free software. But anyway they work. If those firmware are non-free software, do not those work with Trisquel properly? So those are free software??

Aristophanes
Hors ligne
A rejoint: 10/05/2017

Okay, I think I understand the issue.

How then does one, who wants it to fully work with free software, shop for a new printer?

PublicLewdness kindly mentioned that he's experiencing the same problem on Manjaro and Linux Mint, yet not on Trisquel 9. Why is this? And how does one avoid such a situation, where one is running different GNU/Linux distributions?

PublicLewdness
Hors ligne
A rejoint: 03/15/2020

"Okay, I think I understand the issue.

How then does one, who wants it to fully work with free software, shop for a new printer?

PublicLewdness kindly mentioned that he's experiencing the same problem on Manjaro and Linux Mint, yet not on Trisquel 9. Why is this? And how does one avoid such a situation, where one is running different GNU/Linux distributions?"

I know what I wanted to do going forward was buy printers from Think Penguin. They are insanely expensive but they actually test what they sell on various Linux distros. Sadly they don't ship printers outside of the United States so I am out of luck in Canada. One other option is to double check on H-Node and see what models people have verified work on a libre distro. If the printer works on a libre distro then in theory it should work on most others as well although not always in my case.

https://www.thinkpenguin.com/catalog/printer-all-one-gnulinux

https://h-node.org/printers/catalogue/en

nadebula.1984
Hors ligne
A rejoint: 05/01/2018

I could only suggest that we should stay away from HP or Lexmark. They have a long history of abusing the users.

Maybe we (local community members) can try to explore some product models from somewhere like Think Penguin, and then find said models from local dark markets.

Magic Banana

I am a member!

Hors ligne
A rejoint: 07/24/2010

I could only suggest that we should stay away from HP or Lexmark. They have a long history of abusing the users.

Is there a printer manufacturer that does not?

HP publishes https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/ that indicates whether the printer requires a "Driver Plug-in" (it must be "No") and what is the "Min. HPLIP Version" (Trisquel 9 ships with version 3.17.10) that supports the printer. It is less information than what HP used to publish (there was a column named "Requires firmware download"; I am not certain there is a one-to-one correspondence with "Driver Plug-in" or if it refers to a different piece of proprietary software). Anyway, regarding support on 100% free GNU/Linux systems, that is still more information than what any other printer manufacturer publishes, as far as I know. In the present case, it is enough information to not buy a HP LaserJet Professional p1606dn.

As PublicLewdness already mentioned, consulting https://h-node.org/printers/catalogue/ may be a safer way to figure out if a printer is supported (but the list is sorely incomplete) and buying from http://libre.thinkpenguin.com gives certainty (but ThinkPenguin does not ship printers anywhere in the world).

nadebula.1984
Hors ligne
A rejoint: 05/01/2018

My printer is an M202d purchased from local dark market. It apparently doesn't require non-free firmware (or so-called "driver plug-in").

There is an entry M202dw, which is essentially an M202d plus a wireless NIC module (probably not an Atheros one). Since M202dw doesn't require firmware, I could hope that M202d is also usable under my blobless Debian.

Unfortunately, my another (yet much older) printer P1008 does require non-free firmware...

panties
En ligne
A rejoint: 02/02/2021

Ah, that means Trisquel does not allow those firmware to work. So these metal objects are not working even if this hard drive enclosure is working with Trisquel. I understand. I thought Trisquel flahshes some specific reverse engineered firmware.

IMG_0819.JPG
nadebula.1984
Hors ligne
A rejoint: 05/01/2018

To be more precise, Trisquel (like any other free/libre distribution) prevents the firmware from being loaded (not being run). Once the firmware gets loaded, the host operating system could no longer control its running. Because firmware is run on peripheral's own dedicated processor, which is beyond the reach of the host OS (running on the host CPU).

panties
En ligne
A rejoint: 02/02/2021

I see. But without firmware, can hardware work...? How?? But well, if it does not harm our systems anyway, I don't care so much if it works without firmware or not, though.

nadebula.1984
Hors ligne
A rejoint: 05/01/2018

Whether a peripheral works without firmware depends on the designing of the peripheral. For example, Atheros ath5k/ath9k works perfectly without firmware. The host operating system (running on the host CPU) cannot decide whether to run the firmware, because the firmware is not run on the host CPU. What it can do is to allow or disallow the firmware to be loaded to the peripheral (and subsequently run on said peripheral's dedicated processor). For most non-free distribution, it's the first case. Such distributions allow the firmware to be loaded to the peripheral. For Trisquel and any other free/libre distribution, it's the second case.

Please keep in mind that the peripheral firmware can be extremely dangerous, because it is beyond the reach of the host OS (and any security mechanism installed on it). You can't expect anti-virus software to be able to regulate the behavior of the firmware. Your host OS is basically defenseless against malicious proprietary firmware.

Avron
Hors ligne
A rejoint: 08/18/2020

Dear nadebula.1984,

I have a network printer (Lexmark CX510de) that is working fine with Trisquel via Ethernet. It is a huge thing but it was rather cheap in some special sale. I guess it is probably running proprietary firmware pre-installed on it.

What are the risks? Perhaps I should block traffic from the printer to internet if there is any?

I don't know whether printers with wifi capability could be used safely provided one never connects them via USB and blocks any non-local traffic from them if any.

nadebula.1984
Hors ligne
A rejoint: 05/01/2018

That peripheral firmware is extremely dangerous is because the host operating system cannot even detect its malicious behavior. Since you can't even detect the threat, you can't possibly defend yourself against it.

You may think that connection via USB is even more dangerous. The truth is that USB-based peripheral's firmware is far less dangerous, because USB devices normally don't have DMA (direct memory access) capability. By contrast, PCI/e-based peripherals that require non-free firmware are among the most dangerous things.

This is why I can barely tolerate USB-based, non-Atheros wireless NICs but never the PCI/e-based ones.

Avron
Hors ligne
A rejoint: 08/18/2020

Actually, my question was about printers not connected to any device and accessed via the local network.

In this case, the only risk is via the network. If using a routeur to block any traffic from the printer towards external networks, doesn't that look ok?

That said, I share your concerns about USB/PCI and actally I am also worried about internal SATA HDDs.

panties
En ligne
A rejoint: 02/02/2021

-self-censored-

eric23
Hors ligne
A rejoint: 06/30/2017

What free software are we supposed to use that is anti-virus? My understanding is anti-virus software on free operating systems were limited to e-mail to look for spam. I remember there being one in debian long ago and it was useful to show uselessness of virus scanners.

Geshmy
Hors ligne
A rejoint: 04/23/2015

Clamav

It's database gets updated several times daily. I use it. Clamscan has been giving me a clean bill of health.

Also rkhunter and chkrootkit look for malware, backdoors etc. On my system they give off warnings but I look them up and they seem to be pretty common. Rkhunter for example looks at shared memory segments and if any is over 1 Mb in size that raises suspicion, but almost any program I run sets aside a larger share than that. I think .java file gets flagged by chkrootkit but it has always existed on any system I have.

nadebula.1984
Hors ligne
A rejoint: 05/01/2018

ClamAV (or ClamWin for Losedows) is a good option. However, please keep in mind that anti-virus software can't provide any protection against malicious proprietary firmware. Therefore certain firmware loaders (so-called "drivers") may be free/libre software by themselves, but they are extremely dangerous because they load non-free firmware to the peripheral, leaving the host OS totally at the mercy of the peripheral firmware.

Geshmy
Hors ligne
A rejoint: 04/23/2015

So if one uses CUPS, (must be installed and service enabled) I am looking at it now, login to 127.0.0.1:631 and select Administrative tab which will prompt you for your user name and password, then you can use the Add Printer function. I created a printer:
Name: as
Description: as
Location: as
Connection: socket://printer1:9100

and after a delay, I get to the process to select my driver by maker. I chose HP and after another delay I see safe to say 1000s of drivers. I will not click the final 'Add Printer' button because I just wanted to see the list. I have always tried to stay with HP because they were friendly to open source. My OfficeJet 3830 prints fine (Its about 1 year old) but I am not sure how well it scans because I haven't tried to scan since I installed Trisquel, Debian scanning worked but image wasn't real good). Recently I had to set up several older Laser and ColorLaser printers and with Cups everything worked fine.

I looked for HP LaserJet P1606dn (see attached .png) looked like no cigar:)

CUPS.png
mr.r
Hors ligne
A rejoint: 07/16/2018

Hello nadebula.1984,
Thanks.
I keep trying to get a handle on this.
I have been instructed that I must out of necessity give my trust to someone or something.
But then other things can't be trusted.

When you mention, "That peripheral firmware is extremely dangerous is because the host operating system cannot even detect its malicious behavior.", what is that malicious behavior you are referring to? What is going to happen?

BTW: Brother printer had worked with every linux tried, including Trisquel.