Both the lp and the usblp driver create devices named lp[n], though
the kernel messages suggest an usblp[n] device for the USB printer.

When both a parallel port printer and an USB printer are attached they will
both be called lp0 leaving the system with only one device node. (So one of
the printers will be missing)

So far the best way to make a distinction seemed to be filtering on
subsystem in udev, e.g.:

# printers
KERNEL=="lp[0-9]*", SUBSYSTEM=="printer",  NAME="printer/lpt%n"
KERNEL=="lp[0-9]*", SUBSYSTEM=="usb",      NAME="printer/usb%n"

This way parallel port printers will be called 'printer/lpt[n]' and USB
printers 'printer/usb[n]'.


If my understanding of the matter is correct, parallel and USB printers use 
different device registration.

In my opinion they should either use the same device registration, so when a 
printer (either parallel port or USB port) is detected it becomes lp0 and 
when later on another printer (no matter what kind of port it's attached too) 
is detected it becomes lp1.

Or they should have different names so they can be distinguished easily. It 
doesn't seem handy to have an identical name for devices with different major 
number and the same minor number.

In the usblp driver it seems that usblp_class uses the "lp%d" name even though 
throughout the usblp driver USB printers get referenced as "usblp%d".

I'm not sure if there's a good reason for that or whether it should be fixed.

(I'm looking at linux kernel 2.6.16.16)



_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to