Saturday, October 9, 2010

The Worst Error Message in the World, Part II

The other day I wanted to set up my new printer on my Debian box, which uses the CUPS printing system. Supposedly this is pretty easy. I downloaded a PPD file from Brother and used the CUPS web interface to add the printer. It saw the printer already so it was just a matter of going through a few wizard screens, right? Not so much:

Bad device-uri "socket://"!

OK, so I googled around a bit, looked in the readme, and you can do this using the command-line interface too. The program "lpinfo" shows all the visible printers, including "socket://" which matches the IP address of the printer. I then use "lpadmin" to add the printer. Easy, right? Not so much:

lpadmin: Bad device-uri "socket://"!

CUPS has a log. Maybe it has useful information on what's going wrong? Not so much:

CUPS-Add-Modify-Printer client-error-not-possible: Bad device-uri "socket://"!

Two hours of screwing around later, including verifying that I can ping the printer and even telnet to it on all the right ports, I give up and decide to try removing and reinstalling the package. There's too many dependencies for this, so I settle for reconfiguring it. And guess what? CUPS on Debian has a notion of "backend programs" that can be turned off. It is not mentioned in the README. And "socket" was turned off.

So if you have this problem, try:

dpkg-reconfigure cups

and ensure that your desired printing interfaces are active.

Filed as Debian bug #599660.

No comments:

Post a Comment