Hi sane-devel, I have a Canon i-Sensys MF4780w network scanner/printer.
It has two ways to start scanning: - "Remote scanner" / "pull mode", when you enable that mode on the device and then continue on the computer. - "Computer" / "push mode", where you select the destination and initiate scanning from the scanner itself. My scanner works well in "Remote scanner" mode (through the pixma backend, I've added "mfnp://10.162.0.7" to pixma.conf). I'd like to be able to initiate the scans from the scanner (in "Computer"/push mode) though, so that I can set up a headless server which will upload documents to Google Drive. So far I failed to set it up that way, and I wonder whether there is any hope. When I select "Scan" -> "Computer" on my scanner, - First I have to select the destination. - Then I select the mode (Color/BnW/Custom1/Custom2). I checked what Windows does to appear in the list of destinations, and it seems that it sends an MFNP message to the scanner every 5 seconds and so. I tried to do the same from Linux by calling `scanimage -A` in the loop. When I did that, a selectable extra empty line indeed appeared in the list of destinations on the scanner. I checked the messages from Windows and Linux in network sniffer and it appears that Windows sends the hostname in ASCII format, while on Linux it's UTF-16, that's the likely reason why the scanner cannot display the destination name properly. I wouldn't mind having an empty line as a hostname though as long as it would work. When I select "Scan" -> "Computer" -> "empty line" -> "Custom 1" (or BnW/Custom2/Color), both --button-1 and --button-2 still show value [0] in `scanimage -A`, so I cannot find any way to know I should start scanning. I also tried to use scanbd, but it appears not to be able to find the scanner at all: [root]# SANE_CONFIG_DIR=/usr/local/etc/scanbd/ ./scanbd -f -d7 ./scanbd: reading config file /usr/local/etc/scanbd/scanbd.conf ./scanbd: debug on: level: 7 ./scanbd: dropping privs to uid root ./scanbd: dropping privs to gid scanner ./scanbd: drop privileges to gid: 96 ./scanbd: Running as effective gid 96 ./scanbd: drop privileges to uid: 0 ./scanbd: Running as effective uid 0 ./scanbd: dbus_init ./scanbd: dbus match type='signal',interface='org.freedesktop.Hal.Manager' ./scanbd: SANE_CONFIG_DIR=/usr/local/etc/scanbd/ ./scanbd: sane version 1.0 ./scanbd: Scanning for local-only devices ./scanbd: start_sane_threads ./scanbd: no devices, not starting any polling thread ./scanbd: start dbus thread ./scanbd: Not Primary Owner (-1) ./scanbd: Name Error (Connection ":1.219" is not allowed to own the service "de.kmux.scanbd.server" due to security policies in the configuration file) ./scanbd: udev init ./scanbd: get udev monitor ./scanbd: udev fd is non-blocking, now setting to blocking mode ./scanbd: start udev thread ./scanbd: udev thread started Note the string "Scanning for local-only devices", does it mean it doesn't attempt to scan network devices? Any suggestions on what to try next would be very appreciated. Thanks!
