Hello,

On Jul 24 14:17 Bill Liston wrote (shortened):
> The ip address of the printer is 192.168.1.3
> 
> I followed the instructions in the hplip page for the auto install
...
> HP Linux Imaging and Printing System (ver. 1.6.10)

I assume you use the hplip packages which we provide in openSUSE 10.2.
If yes, there is no need to do any kind of "auto install" of the
software again - the HPLIP software is already installed.
What you need is only to configure a print queue for your printer.


> HPLIP running?
>  --> No, HPLIP is not running (OK).
...
> error: Unable to connect to hpiod.
> error: Unable to connect to HPLIP I/O. Please (re)start HPLIP and try again.

This tells it all.
Start the hplip services and then use hp-setup to set up
a print queue for your printer.

To start the hplip services you can user the YaST "runlevel editor"
or do on the comand line as root:
  insserv hplip
  rccups stop
  rchplip start
  rccups start


By the way 1:

None of the usual printer setup tools which I know about
is well prepared for the special case HPLIP which required
its special hplip services (daemons) to be up and running.
For example in YaST it works only for locally connected
HP all-in-one devices (but your device is connected via ethernet).


By the way 2:

Since HPLIP version 2.x there is no longer a daemon needed
for the plain device I/O (but a daemon is still needed for
more sophisticated stuff like device status).

I provide for testing HPLIP 2.7.6 for the released openSUSE 10.2
and Suse Linux 10.1 and Suse Linux Enterprise 10 (SLE 10)
and for the openSUSE development version openSUSE "factory"
for 32-bit Intel compatible (i586) and 64-bit AMD (x86_64)
via the openSUSE build service at
http://software.opensuse.org/download/home:/jsmeix/

The packages are
* only for testing
* without any guarantee or warranty
* without any support 

As an extreme example, this means that if your complete computer center
crashes because of these packages, it is only your problem.

Nevertheless, I am very interested in your feedback because the more
people test it, the more problems (even hidden problems) are revealed.
To send me feedback or bug reports, please follow the instructions in
http://en.opensuse.org/Submitting_Bug_Reports
Choose the component "Printing" (also for scanning/faxing with HPLIP).
Make it obvious which package, which package version, which hardware
architecture and which openSUSE version you are talking about - e.g.:
 "Feedback regarding hplip-2.7.6-24.2.i586.rpm
  and hplip-hpijs-2.7.6-24.2.i586.rpm from
  http://software.opensuse.org/download/home:/jsmeix/ 
  for openSUSE 10.2 used on 64-bit AMD hardware."
Ideally provide the "rpm -q --changelog hplip | head" output
to make it obvious which exact package release you have.


Some special notes reagarding my packages:


1. Regarding "no more start-up daemons":

hpiod is replaced by new direct device I/O (via hpmud library)
but hpssd (for device status) still exists and is started by
default as a daemon by the first user who needs it.
There is the drawback that it results a random user which
runs hpssd (the user who needed it first since system boot).
Therefore we (i.e. Novell/Suse) still provide /etc/init.d/hplip
(and its symlink /usr/sbin/rchplip) which is used to start hpssd
as before during system boot.


2. Regarding "controllable permissions":

We (i.e. Novell/Suse) provide /etc/udev/rules.d/55-hpmud.rules
with more explicite permission setings than HP's original:
----------------------------------------------------------------
# TODO: add PROGRAM rule for 7/xx/xx printer class interface
SUBSYSTEM!="usb_device", GOTO="hpmud_rules_end"
ACTION!="add", GOTO="hpmud_rules_end"
SYSFS{idVendor}=="03f0", OWNER="root", GROUP="lp", MODE="0660"
LABEL="hpmud_rules_end"
----------------------------------------------------------------
We explicitely set additionally owner and mode so that the
device file /dev/bus/usb/<bus-number>/<device-number>
(see the "lsusb" output for bus-number and device-number)
has the following permissions "rw-rw---- root lp"
so that the CUPS backend "hp" which runs under the user "lp"
("lp" is a member of the group "lp") can access the device.
This is sufficient for printing.

As in HP's original 55-hpmud.rules file, we sets those
permissions for all HP USB devices (i.e. where the USB
vendor ID is "03f0").
The reason is that there is no complete list of USB product
IDs for those HP devices which are supported by HPLIP.

