Comment 2 for bug 162016

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

Sorry, HPLIP uses libusb/usbfs instead of usblp. Libusb uses the "/dev/bus/usb/xxx/xxx" device node instead of the "/dev/usblp0" device node.

Since usblp and libusb cannot claim the the same usb device, any HPLIP device I/O usage (ie: scanning, printing or faxing) will remove usblp from the "/dev/usblp0" device node.

If you are using CUPS this means in general you should always use the HPLIP's "hp" backend (ie: "hp:/usb/...") instead of the standard CUPS "usb" backend (ie: "usb://...").

The "hp" backend will always use the libusb device node. If you try to use the "usb" backend the "/dev/usblp0" device node may not be available.

Currently hal_lpadmin calls hp-info and hp-probe which are io intensive and will interfere with hp-firmware download for the LJ1018 and LJ1020. Because of this interference HAL will not see these printers at plug-in-play time and disable the print queue.

The hp-info and hp-probe calls in hal_lpadmin should be replaced with the hp-makeuri call. The udev sysfile information will provide the usb "bus" and "device" information necessary for the "hp-makeuri bbb:ddd" command. Hp-makeuri will return a valid HPLIP uri if the usb device is supported by HPLIP.

Hp-makeuri is a light weight call that has very little io overhead. The hp-makeuri command will not interfere with the hp-firmware download.

-dave