The only way for a clean workaround for this problem is to do an appropriate change in the usblp kernel module and/or the "usb" backend of CUPS. Can you do the following:
1. Edit /etc/cups/cupsd.conf to have "LogLevel debug", restart CUPS with "sudo /etc/init.d/cupsys restart"
2. Have the CUPS with my alternative USB backend installed and the "usblp" kernel module removed. Watch the output of "lpinfoi -v". As soon as the devce disappears, post /var/log/cups/error_log.
3. Have the original CUPS packages installed and the "usblp" kernel module loaded. Watch the output of "lpinfoi -v" again. As soon as the devce disappears, post /var/log/cups/error_log.
Does (in the case when you use the "usblp" kernel module) the file /dev/usblp0 (/dev/usblp1, ...) for your printer exist? What is the output of "sudo usb_printerid /dev/usblp0" (/dev/usblp1, ...)? Does the /dev/usblp0 (/dev/usblp1, ...) disappear when the printer disappears? Or does only the output of "usb_printerid" change?
The only way for a clean workaround for this problem is to do an appropriate change in the usblp kernel module and/or the "usb" backend of CUPS. Can you do the following:
1. Edit /etc/cups/ cupsd.conf to have "LogLevel debug", restart CUPS with "sudo /etc/init.d/cupsys restart"
2. Have the CUPS with my alternative USB backend installed and the "usblp" kernel module removed. Watch the output of "lpinfoi -v". As soon as the devce disappears, post /var/log/ cups/error_ log.
3. Have the original CUPS packages installed and the "usblp" kernel module loaded. Watch the output of "lpinfoi -v" again. As soon as the devce disappears, post /var/log/ cups/error_ log.
Does (in the case when you use the "usblp" kernel module) the file /dev/usblp0 (/dev/usblp1, ...) for your printer exist? What is the output of "sudo usb_printerid /dev/usblp0" (/dev/usblp1, ...)? Does the /dev/usblp0 (/dev/usblp1, ...) disappear when the printer disappears? Or does only the output of "usb_printerid" change?