# hplip problems

## queen

I have an old hp 640C printer and i can't print even a test page. I followed the instructions at http://gentoo-wiki.com/HPLIP

The problems i am facing right now are:

```

./check

HP Linux Imaging and Printing System (ver. 1.7.4a)

Dependency/Version Check Utility ver. 5.3

Copyright (c) 2001-7 Hewlett-Packard Development Company, LP

This software comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to distribute it

under certain conditions. See COPYING file for more details.

---------------

| SYSTEM INFO |

---------------

Basic system information:

Linux carin 2.6.19-gentoo-r5 #1 SMP Fri Jun 1 10:19:47 IDT 2007 i686 Intel(R) Pentium(R) M processor 1.60GHz GenuineIntel GNU/Linux

Detected distro (/etc/issue):

unknown 0.0

Detected distro (lsb_release):

Currently installed HPLIP version...

HPLIP 1.7.4a currently installed in '/usr/share/hplip'.

Current contents of '/etc/hp/hplip.conf' file:

# hplip.conf

[hpiod]

# port=0 (dynamic IP port)

port=2208

[hpssd]

# port=0 (dynamic IP port)

port=2207

[hplip]

version=1.7.4a

jdprobe=0

[dirs]

home=/usr/share/hplip

run=/var/run

ppd=/usr/share/ppd/HP

ppdbase=/usr/share/ppd

doc=/usr/share/doc/hplip-1.7.4a

# Following values are determined at configure time and cannot be changed.

[configure]

network-build=0

pp-build=0

gui-build=0

scanner-build=0

fax-build=0

cups11-build=0

installinitd=

chkconfig=

internal-tag=1.7.4.13

HPLIP running?

Yes, HPLIP is running (OK).

HPOJ running?

No, HPOJ is not running (OK).

Checking Python version...

OK, version 2.4.4 installed

Checking PyQt version...

OK, version 3.17 installed.

Checking SIP version...

OK, Version 4.5.2 installed

----------------

| DEPENDENCIES |

----------------

Checking for dependency libcrypto - OpenSSL cryptographic library...

File "/usr/share/hplip/base/utils.py", line 220, in walkFiles

    for f in walkFiles(fullname, recurse, abs_paths, return_folders, pattern, path):

  File "/usr/share/hplip/base/utils.py", line 217, in walkFiles

    fullname = os.path.realpath(os.readlink(fullname))

  File "/usr/lib/python2.4/posixpath.py", line 421, in realpath

    if islink(component):

  File "/usr/lib/python2.4/posixpath.py", line 162, in islink

    return stat.S_ISLNK(st.st_mode)

  File "/usr/lib/python2.4/stat.py", line 61, in S_ISLNK

    return S_IFMT(mode) == S_IFLNK

RuntimeError: maximum recursion depth exceeded

```

lsusb is detected ok. 

```
Bus 002 Device 002: ID 03f0:2004 Hewlett-Packard DeskJet 640c

Bus 002 Device 001: ID 0000:0000

Bus 001 Device 001: ID 0000:0000

Bus 004 Device 005: ID 04b3:310b IBM Corp. Red Wheel Mouse

Bus 004 Device 001: ID 0000:0000

Bus 003 Device 001: ID 0000:0000

```

On cups i see everything. I select usb printer 

```
./probe -busb

HP Linux Imaging and Printing System (ver. 1.7.4a)

Printer Discovery Utility ver. 3.2

Copyright (c) 2001-7 Hewlett-Packard Development Company, LP

This software comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to distribute it

under certain conditions. See COPYING file for more details.

  Device URI                                Model

  ----------------------------------------  ---------------

  hp:/usb/DeskJet_640C?serial=TH114ED654NJ  HP DeskJet 640C

Found 1 printer(s) on the 'usb' bus.

```

BUT

it fails to load hplip module when it boots. If i try after boot 

```
modprobe hplip

FATAL: Module hplip not found.
```

```

grep lp /etc/group

lp::7:lp

lpadmin:x:106:
```

What should i put in /etc/group? 

Any ideas what i can do about the other errors? I am simply baffled.

I have the latest hplip and cups. 

