Ken Moffat
2014-01-21 00:24:04 UTC
I think we have an overzealous "Note" in the Kernel Configuration
part of the cups instructions -
| There is a conflict between the Cups libusb backend and the usblp
| kernel driver. If you want to use Cups with libusb, do not enable
| USB Printer support in your kernel.
For several years, I have used the kernel's usblp driver, as a
modules. and not libusb. Indeed, I removed colord from my builds
when it apparently became dependant on libusb. But while I was
testing everything for make-4.0 I had to build libusb, and confirmed
that printing via libusb without the kernel's usblp driver worked
fine. So far so good, and I decided to reinstate colord and to
allow myself to use lsusb from usbutils if I ever needed it.
And then I went back to that build to put a 3.13.0 kernel on it. I
wanted to check my ink (using escputil), but that needs to read the
raw device, /dev/usb/lp0, and I didn't have one. Googling showed
that arch's wiki mentions building usblp as a module, inserting it
before using escputil, and then rmmod'ing it to enable printing to
work. Sounded awkward, but worth a try.
In fact, with usblp as a module everything is working fine in
3.13.0 with libusb! When I connect the printer, usblp (and
usb_storage - who said printers were straightforward ? :) gets
loaded and escputil is able to tell me which ink is running out.
And then, even without trying to rmmod usblp, printing through cups
works fine.
Not sure if building usblp into the kernel will work the same way ?
I'll have to try that when I next build a new kernel for this system,
I suppose [ CONFIG_USB_PRINTER=y ].
Meanwhile, opinions from people with different usb printers who use
cups and libusb would be welcome. Maybe usblp needs to be a module
so that it isn't loaded when cups start, or perhaps any previous
problem has now been resolved in a recent version of one of the
packages.
ĸen
part of the cups instructions -
| There is a conflict between the Cups libusb backend and the usblp
| kernel driver. If you want to use Cups with libusb, do not enable
| USB Printer support in your kernel.
For several years, I have used the kernel's usblp driver, as a
modules. and not libusb. Indeed, I removed colord from my builds
when it apparently became dependant on libusb. But while I was
testing everything for make-4.0 I had to build libusb, and confirmed
that printing via libusb without the kernel's usblp driver worked
fine. So far so good, and I decided to reinstate colord and to
allow myself to use lsusb from usbutils if I ever needed it.
And then I went back to that build to put a 3.13.0 kernel on it. I
wanted to check my ink (using escputil), but that needs to read the
raw device, /dev/usb/lp0, and I didn't have one. Googling showed
that arch's wiki mentions building usblp as a module, inserting it
before using escputil, and then rmmod'ing it to enable printing to
work. Sounded awkward, but worth a try.
In fact, with usblp as a module everything is working fine in
3.13.0 with libusb! When I connect the printer, usblp (and
usb_storage - who said printers were straightforward ? :) gets
loaded and escputil is able to tell me which ink is running out.
And then, even without trying to rmmod usblp, printing through cups
works fine.
Not sure if building usblp into the kernel will work the same way ?
I'll have to try that when I next build a new kernel for this system,
I suppose [ CONFIG_USB_PRINTER=y ].
Meanwhile, opinions from people with different usb printers who use
cups and libusb would be welcome. Maybe usblp needs to be a module
so that it isn't loaded when cups start, or perhaps any previous
problem has now been resolved in a recent version of one of the
packages.
ĸen
--
das eine Mal als Tragödie, dieses Mal als Farce
das eine Mal als Tragödie, dieses Mal als Farce