One more thing to add, maybe WSD will be an easier option. It's possible to enable WSD support for this scanner.
In that case, I also can scan in "Remote scanner" mode through the sane-airscan backend. I can also start scanning to the windows machines from the scanner through WSD (when I select "Scan" -> "Computer", all windows machines in my local network appear, even ones without Canon drivers, unlike it was with MFNP-only mode). However, when I do `scanimage --device-name=airscan:w0:mf4780w -A` similarly to what I attempted with MFNP mode, no new lines appear in the list of destinations. Also `scanimage -A` doesn't show the state of buttons in this case. On Sun, Aug 15, 2021 at 11:43 AM Alexander Lyashuk <[email protected]> wrote: > 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! > >