```
equery u hplip

[ Searching for packages matching hplip... ]

[ Colour Code : set unset ]

[ Legend : Left column  (U) - USE flags from make.conf              ]

[        : Right column (I) - USE flags packages was installed with ]

[ Found these USE variables for net-print/hplip-1.7.4a-r1 ]

 U I

 + + X          : Adds support for X11

 + + cups       : Add support for CUPS (Common Unix Printing System)

 - - fax        : Enable fax support

 - - foomaticdb : Adds support for the foomatic printing driver database

 - - parport    : Enable parallel port support

 + + ppds       : Adds support for automatically generated ppd (printing driver) files

 - - qt3        : Adds support for the Qt GUI/Application Toolkit version 3.x

 - - scanner    : Adds support for scanner hardware (e.g. build the sane frontend in kdegraphics)

 - - snmp       : Adds support for the Simple Network Management Protocol if available
```

Thanks in advance

----------

## jstead1

 *Quote:*   

> BUT 
> 
> it fails to load hplip module when it boots. If i try after boot 
> 
> ```
> ...

 

hplip is not a module.  It is a service.  If you want it to start at boot add it to default with rc-update.

If you want to start it without booting, 

```
/etc/init.d/hplip start
```

----------

## queen

 *jstead1 wrote:*   

>  *Quote:*   BUT 
> 
> it fails to load hplip module when it boots. If i try after boot 
> 
> ```
> ...

 

Ok, it is started and added to rc-update. But i still get the other errors and it doesn't print anything.

----------

## bfdi533

I too get the same python max recursion errors:

```
----------------

| DEPENDENCIES |

----------------

Checking for dependency libcrypto - OpenSSL cryptographic library...

File "/usr/share/hplip/base/utils.py", line 220, in walkFiles

    for f in walkFiles(fullname, recurse, abs_paths, return_folders, pattern, path):

  File "/usr/share/hplip/base/utils.py", line 217, in walkFiles

    fullname = os.path.realpath(os.readlink(fullname))

  File "/usr/lib/python2.4/posixpath.py", line 421, in realpath

    if islink(component):

  File "/usr/lib/python2.4/posixpath.py", line 162, in islink

    return stat.S_ISLNK(st.st_mode)

  File "/usr/lib/python2.4/stat.py", line 61, in S_ISLNK

    return S_IFMT(mode) == S_IFLNK

RuntimeError: maximum recursion depth exceeded 
```

Any idea what needs to be fixed with python to make this work?

----------

## queen

 *bfdi533 wrote:*   

> I too get the same python max recursion errors:
> 
> ```
> ----------------
> 
> ...

 

I found something in google when i searched "RuntimeError: maximum recursion depth exceeded". They say it needs to increase the stack. A solution appears to be here. http://www.thescripts.com/forum/thread25061.html

I will check later today how they solve it. They refer to other link in that post. If you solve this part before me, let me know.

I am struggling with this issue more than a month. Nothing seems to help. Even with this error, i see the job sent to the printer and it even says

```
 lpq -Php-640c

hp-640c is ready and printing

Rank    Owner   Job     File(s)                         Total Size

active  root    36      Test Page                       19456 bytes

```

yet, nothing happens. 

The /etc/group file is ok? Have i missed something there?

----------

## bfdi533

I found the problem with the recursion issue.

What it is choking on is the following:

```
# ls -l /usr/include/gnome-xml       

total 164

...

lrwxrwxrwx   1 root root    22 Jun 14 16:11 libxml -> /usr/include/gnome-xml

...

```

As you can see libxml points to /usr/include/gnome-xml and this just creates another recursive search and it goes on endlessly.  If you temporarily remove this link and re-create it you can get the check to complete as follows:

```
# cd /usr/share/hplip

# rm /usr/include/gnome-xml/libxml

# ./check

...

<output of check here>

...

# ln -s /usr/include/gnome-xml /usr/include/gnome-xml/libxml

#

```

----------

## queen

 *bfdi533 wrote:*   

> I found the problem with the recursion issue.
> 
> What it is choking on is the following:
> 
> ```
> ...

 

Thanks. Sounds great. I am not near the printer now but i will check it immediately after i come home. And it solved all the problems after that? Actually prints? I am so frustated with this, that i thought the problem is with the printer itself. The /etc/group part is ok?

----------

## bfdi533

 *Quote:*   

> Thanks. Sounds great. I am not near the printer now but i will check it immediately after i come home. And it solved all the problems after that? Actually prints? I am so frustated with this, that i thought the problem is with the printer itself. The /etc/group part is ok?

 

Well, actually it did not solve the hplip printing problems that I am having BUT it did solve the hp-check application recursive limit error.  So, now you can actually run the program to check for problems with dependencies and libraries and such.

Mine says that I am missing LSB yet I have installed sys-apps/lsb-release.  The hp-check application is looking for /usr/bin/install-initrd which the sys-apps/lsb-release packages does not come with.  (Not really necessary as the ebuild guys have done a good job to get this package installed without have to use the hplip installer which would require this.)

