force loading of ppdev kernel module via udev

Bug #173919 reported by Johannes Meixner
2
Affects Status Importance Assigned to Milestone
HPLIP
Won't Fix
Undecided
Unassigned

Bug Description

This is an enhancement request for HP parallel port devices:

By default openSUSE does not load the ppdev module.

If I understand the udev rules in HPLIP 2.7.10 correctly,
it does not enforce loading of the ppdev kernel module
if a HP device is at the parallel port.

In our /etc/udev/rules.d/50-udev-default.rules there is
------------------------------
SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
------------------------------
to change the group of /dev/lp* device file to "lp".

Perhaps such a SUBSYSTEM=="printer" test
together with a test if it is a HP device
could be added to hpmud.rules
to load the ppdev kernel module?

I am not a udev expert to know the correct rule
but I have something like this in mind
(see /etc/udev/rules.d/80-drivers.rules in openSUSE 10.3):
-----------------------------------
SUBSYSTEM=="printer", TEST!="[module/ppdev]", RUN+="/sbin/modprobe ppdev"
-----------------------------------
Of course here the test for a HP device is missing.
I don't know how to test this on the parallel port.

Revision history for this message
Aaron Albright (albrigha-deactivatedaccount) wrote :

This is a good idea. We are trying to make the installer as generic as possible and because other distros load the ppdev module in different ways we may stick with the modprobe ppdev for now.

Thanks for your support of hplip!

Aaron

Changed in hplip:
status: New → Won't Fix
Revision history for this message
Johannes Meixner (jsmeix) wrote :

Could you explain what exactly you mean with "installer"?
Is it e.g. hplip-2.7.12.run or is it hp-setup?

Could you explain what exactly you mean with
"we may stick with the modprobe ppdev"?

Regardless what it is:
When the intaller or setup tool (or even "make install") only calls
"modprobe ppdev", it loads it only in the currently running system.
But it does not load it again after a reboot.

Therefore the HPLIP software must do something
which makes sure that ppdev is loaded during boot
if there is a HPLIP-device at the parallel port.

Usually (i.e. as far as I know for all current kernels) udev is used for this.

Therefore I think my proposal is independent of a
particular Linux distribution.

It is just about adding another udev rule to your existing hpmud.rules
so that also HPLIP-devices at the parallel port work in any case.

Or do I misunderstand something?

Revision history for this message
David Suffield (david-suffield) wrote :

Hi Johannes,
Here are my thoughts on this subject.

Other distros automatically load ppdev when they load parport. As far as I know Suse is the only one that does not load it automatically.

This should not be a hplip requirment to load ppdev. Because all user mode parport applications will require ppdev. This is because you cannot use parport from user mode without ppdev.

If you need a udev rule to load ppdev I would put it in Suse's 50-udev-default.rules.

Does that make sense?

-dave

Revision history for this message
Johannes Meixner (jsmeix) wrote :

Many thanks for the background information.

I filed an enhancement request to load the ppdev kernel module
automatically when parport is loaded:
https://bugzilla.novell.com/show_bug.cgi?id=353189

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.