[Scanbd] Set up for Canon PIXMA multifunction scanner - no button response

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[Scanbd] Set up for Canon PIXMA multifunction scanner - no button response

This post has NOT been accepted by the mailing list yet.
I've had a Canon MG8150 attached to my network for ages and decided to hook it up to my network box (Fedora 23), basically hoping to automatically save scans to my network drive when I press the scan button on the machine.

I followed various articles around the place to try and set this up but I seem to have failed.  Here's a summary of where I'm up to - would love some help troubleshooting the problem:

- Have installed sane-backends-devel via dnf, and scanbd 1.4.4 from source (using default configure / gmake approach, no options).
- Copied the /etc/sane.d/* files to /usr/local/etc/scanbd/sane.d/
- added a symbolic link from /etc/scanbd to /usr/local/etc/scanbd just in case anything refers to that.  I prefer working in usr to etc directly.
- Changed /etc/sane.d/saned.conf to only allow localhost
- Changed /usr/local/etc/scanbd/sane.d/saned.conf to allow all local network clients
- Changed /etc/sane.d/net.conf to have 2 lines, connect_timeout = 3 and localhost
- Changed /etc/sane.d/dll.conf to have only net
- Changed /etc/local/etc/scanbd/sane.d/dll.conf to comment out net, and remove the unnecessary references (just kept pixma)
- Saved scanbd_dbus to /etc/dbus-1/system.d/scandb_dbus.conf
- Create systemd files /usr/lib/systemd/system/scanbd.service and scanbm.socket.  Only change is to add the revised sane.d config directory.

Description=Scanner button polling Service

ExecStart=/usr/local/sbin/scanbd -f -c /usr/local/etc/scanbd/scanbd.conf


My scanbd.conf file is default, with some minor amendments:
- changed the location of the sane.d configs:
		saned_env  = { "SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d" } # list of environment vars for saned
- commented out unused scanner.d device references at the end apart from the pixma one.
- changed the globaltest to refer to button-1 for testing purposes, but it didn't seem to do anything:
        action globaltest {
                filter = "^button-1.*"
                desc   = "Test (print all env vars)"
                script = "test.script"
- I also changed a few other actions (mostly commenting them out) but didn't make any difference to the output.

When the scanner is started either manually or via the service, it appears to work ok but never picks up a button press.  The log always seems to show a value of zero for the button polling response.

Test printer exists and is connected:
[matt@localhost scanbd]$ lsusb
Bus 002 Device 003: ID 04a9:174b Canon, Inc. 

Test scanimage can find printer:
[matt@localhost scanbd]$ SANE_CONFIG_DIR=/usr/local/etc/scanbd/sane.d scanimage -L
device `pixma:MG8100_192.168.1.49' is a CANON Canon PIXMA MG8100 multi-function peripheral

Scanimage can also send test greyscale.tiff to the network drive.

sane-find-scanner also finds the scanner, albeit only if signed in as root.
[matt@localhost scanbd]$ sudo sane-find-scanner
found USB scanner (vendor=0x04a9 [Canon], product=0x174b [MG8100 series]) at libusb:002:003

I've saved the log from scanbd to pastebin because it's huge.  http://pastebin.com/T6RHVsdV

I dont know if there's anything interesting in all that.  I couldn't find any errors. At the end of the log you can see that it just repeats a polling cycle, but the values for the buttons never change no matter how much I press them.

Has anyone got any thoughts on how I could get this working?