I am at a loss personally as I have just recently upgraded something and broken my printing and I cannot find what it is that has broken it ... I am frustrated as well as I have had a working printer for the last 3-5 years and now, nothing.

----------

## queen

 *queen wrote:*   

>  *bfdi533 wrote:*   I found the problem with the recursion issue.
> 
> What it is choking on is the following:
> 
> ```
> ...

 

I did what you said. It solved the recursion problem. The output gave some errors, which it said they are optional. One of the errors was about lsb, which i didn't have installed. So, I installed lsb-release and ran again ./check. Even it was already installed it still complains that it doesn't have it. 

So, we have the same problem, yet nothing happens. Join the club. ;-( 

Weird enough, it says that is printing now. I only have a blinking lamp. I checked my deskjet printer 640c at http://hplip.sourceforge.net/supported_devices/inkjet.html and is supposed to work with hplip. 

About your upgrade that it broke,  try to install elogviewer. It will show you where the problem appears.

----------

## jstead1

I do not have lsb-release installed.  I get the lsb error, and I have no problem printing or scanning.  It should not be a show stopper.  There is something else wrong.  You don't need lsb-release.

One thing I think had been a problem in the past is that if you install the printer with the cups interface, it may not work right.  I generally use the hp device manager /usr/share/hplip/toolbox, or in the kde menu under utilities, to add the printers.  I believe most of the problems with adding in cups is that the other hp functions didn't know what the printer was, but I don't know for sure, because I always used the hp device manager.  It also may give you some idea of what might be wrong.

----------

## queen

 *jstead1 wrote:*   

> I do not have lsb-release installed.  I get the lsb error, and I have no problem printing or scanning.  It should not be a show stopper.  There is something else wrong.  You don't need lsb-release.
> 
> One thing I think had been a problem in the past is that if you install the printer with the cups interface, it may not work right.  I generally use the hp device manager /usr/share/hplip/toolbox, or in the kde menu under utilities, to add the printers.  I believe most of the problems with adding in cups is that the other hp functions didn't know what the printer was, but I don't know for sure, because I always used the hp device manager.  It also may give you some idea of what might be wrong.

 

trying to do that now. I don't have toolbox in /usr/share/hplip. Also i checked now in utilities of kde and don't find something to add a printer. Do i need to emerge something so that it will appear in utilities?

Here is what i have in /usr/share/hplip/

```
-rw-r--r--   1 root root 17940 Jun  9 19:32 COPYING

-rwxr-xr-x   1 root root   799 Jun  9 19:32 __init__.py

-rwxr-xr-x   1 root root 10296 Jun  9 19:32 align

drwxr-xr-x   2 root root  1264 Jun  9 19:34 base

-rwxr-xr-x   1 root root 14865 Jun  9 19:32 check

-rwxr-xr-x   1 root root  5846 Jun  9 19:32 clean

-rwxr-xr-x   1 root root 11641 Jun  9 19:32 colorcal

drwxr-xr-x   2 root root   112 Jun  9 19:32 copier

drwxr-xr-x   8 root root   224 Jun  9 19:32 data

-rwxr-xr-x   1 root root 25412 Jun  9 19:32 fab

drwxr-xr-x   4 root root   272 Jun  9 19:32 fax

-rwxr-xr-x   1 root root  4336 Jun  9 19:32 firmware

-rw-r--r--   1 root root  5951 Jun  9 19:32 hpaio.desc

-rw-r--r--   1 root root  4777 Jun  9 19:32 hplip

-rwxr-xr-x   1 root root    82 Jun  9 19:32 hplip-install

-rw-r--r--   1 root root   475 Jun  9 19:32 hplip.conf

-rwxr-xr-x   1 root root  4752 Jun  9 19:32 hplip.sh

-rwxr-xr-x   1 root root 23884 Jun  9 19:32 hpssd.py

-rwxr-xr-x   1 root root  6397 Jun  9 19:32 info

-rwxr-xr-x   1 root root  3918 Jun  9 19:32 install.py

drwxr-xr-x   2 root root   240 Jun  9 19:34 installer

-rwxr-xr-x   1 root root  8012 Jun  9 19:32 levels

-rwxr-xr-x   1 root root 12606 Jun  9 19:32 makecopies

-rwxr-xr-x   1 root root  6448 Jun  9 19:32 makeuri

drwxr-xr-x   2 root root   112 Jun  9 19:32 pcard

