Friday, March 9, 2007

The Case of the Slow Scanner

The problem: scanner access was very slow. All the SANE front-ends that I tried got stuck for more than a minute, while "scanning for devices".

Troubleshooting: my initial suspicion was that the sane configuration at /etc/sane.d/ was somehow messed up. But this was a dead end. Using strace I found out that hpssd (the HPLIP services and status daemon) was the culprit: it was stuck waiting on a socket. But what was it waiting for?

I followed the troubleshooting procedure at the HPLIP site and started hpssd in debug mode. I then realized that hpssd was waiting for hpiod (the input/output daemon?) to find devices connected to the parallel port, probably timing out, and only then querying for USB devices (I pieced this theory together from a bunch of cryptic debug messages that hpssd spewed out while in debug mode). So, what next?

Solution: Searching through Google, I couldn't find any reference to a problem similar to mine. I did, however, encounter several hits that linked the parallel port mode with timeouts. So I set the parallel port mode to EPP via the BIOS, and the timeouts were gone, and scanner access became snappy.

The funny thing is that if anyone would've told me that I needed to change the parallel port mode in order to fix a problem with a USB scanner, I'd ignore the advice and prevent that person access to my computer...

No comments:

Post a Comment