FS#9867 - /dev/lp0 not created by udev

Attached to Project: Arch Linux
Opened by Simone Lazzaris (ziopera) - Tuesday, 18 March 2008, 14:29 GMT
Last edited by Roman Kyrylych (Romashka) - Monday, 07 April 2008, 13:37 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture i686
Severity High
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Upgrading udev cause the loss of /dev/lp0:

Additional info:
* package version(s)
The bugs happens with udev 118-2; not yet tested 118-5.

* config and/or log files etc.
$ lsmod|grep lp
lp 9220 0
parport 31432 2 ppdev,lp

$ dmesg|grep lp
lp: driver loaded but no devices found

Steps to reproduce:
1) Check that /dev/lp0 exists
2) pacman -Syu
3) reboot
4) watch the absence of /dev/lp0
5) tell wife she cannot print
6) downgrade to udev 116-3 to fix and save marriage

This happens on both (work + home) my arch linux computers, which are very different as architecture (AMD athlon XP vs Intel P4) and bios/motherboard age.
This task depends upon

Closed by  Roman Kyrylych (Romashka)
Monday, 07 April 2008, 13:37 GMT
Reason for closing:  Fixed
Comment by Tobias Powalowski (tpowa) - Tuesday, 18 March 2008, 19:16 GMT
interesting, if you use ppdev then imho no lp can be used and is disabled by default.
Are you using hplip? then this would be normal.
Comment by Tobias Powalowski (tpowa) - Wednesday, 19 March 2008, 16:26 GMT
also speaking of version that are no longer in repository doesn't make it easier.
what's the status on udev-118-5 or udev-118-7
Comment by Simone Lazzaris (ziopera) - Wednesday, 19 March 2008, 16:47 GMT
I've now tried with udev 118-5 and the problem persists: I still have

lp: driver loaded but no devices found

in dmesg.

regarding ppdev, i did't know what is it; I've googled a bit, but I'm don't think it's in use; I also add that I don't a /dev/parport entry either.

And I'm not using hplip, since I don't have any HP printer.

If you need some other info, just ask.
Comment by Tobias Powalowski (tpowa) - Wednesday, 19 March 2008, 16:49 GMT
could you try to unload ppdev and then reload lp driver?
Comment by narcisse (narcisse) - Wednesday, 19 March 2008, 20:05 GMT
Tobias,

There are 2 topics in the forums which discuss about this issue :
http://bbs.archlinux.org/viewtopic.php?id=45456
http://bbs.archlinux.org/viewtopic.php?id=45496

Narcisse
Comment by Adam Vogt (vogt) - Thursday, 20 March 2008, 04:51 GMT
# modprobe lp
# modprobe parport
# modprobe parport_pc
Enables parallel port printers, which wasn't necessary before. The cups article in the wiki has this information.
Comment by Tobias Powalowski (tpowa) - Thursday, 20 March 2008, 16:48 GMT
would be interesting why ppdev is loaded on your pc
Comment by Simone Lazzaris (ziopera) - Friday, 21 March 2008, 08:43 GMT
Tobias, it seems that actually ppdev is loaded: executing
$ lsmod|grep pp
appletalk 30688 2
psnap 3332 2 appletalk,ipx
ppdev 7556 0
ppp_generic 23828 0
slhc 5632 1 ppp_generic
parport 31432 2 ppdev,lp

So, I've removed (rmmod) ppdev and reloaded (modprobe) lp, parport and partport_pc; /dev/lp0 automagically appeared.
I'll try to blacklist ppdev, which I don't need.

I'd like to know if it's only me that has that problem or if it is a generalized issue; I think that the number of user that use a parallel printer is much greater of the number of user that program a parallel-interfaced device.
Comment by Tobias Powalowski (tpowa) - Friday, 21 March 2008, 08:44 GMT
you could try if the old load-modules.sh would solve this issue too.
it's loaded by udev but iscne the update it seems ppdev is loaded before lp
Comment by Simone Lazzaris (ziopera) - Friday, 21 March 2008, 11:25 GMT
I've tried to extract /lib/udev/load-modules-sh from udev 116-3 (last known working version), using it instead of the newer version.
I've rebooted and, alas, the /dev/lp0 device was still absent. And still I read in dmesg

lp: driver loaded but no devices found

So it seems that _this_ script is innocent.

By the wat, I have repeated step by step the sequence that I've used to unload ppdev and reload parport.

rmmod ppdev
modprobe lp
modprobe parport
modprobe parport_pc

At every step I've checked the kernel log. Only the very last step (modprobe parport_pc) caused the driver to find the parallel port, creating /dev/lp0. I don't know if it's an issue.
Comment by Tobias Powalowski (tpowa) - Friday, 21 March 2008, 14:18 GMT
well it would be really interesting, what happens if you load ppdev at the end again,
is lp then gone again?
Comment by Simone Lazzaris (ziopera) - Friday, 21 March 2008, 15:33 GMT
I've tried; the module is loaded without warning, and /dev/lp0 is still there.
dmesg says
ppdev: user-space parallel port driver

I don't have a printer attached, here (at work), so I cannot say if /dev/lp0 is still functional; I'll try at home, where I have a parallel printer, if you think it's interesting.
Comment by Tobias Powalowski (tpowa) - Friday, 21 March 2008, 17:02 GMT
i need to find a way to restore this loading order, the rules are written like this but udev seems to load them the other way around
Comment by Tobias Powalowski (tpowa) - Friday, 21 March 2008, 19:20 GMT
hrm, on my laptop it stills works fine.
which files are in your /etc/udev/rules.d?
Comment by Tobias Powalowski (tpowa) - Friday, 21 March 2008, 20:47 GMT
ok found the error, will be fixed in next 119 version
Comment by Tobias Powalowski (tpowa) - Friday, 21 March 2008, 22:10 GMT
please confirm if fixed in udev-119 from testing
Comment by Simone Lazzaris (ziopera) - Tuesday, 01 April 2008, 07:04 GMT
Sorry for the delay of the answer, I've been offline for a while;
I can't find udev-119 in testing, so I cannot say if it fixes the problem; can you post here the patch, so I can try it ?
Comment by Roman Kyrylych (Romashka) - Sunday, 06 April 2008, 08:08 GMT
udev-119-1 is in Core already
Comment by Simone Lazzaris (ziopera) - Monday, 07 April 2008, 08:38 GMT
Ok, I've misunderstood. I've tried it and it's working, on both my computers.
I'm closing the bug.
Thanks a lot for the attention and the good work.

Loading...