drwxr-xr-x   2 root root   256 Jun  9 19:32 plugins

drwxr-xr-x   2 root root   328 Jun  9 19:34 prnt

-rwxr-xr-x   1 root root  7878 Jun  9 19:32 probe

-rw-r--r--   1 root root  1721 Jun 12 17:49 res

-rw-r--r--   1 root root  1721 Jun 12 17:43 res~

drwxr-xr-x   2 root root    80 Jun  9 19:32 scan

-rwxr-xr-x   1 root root 24733 Jun  9 19:32 sendfax

-rwxr-xr-x   1 root root 34266 Jun  9 19:32 setup

-rwxr-xr-x   1 root root  8128 Jun  9 19:32 testpage

-rwxr-xr-x   1 root root  5118 Jun  9 19:32 timedate

drwxr-xr-x   2 root root  2960 Jun  9 19:32 ui

-rwxr-xr-x   1 root root 27026 Jun  9 19:32 unload
```

I found under Lost and Found linux lpr and configuration tool. did you meant that?

----------

## jstead1

No toolbox in /usr/share/hplip, hmm.  That appears to be the only one missing.

What USE flags did you use when you emerged (assuming you have not changed use flags, emerge -pv hplip will show you)?

I used 

```
# emerge -pv hplip

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] net-print/hplip-1.7.4a-r1  USE="X cups foomaticdb ppds qt3 scanner -fax -parport -snmp" 0 kB

```

I believe it is the qt3 USE flag that gives you the toolbox.  You technically don't need it, it is a GUI to use the tools included in hplip, but it does make it a heck of a lot easier.

----------

## jstead1

Another thing to keep in mind as you are troubleshooting.  If you make changes to hplip, you may need to restart hplip for the change to take (this doesn't apply to setting up a printer, but does apply to say, re-installing hplip with different USE flags).  After you start hplip, you should restart cupsd.

If hplip is started after cupsd, cups is not aware of hplip.  If you make changes to hplip, and restart it without restarting cupsd then cups will not be aware of the latest hplip, and it still might not work.

So, just to be sure, if you change hplip, stop cupsd, restart (or start) hplip, start cupsd.

----------

## queen

 *jstead1 wrote:*   

> No toolbox in /usr/share/hplip, hmm.  That appears to be the only one missing.
> 
> What USE flags did you use when you emerged (assuming you have not changed use flags, emerge -pv hplip will show you)?
> 
> I used 
> ...

 

```
emerge -pv hplip

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] net-print/hplip-1.7.4a-r1  USE="X cups ppds -fax -foomaticdb -parport -qt3 -scanner -snmp" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB

```

About the start i used what they showed in http://gentoo-wiki.com/HPLIP and it was the other way around. 

I changed now the order and i see in the utilities hp device manager. It doesn't launch anything. I tried also 

```
# /usr/share/hplip/toolbox

HP Linux Imaging and Printing System (ver. 1.7.4a)

HP Device Manager ver. 10.0

Copyright (c) 2001-7 Hewlett-Packard Development Company, LP

This software comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to distribute it

under certain conditions. See COPYING file for more details.

Traceback (most recent call last):

  File "/usr/share/hplip/toolbox", line 159, in ?

    toolbox = DevMgr4(hpiod_sock, hpssd_sock, toolboxCleanup, __version__)

  File "/usr/share/hplip/ui/devmgr4.py", line 152, in __init__

    self.user_settings = utils.UserSettings()

  File "/usr/share/hplip/base/utils.py", line 541, in __init__

    self.load()

  File "/usr/share/hplip/base/utils.py", line 643, in load

    self.cmd_scan = user_cfg.commands.scan or self.cmd_scan

