Network detection fails to find Canon Scanner

I’m sorry, I haven’t found out how to ‘reply with quote’. I was referring your post with the firewall-cmd syntax. Apparently, I imagine, the IP address referred to there is added to the firewall configuration somewhere.

Anyway, I had already set my router to give the printer static IP address at printer startup.

What do you mean by ‘show the firewall configuration’? I use YaST and it tells me that the internal start-up default service configuration allows mdns.

The printer has a ‘bonjour service name’. Would that be of any help?

Please show the firewall configuration with

sudo firewall-cmd --list-all --zone=home

*As you mentioned you are using the home zone, I specified that in the above command.

home
  target: default
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: dhcpv6-client mdns samba-client sane slp ssh tigervnc tigervnc-https vnc-server
  ports: 
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules:

Select the text in a post you wish to quote from, and a button will appear above it allowing you to reply with the quoted text.

1 Like

For posting output, you can use the preformatted text button '</>.

Anyway, the output you shared shows that the home zone does NOT contain your network interface. So those rules don’t apply.

Check

sudo firewall-cmd --get-active-zones

BTW, you can install firewall-config for graphical management of firewalld. YaST only offers basic management of the firewall. I don’t use or recommend it.

internal (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources: 192.168.1.5 192.168.178.5
  services: dhcpv6-client mdns samba-client sane slp ssh vnc-server
  ports: 8610/tcp 8610/udp 8612/udp 8612/tcp
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

…whereby the first IP is an error. I need to delete it, but how?

sudo firewall-cmd --permanent --remove-source=192.168.1.5

It will take effect the next time the firewall is (re)started. Or else do

sudo firewall-cmd --reload

As already mentioned, I suggest installing ‘firewall-config’ for easier management of your firewall configuration.

1 Like

Is the scanner application finding the scanner now?

1 Like

Thanks Deano for the tips.
No. scangearnp2 only finds the scanner when the firewall is inactive.
There is scan to PC function on the scanner but that fails to find the PC whether or not the firewall is active.

I’ve never used “Scan to PC” in a Linux environment for any scanning. That would need a suitable daemon listening in any case. I’ve never owned Canon hardware (I actively avoid it), but I would expect scangeammp2 to find and communicate with the scanner without trouble. I have seen other similar reports when searching such as this one

As this is a new network multifunction device, I would expect it to be AirScan/eSCL compatible. This (in theory) would allow you to use a SANE front-end, such as the Gnome Document scanner utility, xsane, or simple-scan. Some information about that here…
https://help.ubuntu.com/community/sane#Scanners_with_AirScan_Support

What is discovered using the following command?

avahi-browse -rt _uscan._tcp
1 Like
avahi-browse -rt _uscan._tcp
+   eth0 IPv6 Canon GX6000 series                           _uscan._tcp          local
+   eth0 IPv4 Canon GX6000 series                           _uscan._tcp          local
=   eth0 IPv4 Canon GX6000 series                           _uscan._tcp          local
   hostname = [CanonGX6050.local]
   address = [192.168.178.5]
   port = [80]
   txt = ["usb_MFG=Canon" "mopria-certified-scan=1.4" "duplex=F" "is=platen,adf" "cs=grayscale,color" "rs=eSCL" "representation=http://CanonGX6050.local./icon/printer_icon.png" "vers=2.9" "UUID=00000000-0000-1000-8000-0018a601ac7c" "adminurl=http://CanonGX6050.local./index.html?page=PAGE_AAP" "note=" "pdl=image/jpeg,application/pdf" "ty=Canon GX6000 series" "txtvers=1"]
=   eth0 IPv6 Canon GX6000 series                           _uscan._tcp          local
   hostname = [CanonGX6050.local]
   address = [192.168.178.5]
   port = [80]
   txt = ["usb_MFG=Canon" "mopria-certified-scan=1.4" "duplex=F" "is=platen,adf" "cs=grayscale,color" "rs=eSCL" "representation=http://CanonGX6050.local./icon/printer_icon.png" "vers=2.9" "UUID=00000000-0000-1000-8000-0018a601ac7c" "adminurl=http://CanonGX6050.local./index.html?page=PAGE_AAP" "note=" "pdl=image/jpeg,application/pdf" "ty=Canon GX6000 series" "txtvers=1"]

I had first to install avahi-utils for the above command to work. But Gnome Document Scanner continues not to find the scanner,

Looking at the ubuntu page, I’m still not sure what I would have to do in my case. I presume that, since the text line of the avahi-browse response contains “rs=eSCL”, there is some hope.

Yes the device is eSCL capable. However, further research tells me openSUSE Leap 15.4 does not yet provide the sane-airscan backend required, which is unfortunate. There are some third party repos providing it, but not really a path I want to go down.

Correction: New territory for me, but I note Leap 15.4 does provide sane-backends which includes the sane-escl backend. From ‘man sane-escl’ it is mentioned

“The. sane-escl backend for SANE supports AirScan/eSCL devices that announce themselves on mDNS as _uscan._utcp or _uscans._utcp. If the device is available, the sane-escl backend recovers these capacities. The user configures and starts scanning. A list of devices that use the eSCL protocol can be found at About AirPrint - Apple Support. While these devices are expected to work, your mileage may vary.”

Am I right in thinking that all I need to do is add my printer data to /etc/sane.d/escl.conf ?
The other two files listed in the “man sane-escl” page , i.e.
/usr/lib64/sane/libsane-escl.a
and
/usr/lib64/sane/libsane-escl.so
do not exist in my configuration only one file …so.1

The man page suggests that ordinarily no configuration is necessary. However, when it is not detected, manual configuration is possible. So try adding the device to /etc/sane.d/escl.conf

For example (derived from the Avahi output)…

device http://192.168.178.5:80 Canon
1 Like

Does scanimage find the device?

scanimage -L

If not try the following

scanimage -d 'escl:http://192.168.178.5:80' > test.pnm

or to examine diagnostically do

SANE_ESCL_DEBUG=255 scanimage -d 'escl:http://192.168.178.5:80' > test.pnm 2>log.txt

and examine the log.txt output generated.

1 Like

escl.conf is now set for this device.
Result of

SANE_ESCL_DEBUG=255 scanimage -d 'escl:http://192.168.178.5:80' > test.pnm 2>log.txt
Output format is not set, using pnm as a default.
scanimage: rounded value of br-x from 215.9 to 215.9
scanimage: rounded value of br-y from 297.011 to 297.011

Is this beginning to look a little more hopeful? The printer ‘reacts’ when the scanimage command is sent.

BTW. I notice that scangearmp2 produces the message

Error creating proxy: The connection is closed (g-io-error-quark, 18)

in the case when the firewall is active.