"hp" CUPS backend should report the real IEEE-1284 device IDs, not artificial ones
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HPLIP |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
If the "hp" backend is started without command line options by CUPS (discovery mode) then all locally connected HP printers get reported back in the format which CUPS needs. The last field is the IEEE-1284 device ID. The "usb" backend reports exactly the ID which it reads from the printer, but the "hp" backend reports an artificially created ID. This causes a lot of extra work when writing printer setup tools. For example it is not easy to compare the IDs from the "usb" backend and from the "hp" backend to determine which 2 are the same printer so that one can list the two results as one printer and use the "ḧp" backend by default. It is also difficult to find all PPD files which work with a given printer, especially also native PostScript PPD files. Also the udev-based printer auto-setup is much easier to implement if all CUPS backends report real device IDs.
I have added a patch from Tim Waugh which modifies the "hp" CUPS backend to poll the device ID from the printer using the libusb-based method which HPLIP already provides. A patch is attached. Please consider it for HPLIP 3.9.8.
I have tested the patch "hp" backend with 10 USB printers from HP and it works perfectly.
Changed in hplip: | |
status: | New → Fix Committed |
I have problem with this patch because it is not backward compatable with older distros. The patch adds libudev as a new dependency which is certainly not used by most distros yet.
Can you be more specific about the problem with the current "hp" backend? Can you give me an printer example?
We have named all our PPDs to match USB/DeviceID model names including the PS PPDs. So this should be an easy case insensitive match.
There are also other solutions that I prefer over this patch.
1. With CUPS 1.4 the "usb" backend is libusb compatible. I can modify the "hp" backend to provide real device-ids without using libudev or usblp.
2. I have talked to Mike Sweet about adding manufacturer extensions to the "usb" backend. Mike talked about doing this for CUPS 1.4. Then we could merge the "hp" backend into the "usb" backend.
-dave