To avoid that HP USB devices which are no printers get also those
permissions, specify the USB product ID (see the "lsusb" output
for the USB IDs) for those devices which are HP USB printers
for example as follows (long lines are wrapped here at "GROUP",
in the real file all permission settings must be on one line):
----------------------------------------------------------------
# TODO: add PROGRAM rule for 7/xx/xx printer class interface
SUBSYSTEM!="usb_device", GOTO="hpmud_rules_end"
ACTION!="add", GOTO="hpmud_rules_end"
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="7004", OWNER="root",
 GROUP="lp", MODE="0660"
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0417", OWNER="root", 
 GROUP="lp", MODE="0660"
LABEL="hpmud_rules_end"
----------------------------------------------------------------
Here for example only a DeskJet 3320c with USB product ID "7004"
and a LaserJet 1220 with USB product ID "0417" get the
permission settings for printing.

But those permissions are not sufficient for scanning because
scanning is done as normal user (i.e. the user who runs the
scanning frontend program like scanimage, xscanimage, xsane).

To set appropriate permissions for scanning, do one of the
following:

a)
Add the normal users who should be allowed to scan
to the "lp" group.

b)
Use a different /etc/udev/rules.d/55-hpmud.rules file like
the following (long lines are wrapped here at "GROUP", in the
real file all permission settings must be on one line):
----------------------------------------------------------------
# TODO: add PROGRAM rule for 7/xx/xx printer class interface
SUBSYSTEM!="usb_device", GOTO="hpmud_rules_end"
ACTION!="add", GOTO="hpmud_rules_end"
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="7004", OWNER="root",
 GROUP="lp", MODE="0660"
SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="0417", OWNER="root",
 GROUP="lp", MODE="0666"
LABEL="hpmud_rules_end"
----------------------------------------------------------------
Now the all-in-one device LaserJet 1220 with product ID "0417"
has insecure permissions which allow all users read/write access.
R/w access is necessary for scanning but it should not be set
for for all users. Any user can now send nonsense data to
the device (e.g. disturb a simlutaneously running print job
or a simlutaneously running scanning).
MODE="0666" is only o.k. for system where only one person works
at the same time e.g. a personal workstation without remote login.

c)
Use "resmgr" to let it set an appropriate ACL for the USB device
file so that only the user who is logged in directly at the
computer (i.e. who is logged in via "console"/KDM/XDM) gets
read/write access for the device.
Add the device to /etc/hal/fdi/policy/10osvendor/80-scanner.fdi
for example for openSUSE 10.2 like
-----------------------------------------------------------------
<match key="info.category" string="usbraw">
<match key="@info.parent:usb_device.vendor_id" int="0x03f0">
<match key="@info.parent:usb_device.product_id" int="0x0417">
<append key="info.capabilities" type="strlist">scanner</append>
</match>
</match>
</match>
-----------------------------------------------------------------
and for the openSUSE development version openSUSE "factory" like
-----------------------------------------------------------------
<match key="info.bus" string="usb_device">
<match key="usb_device.vendor_id" int="0x03f0">
<match key="usb_device.product_id" int="0x0417">
<append key="info.capabilities" type="strlist">scanner</append>
</match>
</match>
</match>
-----------------------------------------------------------------
It should not cause problems if you have both kind of entries
at the same time in the .../80-scanner.fdi file.
For background information about the changed format, see
https://bugzilla.novell.com/show_bug.cgi?id=250659

Here for example the all-in-one device LaserJet 1220 with product
ID "0417" gets via the udev/HAL/resmgr machinery an appropriate
ACL set for its decice file like
----------------------------------------------------------------
[EMAIL PROTECTED] lsusb
...
Bus 002 Device 035: ID 03f0:0417 Hewlett-Packard
...

[EMAIL PROTECTED] ls -l /dev/bus/usb/002/035
crw-rw----+ 1 root lp ... /dev/bus/usb/002/035

[EMAIL PROTECTED] getfacl /dev/bus/usb/002/035
getfacl: Removing leading '/' from absolute path names
# file: dev/bus/usb/002/035
# owner: root
# group: lp
user::rw-
user:jsmeix:rw-
group::rw-
mask::rw-
other::---
----------------------------------------------------------------
Here the normal user "jsmeix" (and only this one normal user)
has read/write permissions because I am currently logged in
directly at the computer via this user. All other normal users
still don't have any permissions.


Kind Regards
Johannes Meixner
-- 
SUSE LINUX Products GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
AG Nuernberg, HRB 16746, GF: Markus Rex

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
HPLIP-Help mailing list
HPLIP-Help@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hplip-help

Reply via email to