Comment 4 for bug 691027

Revision history for this message
Marcel Partap (empee584) wrote :

Ok, after a deep look into this it seems the usblp kernel module does not set the ieee1284_id proper, which makes system-config-printer-udev skip the device even though the serial number is present..
I tested this for my setup (after going in circles for a good while) with:
# watch -d -n 1 'cat /sys/devices/pci0000\:00/0000\:00\:02.1/usb1/1-3/1-3\:1.1/ieee1284_id'
USB hub and port number do not change by themself, so when unplugging you can see the file disappear and reappear on replug. However, when doing a power off/up cycle of the device, it is populated only incompletely:
"MODE:PCL;STATUS:IDLE;"
Waiting does not help.. However, executing /usr/lib/cups/backend/usb does! A quick strace shows that it sends some IOCTLs to the USB sub system, which makes the correct ieee1284_id reinitialize - after that manual printer resume with "config-printer-udev" does work. Here, my ambition to further nail the issue is exhausted - not going to dive into kernel debugging on a saturday evening C-;
someone have a look at code in that backend, please ;-)