The Hewlett-Packard Linux Imaging and Printing Project provides a unified single and multi-function connectivity solution for Linux. For more information access HPLIP knowledgebase https://developers.hp.com/hp-linux-imaging-and-printing
It would be great if there were an option to save the printer configuration so that one does not have to set up a printer every time there is a new version. This would be especially helpful for users with laptops and wireless printers.
I have to take the laptop to the printer, find a USB cord, hook up the printer to the laptop, and follow the setup instructions.
Until the setup is able to find my printer on the wireless network, it would be better if the installation could check my previous printer configuration instead of deleting it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi I am looking for the HP 1780L printer driver. The printer is a HP 1780L, and I have it in Panama. It has marks on it from Venezuela.
(Spanish)
Hola estoy buscando para el controlador de la impresora HP 1780L. La impresora es una HP 1780L, y lo tengo en Panamá. Tiene marcas en él desde Venezuela.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The officially supported method for reporting bugs is supposedly Ubuntu Launchpad (https://launchpad.net/hplip), however I and others have posted patches there that reliably never get any response from HP.
The best you can hope for is that the distros pick up your patches for their own packaging -- most distros are carrying 50+ patches on the package distributed by HP.
The script of hplip-3.25.2.run contains 2 lines where the terminal is called with the option -title (single hyphen). The execution is aborted on this. I think the option should be --title (double hyphen).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
That's a tricky one. The code there is written to be compatible with xterm, where the correct syntax is-title — calling xterm --title "Something" will result in an abort with this error message:
xterm: bad command line option "--title"
But you're correct that most other terminal software won't take-title. The second choice after xterm, gnome-terminal, will abort with:
# Failed to parse arguments: Unknown option -title
...I'm guessing most of the rest will be in the same boat.
But, the code in that path is ONLY run when the hplip script is not already running in a terminal, but is executed on a system with an Xorg $DISPLAY output available. So it seems to me there are several choices to work around this:
Run the hplip-3.25.2.run script from a command-line prompt, not by double-clicking it in a file manager (presumably).
Install xterm, the first-choice terminal application the script will use, so that it can be selected and called with the -title argument it supports.
Rewrite the terminal-launching logic to be much more complex about how it calls the selected terminal application, so that xterm can be called with -title, gnome-terminal can be called with --title=, and the others on the list can get the arguments that apply to them, as well.
(In addition to -title, gnome-terminal -- and presumably most of the others -- will also abort on the --xwin argument that the script wants to supply to it. But at least it does support the -e argument!)
Then, post a patch in a comment here or in a Launchpad bug, and hope someone at HP notices it someday.
Personally, I'd go with option 1.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks @FeRD. I'm using Manjaro 6.12 with xfce4-terminal version 1.1.5 in which I run sh hplip-3.25.2.run. This results in the error message Unknown option -title. Above option 1 is not applicable. Will try installing xterm and report back later.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks @FeRD. I'm using Manjaro 6.12 with xfce4-terminal version 1.1.5 in which I run sh hplip-3.25.2.run. This results in the error message
That's very strange. I'm not disbelieving you, I'm just confused. The code ahead of those terminal calls is:
iftestx"$nox11"=xn;theniftty-s;then# Do we have a terminal?:
elseiftestx"$DISPLAY"!=x-ax"$xterm_loop"=x;then# No, but do we have X?ifxsetq>/dev/null2>&1;then# Check for valid DISPLAY variableGUESS_XTERMS="xterm gnome-terminal rxvt dtterm eterm Eterm xfce4-terminal lxterminal kvt konsole aterm terminology"forain$GUESS_XTERMS;doiftype$a>/dev/null2>&1;thenXTERM=$abreakfidone
If you're in a virtual terminal, tty -sshould succeed, and ensure that none of the rest of the code is even run.
What happens if you run ttyby itself in an xfce4-terminal window? (tty -s is just the silent version of the command, it turns off the stdout message and only returns an exit code.) But running tty should indicate whether the command succeeds — in my gnome-terminal sessions, it does, and prints something like /dev/pts/13.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Running tty in xfce4-terminal prints /dev/pts/0
Nevertheless, the script trips over -title.
In xterm the installation is successful but then I receive the complaint that this hplip and my version of Manjaro are incompatible. But that is a whole different issue.
I was trying to install hplip from SourceForge because it contains hplip-plugin.
In Manjaro I used the gui Add/Remove Software to install HP Device Manager (hplip) 1:3.25.2-1. That succeeds fine and printing via wifi to the local network printer works Ok.
But scanning would not work, although I have installed sane, sane-airscan, xsane, and gscan2pdf. Apparently, hplip-plugin is also required.
Trying to install hplip-plugin via Manjaro Add/Remove Software resulted in an error message from PKGBUILD. After editing the build script, the plugin was installed. But now hp-check results in error messages about python3-pyqt4 not being installed and incompatibility with Manjaro 25.0.
I was unable to convince Manjaro to install python3-pyqt4; it only accepts python3-pyqt5.
I use Manjaro just for fun on a very old MacBook Pro. It is from 2009. Manjaro is the only Linux OS that will run on this notebook. I'll probably have to wait for an improved version of Manjaro to get the scanner working. I' ll take this up on the Manjaro forum.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hp-check is broken crap, it always checks for python3-pyqt4 (or equivalent), and claims it's required which it is NOT if you're using the Qt5 GUI. Which of course you are, since the last Qt4 release was in 2015.
For scanning to work, what you likely need is the hpaio scanning backend. I don't think the HP binary printer plugin is scanning-related (though I could be wrong).
Here's what hp-check shows on a Fedora 42 system with working scanning from an ENVY Pro 6400 Series all-in-one:
----------------------|ScanConfiguration|----------------------hpaioHPLIP-SANE-BackendREQUIRED-3.25.2OK'hpaio found in /etc/sane.d/dll.conf'scanextScan-SANE-ExtensionREQUIRED-3.25.2OK-------------------------------|DISCOVEREDSCANNERDEVICES|------------------------------device`hpaio:/net/ENVY_Pro_6400_series?ip=REDACTED' is a Hewlett-Packard ENVY_Pro_6400_series all-in-onedevice `airscan:e0:HP ENVY Pro 6400 series [REDACTED]'isaeSCLHPENVYPro6400series[REDACTED]ip=REDACTEDdevice`hpaio:/net/ENVY_Pro_6400_series?ip=REDACTED' is a Hewlett-Packard ENVY_Pro_6400_series all-in-onedevice `airscan:e0:HP ENVY Pro 6400 series [REDACTED]'isaeSCLHPENVYPro6400series[REDACTED]ip=REDACTED
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The sane-backends package installs /etc/sane.d/dll.conf which lists it on the last line of the file.
libsane-hpaio installs /etc/sane.d/dll.d/hpaio which also lists it.
Since the actual /usr/lib64/libsane-hpaio.so.1.0.0 library is installed by libsane-hpaio, that's really the crucial package on Fedora. The fact that sane-backends already lists it is probably an indication that libsane-hpaio is a required dependency of our sane-backends.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Running tty in xfce4-terminal prints /dev/pts/0
Nevertheless, the script trips over -title.
That's very strange, and inexplicable to me. If you want to find out how it's getting to that point, one thing you can do is run the .run file with sh -x, which will trace script commands as they're being executed.
On my F42 system in a gnome-terminal window, that goes like this:
$ sh-x./hplip-3.25.2.run
++ umask+ ORIG_UMASK=0022+ test n = n+ umask 077+ CRCsum=3855771365+ MD5=080e82174e90441a77cd8f53061d3776+ SHA=0000000000000000000000000000000000000000000000000000000000000000+ TMPROOT=/tmp+ USER_PWD=/home/ferd/Downloads+ export USER_PWD+ label='HPLIP 3.25.2 Self Extracting Archive'+ script=./hplip-install+ scriptargs=+ licensetxt=+ helpheader=+ targetdir=hplip-3.25.2+ filesizes=30371973+ keep=y+ nooverwrite=n+ quiet=n+ accept=n+ nodiskspace=n+ export_conf=n+ print_cmd_arg=+ type printf+ print_cmd=printf+ test -d /usr/xpg4/bin+ test -d /usr/sfw/bin+ unset CDPATH+ finish=true+ xterm_loop=+ noprogress=n+ nox11=n+ copy=none+ ownership=y+ verbose=n+ initargs=+ true+ case "$1" in+ break+ test xn = xy -a xn = xy++ id -u+ test xn = xy -a 1000 -ne 0+ test xnone '!=' xphase2+ MS_PrintLicense+ test x '!=' x+ case "$copy" in+ test xn = xn+ tty -s+ :+ test xhplip-3.25.2 = x.+ test xy = xy+ test xn = xy+ test xn = xn+ echo 'Creating directory hplip-3.25.2'Creating directory hplip-3.25.2
The : on its own line after tty -s is the branch where it gets a useful result from tty -s, so it knows it's already running in a terminal and doesn't try to do anything clever with launching a new terminal application.
(Edit: Oh, and you can always run the .run file with the argument --nox11, which tells it not to start a terminal even if it for some reason thinks it should.)
sh hplip-3.25.2.run --nox11 --noexec is also useful, it'll extract the installer into a directory named for the .run file (so, hplip-3.25.2 in this case), but not execute it. Then, you can execute it yourself with more control:
cd hplip-3.25.2 followed by ./hplip-install would start the installer, or you can run ./configure --help and ./hplip-install --help to review all of the possible options for building/installing the various bits of the system.
Note, though, that you almost certainly don't want to pass any options to hplip-install, they're almost exclusively just different ways to break it.
Last edit: FeRD 2025-05-12
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I tried all your suggestions, but no luck. But something must have been broken in my Manjaro OS because after a current system update and a new download of hplip-3.25.2-plugin.run, the plugin install went nice with as result:
This version oh HPLIP-3.33.6 is possible to install on Debian 7.1?
Thanke-you
It would be great if there were an option to save the printer configuration so that one does not have to set up a printer every time there is a new version. This would be especially helpful for users with laptops and wireless printers.
I have to take the laptop to the printer, find a USB cord, hook up the printer to the laptop, and follow the setup instructions.
Until the setup is able to find my printer on the wireless network, it would be better if the installation could check my previous printer configuration instead of deleting it.
Hi I am looking for the HP 1780L printer driver. The printer is a HP 1780L, and I have it in Panama. It has marks on it from Venezuela.
(Spanish)
Hola estoy buscando para el controlador de la impresora HP 1780L. La impresora es una HP 1780L, y lo tengo en Panamá. Tiene marcas en él desde Venezuela.
I think, you forget to update (sym)links to latest version for download, which is still pointing to 3.16.7 whereas the latest version is 3.17.9, hah.
Any chance you guys could add a PPD file for:
HP Color LaserJet Pro MFP 3301-3304/3388 series ?
I find a bug of hplip 3.24.4, how can I push a PR or like that for hplip?
@aiden256 A PR? Nowhere.
The officially supported method for reporting bugs is supposedly Ubuntu Launchpad (https://launchpad.net/hplip), however I and others have posted patches there that reliably never get any response from HP.
The best you can hope for is that the distros pick up your patches for their own packaging -- most distros are carrying 50+ patches on the package distributed by HP.
(You should check that the bug you've found isn't already fixed by distro patches; Fedora's can be found at https://src.fedoraproject.org/rpms/hplip/tree/rawhide, Debian's at https://sources.debian.org/patches/hplip/.)
The script of hplip-3.25.2.run contains 2 lines where the terminal is called with the option -title (single hyphen). The execution is aborted on this. I think the option should be --title (double hyphen).
That's a tricky one. The code there is written to be compatible with
xterm
, where the correct syntax is-title
— callingxterm --title "Something"
will result in an abort with this error message:But you're correct that most other terminal software won't take
-title
. The second choice afterxterm
,gnome-terminal
, will abort with:...I'm guessing most of the rest will be in the same boat.
But, the code in that path is ONLY run when the
hplip
script is not already running in a terminal, but is executed on a system with an Xorg$DISPLAY
output available. So it seems to me there are several choices to work around this:hplip-3.25.2.run
script from a command-line prompt, not by double-clicking it in a file manager (presumably).xterm
, the first-choice terminal application the script will use, so that it can be selected and called with the-title
argument it supports.xterm
can be called with-title
,gnome-terminal
can be called with--title=
, and the others on the list can get the arguments that apply to them, as well.(In addition to
-title
,gnome-terminal
-- and presumably most of the others -- will also abort on the--xwin
argument that the script wants to supply to it. But at least it does support the-e
argument!)Then, post a patch in a comment here or in a Launchpad bug, and hope someone at HP notices it someday.
Personally, I'd go with option 1.
Thanks @FeRD. I'm using Manjaro 6.12 with xfce4-terminal version 1.1.5 in which I run sh hplip-3.25.2.run. This results in the error message Unknown option -title. Above option 1 is not applicable. Will try installing xterm and report back later.
That's very strange. I'm not disbelieving you, I'm just confused. The code ahead of those terminal calls is:
If you're in a virtual terminal,
tty -s
should succeed, and ensure that none of the rest of the code is even run.What happens if you run
tty
by itself in an xfce4-terminal window? (tty -s
is just the silent version of the command, it turns off the stdout message and only returns an exit code.) But runningtty
should indicate whether the command succeeds — in mygnome-terminal
sessions, it does, and prints something like/dev/pts/13
.Running
tty
in xfce4-terminal prints/dev/pts/0
Nevertheless, the script trips over
-title
.In xterm the installation is successful but then I receive the complaint that this hplip and my version of Manjaro are incompatible. But that is a whole different issue.
I was trying to install hplip from SourceForge because it contains hplip-plugin.
In Manjaro I used the gui Add/Remove Software to install
HP Device Manager (hplip) 1:3.25.2-1
. That succeeds fine and printing via wifi to the local network printer works Ok.But scanning would not work, although I have installed sane, sane-airscan, xsane, and gscan2pdf. Apparently, hplip-plugin is also required.
Trying to install hplip-plugin via Manjaro Add/Remove Software resulted in an error message from PKGBUILD. After editing the build script, the plugin was installed. But now hp-check results in error messages about python3-pyqt4 not being installed and incompatibility with Manjaro 25.0.
I was unable to convince Manjaro to install python3-pyqt4; it only accepts python3-pyqt5.
I use Manjaro just for fun on a very old MacBook Pro. It is from 2009. Manjaro is the only Linux OS that will run on this notebook. I'll probably have to wait for an improved version of Manjaro to get the scanner working. I' ll take this up on the Manjaro forum.
@sqcjs
hp-check
is broken crap, it always checks forpython3-pyqt4
(or equivalent), and claims it's required which it is NOT if you're using the Qt5 GUI. Which of course you are, since the last Qt4 release was in 2015.For scanning to work, what you likely need is the
hpaio
scanning backend. I don't think the HP binary printer plugin is scanning-related (though I could be wrong).Here's what
hp-check
shows on a Fedora 42 system with working scanning from an ENVY Pro 6400 Series all-in-one:hpaio
is actually double-configured in Fedora 42.sane-backends
package installs/etc/sane.d/dll.conf
which lists it on the last line of the file.libsane-hpaio
installs/etc/sane.d/dll.d/hpaio
which also lists it.Since the actual
/usr/lib64/libsane-hpaio.so.1.0.0
library is installed bylibsane-hpaio
, that's really the crucial package on Fedora. The fact thatsane-backends
already lists it is probably an indication thatlibsane-hpaio
is a required dependency of oursane-backends
.That's very strange, and inexplicable to me. If you want to find out how it's getting to that point, one thing you can do is run the
.run
file withsh -x
, which will trace script commands as they're being executed.On my F42 system in a
gnome-terminal
window, that goes like this:The
:
on its own line aftertty -s
is the branch where it gets a useful result fromtty -s
, so it knows it's already running in a terminal and doesn't try to do anything clever with launching a new terminal application.(Edit: Oh, and you can always run the
.run
file with the argument--nox11
, which tells it not to start a terminal even if it for some reason thinks it should.)sh hplip-3.25.2.run --nox11 --noexec
is also useful, it'll extract the installer into a directory named for the.run
file (so,hplip-3.25.2
in this case), but not execute it. Then, you can execute it yourself with more control:cd hplip-3.25.2
followed by./hplip-install
would start the installer, or you can run./configure --help
and./hplip-install --help
to review all of the possible options for building/installing the various bits of the system.Note, though, that you almost certainly don't want to pass any options to
hplip-install
, they're almost exclusively just different ways to break it.Last edit: FeRD 2025-05-12
@FeRD
I tried all your suggestions, but no luck. But something must have been broken in my Manjaro OS because after a current system update and a new download of
hplip-3.25.2-plugin.run
, the plugin install went nice with as result:Now scanning from flatbed and ADF works Ok in
sane
and ingscan4pdf
. Apparently, the plugin is needed.Thanks for all your help.