Jun 9 16:33:20 beethoven udev-configure-printer: add /devices/pci0000:00/0000:00:02.1/usb1/1-2/1-2:1.0/usb/lp0 Jun 9 16:33:20 beethoven udev-configure-printer: parent devpath is /devices/pci0000:00/0000:00:02.1/usb1/1-2 Jun 9 16:33:20 beethoven udev-configure-printer: invalid or missing IEEE 1284 Device ID
$ lsusb -v -s 1:2 Bus 001 Device 002: ID 04f9:0142 Brother Industries, Ltd MFC-8420 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x04f9 Brother Industries, Ltd idProduct 0x0142 MFC-8420 bcdDevice 1.00 iManufacturer 0 iProduct 0 iSerial 3 bNumConfigurations 1
Because of some space character in the printer response, the driver emits that bogus “invalid or missing” thingey and it makes it impossible to configure the printer. The kludgearound that worked until today was to lie to CUPS and tell it we had a parallel printer sitting in /dev/usb/lp0. For reasons that I cannot diagnose, that has stopped working. I have verified that I have the latest and greatest drivers from Brother, but to no avail. It has been clear since I first got it working that the setup was really, really dodgey:
#! /bin/bash test -c /dev/usb/lp0 && exit 0 sudo bash -c 'rmmod usblp ; modprobe usblp' sleep 1 lpstat
but it has worked for me since last summer. Now it doesn’t. Now what?
Oh, the printers.conf file that used to work:
<DefaultPrinter oh_brother> Info Brother MFC-8420 Location here MakeModel Brother MFC-8420 for CUPS DeviceURI parallel:/dev/usb/lp0 State Idle StateTime 1307638243 Type 8388612 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy stop-printer </Printer>