Problem with HP Printer
- Anmelden oder Registrieren um Kommentare zu schreiben
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?
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.
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.
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.
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?
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).
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.
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?
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.
The driver is free software. The driver plug-in is not.
And vice versa.
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??
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?
"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
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.
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).
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...
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.
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).
Trisquel 9 ships with version 3.17.10
Magic Banana, does this mean that Trisquel 9 supports HP printer models up to that version?
Do you know which version is shipped with Trisquel 8?
By the way, HP very recently made the page that you helpfully link to inaccessible without an account.
Out of the box, Trisquel 9 indeed only supports HP printers that require version 3.17.10 or earlier of HPLIP. It may be possible to install by hand .deb packages for a more recent version of HPLIP (or not: I have no tried).
Trisquel 8 was shipping with HPLIP 3.16.3. But Trisquel 8 is not supported anymore!
https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/ is still accessible from my system.
But Trisquel 8 is not supported anymore!
Well, I'm still receiving updates for Abrowser. When does this end?
Admittedly, I'm a bit reluctant to update because it doesn't appear, when seeing the numerous posts on the matter, to be a straightforward procedure.
By the way, may I ask which printer you use? Do you recommend any specific brands/models in particular?
https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/ is still accessible from my system.
Indeed! That wasn't the case, though, yesterday.
The support for Trisquel 8 ended last month. Abrowser may be an exception: since it is the only package that is constantly updated to the latest version, it is at the same version in Trisquel 8 and 9.
I essentially do not use printers anymore. I was using HP printers without any issue, choosing it following the instructions I gave earlier: https://trisquel.info/forum/problem-hp-printer#comment-155987
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.
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.
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.
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.
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.
-self-censored-
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.
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.
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.
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:)
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.
- Anmelden oder Registrieren um Kommentare zu schreiben