Anton Khabbaz
I tried your recommendations and here is what I did.
1.
I modified the output forwarding rules to allow traffic from and to my
ubuntu computer (192.168.1.25) to the Canon TS9120 printer
(192.168.1.16) , port 80 tcp
The output of ufw status is listed (other rules and ports like udp
8612 are omitted for clarity)
To Action From
-- ------ ----
192.168.1.25 ALLOW 192.168.1.16 80/tcp
192.168.1.25 80/tcp ALLOW 192.168.1.16 80/tcp
192.168.1.16 80/tcp ALLOW OUT 192.168.1.25 80/tcp `
2. Installed GO and air-scan discover (just as easy as you said,
Alexander). ./airscan-discover finds the printer and it is eSCL, just
as Thierry said.
[devices]
"Canon TS9100 series" = http://192.168.1.16:80/eSCL
For this reason I allowed access via tcp port 80 from host ubuntu to
Canon printer and vice-versa.
3 changed config files
/etc/sane.d/pixma.conf
removed my additions; now has
only comments:
# bjnp://printer-1.pheasant.org [3] // will use the 5000 ms timeout
# bjnp://scanner.bad-network.org/timeout=1500 [4] // timeout set to
1500 ms
# bjnp-timeout=3000 // will be used for auto-detected scanners
#
# Example using for a scanner using mfnp including the optional
timeout:
# mfnp://scanner.bad-network.org/timeout=1500 [4]
followed Thierry's instructions in /etc/sane.d/escl.conf.
Uncommented lines and filled in the printer address
#device http://123.456.789.10:8080 OptionalModel1
#device https://123.456.789.10:443 "Optional Model 2"
#device unix:/run/proxy.sock:http://123.456.789.10:80
[device]
model Canon TS9120
type https
ip 192.168.1.16
port 80
#device http://192.168.1.16:80 "Canon TS9120"
renamed /etc/sane.d/pixma.conf.dpkg_old to
/etc/sane.d/pixma_old.config.dpkg_old
3. Ran scanimage -L
Here is the output:
No scanners were identified. If you were expecting something
different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
4. Ahavi rt also found lots of ports and info about the scanner:
avahi-browse -rt -a
+ eno1 IPv6 Canon TS9100 series Internet
Printer local
+ eno1 IPv4 Canon TS9100 series Internet
Printer local
+ eno1 IPv6 Canon TS9100 series Secure
Internet Printer local
+ eno1 IPv4 Canon TS9100 series Secure
Internet Printer local
= eno1 IPv6 Canon TS9100 series Internet
Printer local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [631]
txt = ["mopria-certified=1.3" "print_wfds=T" "PaperMax=legal-A4"
"kind=document,envelope,photo,disc,postcard" "Fax=F" "Scan=T"
"Duplex=T" "Color=T" "UUID=00000000-0000-1000-8000-00182011024b"
"URF=V1.4,CP1,PQ4-5,RS600,SRGB24,W8,OB9,OFU0,DM3,IS1-18" "usb_CMD=URF"
"usb_MDL=TS9100 series" "usb_MFG=Canon"
"adminurl=http://00000099933C.local./index.html?page=PAGE_AAP" "note="
"pdl=application/octet-stream,image/jpeg,image/urf,image/pwg-raster"
"product=(Canon TS9100 series)" "ty=Canon TS9100 series" "priority=15"
"qtotal=1" "rp=ipp/print" "txtvers=1"]
= eno1 IPv4 Canon TS9100 series Internet
Printer local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [631]
txt = ["mopria-certified=1.3" "print_wfds=T" "PaperMax=legal-A4"
"kind=document,envelope,photo,disc,postcard" "Fax=F" "Scan=T"
"Duplex=T" "Color=T" "UUID=00000000-0000-1000-8000-00182011024b"
"URF=V1.4,CP1,PQ4-5,RS600,SRGB24,W8,OB9,OFU0,DM3,IS1-18" "usb_CMD=URF"
"usb_MDL=TS9100 series" "usb_MFG=Canon"
"adminurl=http://00000099933C.local./index.html?page=PAGE_AAP" "note="
"pdl=application/octet-stream,image/jpeg,image/urf,image/pwg-raster"
"product=(Canon TS9100 series)" "ty=Canon TS9100 series" "priority=15"
"qtotal=1" "rp=ipp/print" "txtvers=1"]
= eno1 IPv6 Canon TS9100 series Secure
Internet Printer local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [631]
txt = ["TLS=1.2" "mopria-certified=1.3" "print_wfds=T"
"PaperMax=legal-A4" "kind=document,envelope,photo,disc,postcard"
"Fax=F" "Scan=T" "Duplex=T" "Color=T"
"UUID=00000000-0000-1000-8000-00182011024b"
"URF=V1.4,CP1,PQ4-5,RS600,SRGB24,W8,OB9,OFU0,DM3,IS1-18" "usb_CMD=URF"
"usb_MDL=TS9100 series" "usb_MFG=Canon"
"adminurl=http://00000099933C.local./index.html?page=PAGE_AAP" "note="
"pdl=application/octet-stream,image/jpeg,image/urf,image/pwg-raster"
"product=(Canon TS9100 series)" "ty=Canon TS9100 series" "priority=15"
"qtotal=1" "rp=ipp/print" "txtvers=1"]
= eno1 IPv4 Canon TS9100 series Secure
Internet Printer local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [631]
txt = ["TLS=1.2" "mopria-certified=1.3" "print_wfds=T"
"PaperMax=legal-A4" "kind=document,envelope,photo,disc,postcard"
"Fax=F" "Scan=T" "Duplex=T" "Color=T"
"UUID=00000000-0000-1000-8000-00182011024b"
"URF=V1.4,CP1,PQ4-5,RS600,SRGB24,W8,OB9,OFU0,DM3,IS1-18" "usb_CMD=URF"
"usb_MDL=TS9100 series" "usb_MFG=Canon"
"adminurl=http://00000099933C.local./index.html?page=PAGE_AAP" "note="
"pdl=application/octet-stream,image/jpeg,image/urf,image/pwg-raster"
"product=(Canon TS9100 series)" "ty=Canon TS9100 series" "priority=15"
"qtotal=1" "rp=ipp/print" "txtvers=1"]
+ eno1 IPv6 DS1813 Web Site
local
+ eno1 IPv4 DS1813 Web Site
local
= eno1 IPv6 DS1813 Web Site
local
hostname = [DS1813.local]
address = [fe80::211:32ff:fe1d:e2f3]
port = [5000]
txt =
["mac_address=00:11:32:1d:e2:f3|00:11:32:1d:e2:f4|00:11:32:1d:e2:f5|00:11:32:1d:e2:f6"
"secure_admin_port=5001" "admin_port=5000" "version_build=24922"
"version_minor=2" "version_major=6" "serial=13C0LON002158"
"model=DS1813+" "vendor=Synology"]
= eno1 IPv4 DS1813 Web Site
local
hostname = [DS1813.local]
address = [192.168.1.8]
port = [5000]
txt =
["mac_address=00:11:32:1d:e2:f3|00:11:32:1d:e2:f4|00:11:32:1d:e2:f5|00:11:32:1d:e2:f6"
"secure_admin_port=5001" "admin_port=5000" "version_build=24922"
"version_minor=2" "version_major=6" "serial=13C0LON002158"
"model=DS1813+" "vendor=Synology"]
+ eno1 IPv4 Canon TS9100 series Web Site
local
+ eno1 IPv4 Canon TS9100 series
_uscan._tcp local
+ eno1 IPv4 Canon TS9100 series
_uscans._tcp local
+ eno1 IPv4 Canon TS9100 series
_canon-chmp._tcp local
+ eno1 IPv4 Canon TS9100 series UNIX
Printer local
+ eno1 IPv4 Canon TS9100 series PDL
Printer local
+ eno1 IPv4 Canon TS9100 series
_privet._tcp local
+ eno1 IPv6 Canon TS9100 series Web Site
local
+ eno1 IPv6 Canon TS9100 series
_uscan._tcp local
+ eno1 IPv6 Canon TS9100 series
_uscans._tcp local
+ eno1 IPv6 Canon TS9100 series
_canon-chmp._tcp local
+ eno1 IPv6 Canon TS9100 series UNIX
Printer local
+ eno1 IPv6 Canon TS9100 series PDL
Printer local
+ eno1 IPv6 Canon TS9100 series
_privet._tcp local
+ eno1 IPv4 7073435effee6a3f41ed38065ea9ae81
_cros_p2p._tcp local
= eno1 IPv4 7073435effee6a3f41ed38065ea9ae81
_cros_p2p._tcp local
hostname = [7073435effee6a3f41ed38065ea9ae81.local]
address = [192.168.1.27]
port = [16725]
txt =
["id_cros_update_size_126964004_hash_ZDkxeXQ2RjhJT1NJYytyL0pFTkJVOUhya0pXQUZPclVpNEE2am5mVkNIZz0=.cros_au=126964004"
"num_connections=0"]
+ eno1 IPv4 cceebffcab69823d88103da85ea9b84c
_cros_p2p._tcp local
= eno1 IPv4 cceebffcab69823d88103da85ea9b84c
_cros_p2p._tcp local
hostname = [cceebffcab69823d88103da85ea9b84c.local]
address = [192.168.1.23]
port = [16725]
txt = ["num_connections=0"]
+ eno1 IPv6 DS1813
_device-info._tcp local
+ eno1 IPv6 DS1813 Microsoft
Windows Network local
+ eno1 IPv6 DS1813 Apple File
Sharing local
+ eno1 IPv4 DS1813
_device-info._tcp local
+ eno1 IPv4 DS1813 Microsoft
Windows Network local
+ eno1 IPv4 DS1813 Apple File
Sharing local
= eno1 IPv6 DS1813
_device-info._tcp local
hostname = [DS1813.local]
address = [fe80::211:32ff:fe1d:e2f3]
port = [0]
txt = ["model=Xserve"]
= eno1 IPv6 DS1813 Microsoft
Windows Network local
hostname = [DS1813.local]
address = [fe80::211:32ff:fe1d:e2f3]
port = [445]
txt = []
= eno1 IPv6 DS1813 Apple File
Sharing local
hostname = [DS1813.local]
address = [fe80::211:32ff:fe1d:e2f3]
port = [548]
txt = []
= eno1 IPv4 DS1813
_device-info._tcp local
hostname = [DS1813.local]
address = [192.168.1.8]
port = [0]
txt = ["model=Xserve"]
= eno1 IPv4 DS1813 Microsoft
Windows Network local
hostname = [DS1813.local]
address = [192.168.1.8]
port = [445]
txt = []
= eno1 IPv4 DS1813 Apple File
Sharing local
hostname = [DS1813.local]
address = [192.168.1.8]
port = [548]
txt = []
= eno1 IPv4 Canon TS9100 series Web Site
local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [80]
txt = ["txtvers=1"]
= eno1 IPv4 Canon TS9100 series
_uscan._tcp local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [80]
txt = ["duplex=F" "is=platen" "cs=grayscale,color" "rs=eSCL"
"representation=http://00000099933C.local./icon/printer_icon.png"
"vers=2.63" "UUID=00000000-0000-1000-8000-00182011024b"
"adminurl=http://00000099933C.local./index.html?page=PAGE_AAP" "note="
"pdl=image/jpeg,application/pdf" "ty=Canon TS9100 series" "txtvers=1"]
= eno1 IPv4 Canon TS9100 series
_uscans._tcp local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [443]
txt = ["duplex=F" "is=platen" "cs=grayscale,color" "rs=eSCL"
"representation=http://00000099933C.local./icon/printer_icon.png"
"vers=2.63" "UUID=00000000-0000-1000-8000-00182011024b"
"adminurl=http://00000099933C.local./index.html?page=PAGE_AAP" "note="
"pdl=image/jpeg,application/pdf" "ty=Canon TS9100 series" "txtvers=1"]
= eno1 IPv4 Canon TS9100 series
_canon-chmp._tcp local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [80]
txt = ["mpath=http://00000099933C.local./canon/ij/command1/port1"
"txtvers=1"]
= eno1 IPv4 Canon TS9100 series UNIX
Printer local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [515]
txt = ["Fax=F" "Scan=T" "Duplex=T" "Color=T"
"UUID=00000000-0000-1000-8000-00182011024b" "usb_MDL=TS9100 series"
"usb_MFG=Canon" "adminurl=http://00000099933C.local." "note="
"pdl=application/octet-stream" "product=(Canon TS9100 series)"
"ty=Canon TS9100 series" "priority=60" "qtotal=1" "rp=auto"
"txtvers=1"]
= eno1 IPv4 Canon TS9100 series PDL
Printer local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [9100]
txt = ["Fax=F" "Scan=T" "Duplex=T" "Color=T"
"UUID=00000000-0000-1000-8000-00182011024b" "usb_MDL=TS9100 series"
"usb_MFG=Canon" "adminurl=http://00000099933C.local." "note="
"pdl=application/octet-stream" "product=(Canon TS9100 series)"
"ty=Canon TS9100 series" "priority=30" "qtotal=1" "rp=auto"
"txtvers=1"]
= eno1 IPv4 Canon TS9100 series
_privet._tcp local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [80]
txt = ["cs=online" "id=" "type=printer"
"url=https://www.google.com/cloudprint" "note=" "ty=Canon TS9100
series" "txtvers=1"]
= eno1 IPv6 Canon TS9100 series Web Site
local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [80]
txt = ["txtvers=1"]
= eno1 IPv6 Canon TS9100 series
_uscan._tcp local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [80]
txt = ["duplex=F" "is=platen" "cs=grayscale,color" "rs=eSCL"
"representation=http://00000099933C.local./icon/printer_icon.png"
"vers=2.63" "UUID=00000000-0000-1000-8000-00182011024b"
"adminurl=http://00000099933C.local./index.html?page=PAGE_AAP" "note="
"pdl=image/jpeg,application/pdf" "ty=Canon TS9100 series" "txtvers=1"]
= eno1 IPv6 Canon TS9100 series
_uscans._tcp local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [443]
txt = ["duplex=F" "is=platen" "cs=grayscale,color" "rs=eSCL"
"representation=http://00000099933C.local./icon/printer_icon.png"
"vers=2.63" "UUID=00000000-0000-1000-8000-00182011024b"
"adminurl=http://00000099933C.local./index.html?page=PAGE_AAP" "note="
"pdl=image/jpeg,application/pdf" "ty=Canon TS9100 series" "txtvers=1"]
= eno1 IPv6 Canon TS9100 series
_canon-chmp._tcp local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [80]
txt = ["mpath=http://00000099933C.local./canon/ij/command1/port1"
"txtvers=1"]
= eno1 IPv6 Canon TS9100 series UNIX
Printer local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [515]
txt = ["Fax=F" "Scan=T" "Duplex=T" "Color=T"
"UUID=00000000-0000-1000-8000-00182011024b" "usb_MDL=TS9100 series"
"usb_MFG=Canon" "adminurl=http://00000099933C.local." "note="
"pdl=application/octet-stream" "product=(Canon TS9100 series)"
"ty=Canon TS9100 series" "priority=60" "qtotal=1" "rp=auto"
"txtvers=1"]
= eno1 IPv6 Canon TS9100 series PDL
Printer local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [9100]
txt = ["Fax=F" "Scan=T" "Duplex=T" "Color=T"
"UUID=00000000-0000-1000-8000-00182011024b" "usb_MDL=TS9100 series"
"usb_MFG=Canon" "adminurl=http://00000099933C.local." "note="
"pdl=application/octet-stream" "product=(Canon TS9100 series)"
"ty=Canon TS9100 series" "priority=30" "qtotal=1" "rp=auto"
"txtvers=1"]
= eno1 IPv6 Canon TS9100 series
_privet._tcp local
hostname = [00000099933C.local]
address = [192.168.1.16]
port = [80]
txt = ["cs=online" "id=" "type=printer"
"url=https://www.google.com/cloudprint" "note=" "ty=Canon TS9100
series" "txtvers=1"]
On Tue, Apr 28, 2020 at 4:23 PM Thierry HUCAHRD
<[email protected]> wrote:
Le 2020-04-28 21:36, Anton Khabbaz a écrit :
Thank you all for your helpful feedback. Still no luck but your
suggestions led me to try the following.
1 I installed ajour sane the commands that Theirry Hucahrd
listed.
The update went through, but I see no new packages in my package
manager. (I assume this is like an upgrade to sane?)
2. I installed airscan, following the airscan instructions for my
operating system:
Hi,
For your information, your device uses
1. the PIXMA backend for USB
2. the ESCL backend for the network
add the line below in this file /etc/sane.d/escl.conf
device https://192.168.1.16:443 "Canon TS9120"
then run this command
scanimage -L
Thierry
sudo sh -c "echo 'deb
http://download.opensuse.org/repositories/home:/pzz/xUbuntu_18.04/
/'
/etc/apt/sources.list.d/home:pzz.list"
wget -nv
https://download.opensuse.org/repositories/home:pzz/xUbuntu_18.04/Release.key
-O Release.key
sudo apt-key add - < Release.key
sudo apt-get update
sudo apt-get install sane-airscan
In my synaptic package manager searching under sane I see these
are
installed:
sane-airscan 0.9.18+55.1
xsane 0.999-5ubuntu2
xsane-common
sane 1.0.14-12 build 1
sane-utils 1.0.29
I didn't yet run the printer protocol detector, because I have yet
to
install a GO compiler.
Now when I run scanimage --list-devices I get a pause. That did
not
happen before. I think that is airscan. Then this error message:
[15:33:32.923780] [bjnp] udp_command: ERROR - no data received
(timeout = 2000)
[15:33:32.923885] [bjnp] bjnp_init_device_structure: Cannot read
mac
address, skipping this scanner
[15:33:32.927092] [bjnp] bjnp_allocate_device: ERROR - Cannot
resolve
host: fe80 port 8612
No scanners were identified. If you were expecting something
different,
check that the scanner is plugged in, turned on and detected by
the
sane-find-scanner tool (if appropriate). Please read the
documentation
which came with this software (README, FAQ, manpages).
I should say the printer is an all in one and it is connected
through
a wired Tcp-ip cable (through a switch)
Thank you again for your help,
Anton Khabbaz
cc: printer is a Canon TS9120 all in one.
On Fri, Apr 24, 2020 at 4:40 PM Anton Khabbaz
<[email protected]> wrote:
Hello,
I would like to use my Canon TS9120 scanner but I am not able to
find it through Sane. I believe I am doing all the right things.
It is untested as a multifunction printer/scanner according to
Sane
backend documentation. I am running Ubuntu 18.04
Here are my steps that I have taken so far.
1) I changed the firewall using ufw to allow communication via
udp
8612. Following a faq at Canon:
https://support.usa.canon.com/kb/index?page=content&id=ART109227.
I added these rules:
To Action From
-- ------ ----
192.168.1.25 ALLOW 192.168.1.16 80/tcp
192.168.1.25 ALLOW 192.168.1.16 443/tcp
192.168.1.25 ALLOW 192.168.1.16
515,1900,5222,5357,8611,8612,9100/tcp
192.168.1.25 ALLOW 192.168.1.16
515,1900,5222,5357,8611,8612,9100/udp
192.168.1.25 ALLOW 192.168.1.16
137,138,139/udp
192.168.1.25 ALLOW 192.168.1.16
137,138,139/tcp
192.168.1.25 ALLOW 192.168.1.16 8610/udp
Anywhere on eno1 ALLOW 192.168.1.16 8612/udp
fe80::6767:4545:141b:9fc7 ALLOW fe80::9e32:ceff:fe99:933c
80/tcp
fe80::6767:4545:141b:9fc7 ALLOW fe80::9e32:ceff:fe99:933c
443/tcp
fe80::6767:4545:141b:9fc7 ALLOW fe80::9e32:ceff:fe99:933c
137,138,139,515,1900,5222,5357,8611,8612,9100/tcp
fe80::6767:4545:141b:9fc7 ALLOW fe80::9e32:ceff:fe99:933c
137,138,139,515,1900,5222,5357,8611,8612,9100/udp
fe80::6767:4545:141b:9fc7 ALLOW fe80::9e32:ceff:fe99:933c
8610/udp
Anywhere (v6) on eno1 ALLOW fe80::9e32:ceff:fe99:933c
8612/udp
192.168.1.16 8612/udp ALLOW OUT Anywhere on eno1
fe80::9e32:ceff:fe99:933c 8612/udp ALLOW OUT Anywhere (v6) on
eno1
my interface on ubuntu is eno1
2. I tried first Canon's linux driver. It installed and I ran
sudo -i scangearmp2
That took maybe 1 minute but never found the scanner.
3. Turning to Sane documentation
https://gitlab.com/sane-project/backends/-/raw/master/INSTALL.linux
I followed the steps. I got the backends from
http://www.sane-project.org/snapshots/ and followed the readme.
I think I ran ./configure BACKENDS="pixma".
make
make install.
That seemed to build with no errors.
4. I checked and the latest backend seems to be installed
sudo ldconfig -v | grep libsane
/sbin/ldconfig.real: Can't stat /usr/local/lib/i386-linux-gnu: No
such file or directory
/sbin/ldconfig.real: Can't stat /usr/local/lib/i686-linux-gnu: No
such file or directory
/sbin/ldconfig.real: Can't stat /lib/i686-linux-gnu: No such file
or
directory
/sbin/ldconfig.real: Can't stat /usr/lib/i686-linux-gnu: No such
file or directory
/sbin/ldconfig.real: Can't stat /usr/local/lib/x86_64-linux-gnu:
No
such file or directory
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than
once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more
than once
/sbin/ldconfig.real: /lib/i386-linux-gnu/ld-2.27.so [1] [1] is
the
dynamic linker, ignoring
libsane.so.1 -> libsane.so.1.0.29
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.27.so [1] [1] is
the
dynamic linker, ignoring
5. The udev rules step never worked:
sudo cp tools/udev/libsane.rules /etc/udev/rules.d
cp: cannot stat 'tools/udev/libsane.rules': No such file or
directory
4. Modified the conf file as documented here
http://www.sane-project.org/man/sane-pixma.5.html
That file now has the address of the TS9120 printer
bjnp://192.168.1.16:8612/timeout=2000 [2] [2] // uses the default
1000ms
timeout
bjnp://fe80:0000:0000:0000:9e32:ceff:fe99:933c:8612/timeout=2000
//
uses the default 1000ms timeout
5. The TS9120 works as a printer and even responds to ping with
its ip4 address.
6. Tried scanimage -L. No luck finding this.
scanimage -L
[16:39:10.000767] [bjnp] udp_command: ERROR - no data received
(timeout = 2000)
[16:39:10.000879] [bjnp] bjnp_init_device_structure: Cannot read
mac
address, skipping this scanner
[16:39:10.003823] [bjnp] bjnp_allocate_device: ERROR - Cannot
resolve host: fe80 port 8612
No scanners were identified. If you were expecting something
different,
check that the scanner is plugged in, turned on and detected by
the
sane-find-scanner tool (if appropriate). Please read the
documentation
which came with this software (README, FAQ, manpages).
If you have any suggestions, I would certainly appreciate it.
Thank you
Links:
------
[1] http://ld-2.27.so
[2] http://192.168.1.16:8612/timeout=2000
Links:
------
[1] http://ld-2.27.so
[2] http://192.168.1.16:8612/timeout=2000
[3] http://printer-1.pheasant.org
[4] http://scanner.bad-network.org/timeout=1500