AttributeError: 'UserSettings' object has no attribute 'cmd_scan'
```

----------

## bfdi533

 *jstead1 wrote:*   

> One thing I think had been a problem in the past is that if you install the printer with the cups interface, it may not work right.  I generally use the hp device manager /usr/share/hplip/toolbox, or in the kde menu under utilities, to add the printers.  I believe most of the problems with adding in cups is that the other hp functions didn't know what the printer was, but I don't know for sure, because I always used the hp device manager.  It also may give you some idea of what might be wrong.

 

For what it is worth, that seems to be the winning ticket!  I had installed all my printers through cups previously.  Just to check it out, I deleted all printers through cups and installed then through hp-setup (and hp-toolbox) and now my printer prints.  I can see the print queue through cups as well so all seems to be good in the world again.

Now, if the hp printer and usb_storage would just stop throwing all sorts of annoying messages in /var/log/messages, my hplip troubles would be ended.

----------

## queen

 *bfdi533 wrote:*   

>  *jstead1 wrote:*   One thing I think had been a problem in the past is that if you install the printer with the cups interface, it may not work right.  I generally use the hp device manager /usr/share/hplip/toolbox, or in the kde menu under utilities, to add the printers.  I believe most of the problems with adding in cups is that the other hp functions didn't know what the printer was, but I don't know for sure, because I always used the hp device manager.  It also may give you some idea of what might be wrong. 
> 
> For what it is worth, that seems to be the winning ticket!  I had installed all my printers through cups previously.  Just to check it out, I deleted all printers through cups and installed then through hp-setup (and hp-toolbox) and now my printer prints.  I can see the print queue through cups as well so all seems to be good in the world again.
> 
> Now, if the hp printer and usb_storage would just stop throwing all sorts of annoying messages in /var/log/messages, my hplip troubles would be ended.

 

Ok, i have some progress but it still doesn't work. I deleted all the printers in cups and I used hp-setup. Got the menu and done as guided. When i finished i asked to print test page and i got error

```

error: Unable to communicate with device: hp:/usb/DeskJet_640C?serial=TH114ED654NJ

error: Unable to print to printer.Please check device and try again.

```

If i try to use hp-toolbox i get

```

Traceback (most recent call last):

  File "/usr/bin/hp-toolbox", line 159, in ?

    toolbox = DevMgr4(hpiod_sock, hpssd_sock, toolboxCleanup, __version__)

  File "/usr/share/hplip/ui/devmgr4.py", line 152, in __init__

    self.user_settings = utils.UserSettings()

  File "/usr/share/hplip/base/utils.py", line 541, in __init__

    self.load()

  File "/usr/share/hplip/base/utils.py", line 643, in load

    self.cmd_scan = user_cfg.commands.scan or self.cmd_scan

AttributeError: 'UserSettings' object has no attribute 'cmd_scan'

```

```
dmesg

hub 2-0:1.0: port 1, status 0101, change 0001, 12 Mb/s

hub 2-0:1.0: debounce: port 1: total 100ms stable 100ms status 0x101

usb 2-1: new full speed USB device using uhci_hcd and address 3

usb 2-1: default language 0x0409

usb 2-1: new device strings: Mfr=9, Product=17, SerialNumber=24

usb 2-1: Product: DeskJet 640C

usb 2-1: Manufacturer: Hewlett-Packard

usb 2-1: SerialNumber: TH114ED654NJ

PM: Adding info for usb:2-1

usb 2-1: uevent

usb 2-1: usb_probe_device

PM: Adding info for No Bus:usbdev2.3_ep00

usb 2-1: configuration #1 chosen from 1 choice

usb 2-1: adding 2-1:1.0 (config #1, interface 0)

PM: Adding info for usb:2-1:1.0

usb 2-1:1.0: uevent

usblp 2-1:1.0: usb_probe_interface

usblp 2-1:1.0: usb_probe_interface - got id

PM: Adding info for No Bus:usbdev2.3_ep01

PM: Adding info for No Bus:usbdev2.3_ep82

drivers/usb/core/file.c: looking for a minor, starting at 0

drivers/usb/class/usblp.c: usblp0: USB Bidirectional printer dev 3 if 0 alt 1 proto 2 vid 0x03F0 pid 0x2004

PM: Removing info for No Bus:usbdev2.3_ep01

 usbdev2.3_ep01: ep_device_release called for usbdev2.3_ep01

PM: Removing info for No Bus:usbdev2.3_ep82

 usbdev2.3_ep82: ep_device_release called for usbdev2.3_ep82

drivers/usb/core/inode.c: creating file '003'

hub 2-0:1.0: state 7 ports 2 chg 0000 evt 0002

```

----------

## queen

 *jstead1 wrote:*   

> Another thing to keep in mind as you are troubleshooting.  If you make changes to hplip, you may need to restart hplip for the change to take (this doesn't apply to setting up a printer, but does apply to say, re-installing hplip with different USE flags).  After you start hplip, you should restart cupsd.
> 
> If hplip is started after cupsd, cups is not aware of hplip.  If you make changes to hplip, and restart it without restarting cupsd then cups will not be aware of the latest hplip, and it still might not work.
> 
> So, just to be sure, if you change hplip, stop cupsd, restart (or start) hplip, start cupsd.

 

Done that. See my reply above with the new results.

----------

