I did not expect difficulties when I bought a new network printer (Canon Maxify MB5450) today. How wrong could I be?
The printer appears in my router configuration with the correct IP address. As usual, I wanted to configure printer via the CUPS browser application at localhost:631. But which drivers/protokoll should I use? I found the Gutenprint 5.2.14 for my printer amongst a whole heap of drivers that I installed. I have only tried the AppSocket/HPJetDirect option.
That all seemed to work until I tried printing a test page. 17 sheets mostly empty shot out of my printer. What am I doing wrong?
By the way, the device is a multifunction machine, so I will have to find out out to install the scanner function as well. Until now, my experience is limited to a HP MFC 8610, that worked well until it broke down last week. Must I regret having bought the Canon that seems to have minimum support in the Linux world?
That kind of behaviour generally indicates an incompatible choice of driver.
By the way, the device is a multifunction machine, so I will have to find out out to install the scanner function as well. Until now, my experience is limited to a HP MFC 8610, that worked well until it broke down last week. Must I regret having bought the Canon that seems to have minimum support in the Linux world?
Can anyone help?
After navigating to the Canon Europe site and conducting a search fro drivers, I note that Linux drivers are available for this model. Install the requisite printer and scanner driver packages. Note that for scanning (via the proprietary driver at least), you will need to use the included scangearmp2 application. (Some Canon devices are supported by the open SANE drivers, but I have no idea about this model.)
NETWORKING SUPPORT
The pixma backend supports network scanners using the so called Canon BJNP protocol and MFNP protocol. Both IPv4 and IPv6 are supported, but IPv6 is as yet untested with MFNP. Please report your
results on the mailing list.
Configuration is normally not required. The pixma backend will auto-detect your scanner if it is within the same subnet as your computer if your OS does support this.
If your scanner can not be auto-detected, you can add it to the pixma configuration file (see above).
FIREWALLING FOR NETWORKED SCANNERS
The sane pixma backend communicates with port 8610 for MFNP or port 8612 for BJNP on the scanner. So you will have to allow outgoing traffic TO port 8610 or 8612 on the common subnet for scanning.
Scanner detection is slightly more complicated. The pixma backend sends a broadcast on all direct connected subnets it can find (provided your OS allows for enumeration of all netowrk interfaces).
The broadcast is sent FROM port 8612 TO port 8610 or 8612 on the broadcast address of each interface. The outgoing packets will be allowed by the rule described above.
Responses from the scanner are sent back to the computer TO port 8612. Connection tracking however does not see a match as the response does not come from the broadcast address but from the scan-
ners own address. For automatic detection of your scanner, you will therefore have to allow incoming packets TO port 8612 on your computer. This applies to both MFNP and BJNP.
So in short: open the firewall for all traffic from your computer to port 8610 (for MFNP) or 8612 (for BJNP) AND to port 8612 (for both BJNP and MFNP) to your computer.
With the firewall rules above there is no need to add the scanner to the pixma.conf file, unless the scanner is on a network that is not directly connected to your computer.
There are two relevant <…rpm>.tar.gz files at the site (one for the print, the other for scan). What is the syntax to install them? What should I look for after that?
It’s probably easiest to use the graphical desktop environment to right-click on the downloaded archive files, and extract from there. There is usually an install shell file that can be executed in the terminal (as root) to get the packages installed, and configure the printer. However, it is also possible to install the RPM files from a terminal or by using the package manager in a graphical environment. After that manual configuration of CUPS to use the newly installed driver.
The instructions are in the included readme file, but do as Neil already posted. Open a terminal and navigate to the directory where the installl.sh is located, or specify the path.
Thanks for this tip. I had tried it, in fact, and it is not as easy as that, unfortunately :(. Let me say that, firstly, that I used YaST to install the 64 bit rpm from the tar file and tried again with CUPS. It seems to be be working (as a printer) now. The
sh install.sh
variant had worked up to a point, but the script complained that the printer had to be registered using
lpadmin
and that stumped me because I could not figure out what was still needed, so I gave up on that and went the YaST way.
So now I turn to the network scanning function and am completely lost!! Deano’s post about sane-pixma gives me hope it should work, but how to set it up
YaST Scanner doesn’t detect the device on the network. What now?
@ admin By the way, I do not know how I landed up in the Dutch Forum. May I kindly ask admin to switch this post to English?
As per the sane-pixma driver info I already provided, there should be no explicit configuration needed. However, this depends on wether you are using a firewall on your openSUSE host (for the reasons already given. If you do have firewalld active, then you need to folow the instructions given in the man page…
So in short: open the firewall for all traffic from your computer to port 8610 (for MFNP) or 8612 (for BJNP) AND to port 8612 (for both BJNP and MFNP) to your computer.
@ admin By the way, I do not know how I landed up in the Dutch Forum. May I kindly ask admin to switch this post to English?
Thanks for moving the thread.
I have now discovered that the scangearmp2 rpm package provided by Canon works as a command line application. You can imagine that scanning with that is quite primitive (even compared the GNOME Simple Scan!). I didn’t have to open firewall ports to get the scangear working.
My preference is to use the standard OpenSUSE scan tools, so in spite of not having a clue what I’m doing, I will assume that the procedure to open firewall ports involves using the YaST Firewall application and setting TCP ports 8610 and 8612 for the sane function in the internal zone. These are functions I almost never have to use, so how will I remember what I did 3 years ago? Hoping I’m not misleading anyone by my musings here, I’ll post the result
Only port 8612 (incoming) should be required. Port 6566 is only relevant when sharing SANE scanners across a network with other SANE hosts. In any case disabling the firewall temporarily for scanner testing would verify if any other issues were at play.
During the YaST Scanner set-up, I get
No scanner recognized by this driver
for both the net and (Maxify 5000 series) pixma drivers and
Failed to reload saned.socket
in the system log.
After reviewing ‘man sane-pixma’ for openSUSE Leap 15.2 I wonder if the ‘sane-backends’ version is too old. From a quick search of openSUSE Software I note that 1.0.31 is available from the graphics repo. So perhaps try that. Subscribe to the repo then update via that repo.
Although the YaST Scanner Configuration now lists Canon Maxify MB5400 Series (as the CUPS printer list does) after installing 1.0.31, the pixma driver still shows
No scanner recognized by this driver
.
By the way, how can the Canon protocols BJNP and MFNP be known to the Firewall which seems only to know TCP, UDP, SCTP and DCCP for the sane Service?
BJNP is a proprietary Canon protocol (port 8612 UDP) used for device discovery.
Firewalld doesn’t need to have a custom service defined for this - only the underlying port number and the transport layer protocol (eg UDP or TCP) needs to be specified.
I’m not sure why the discovery is not occurring. I would have thought it was intrinsically enabled out of the box, but perhaps you could check the front panel for such scanner discovery service. Anyway, I wonder if specifying the IP address of the scanner explicitly in the /etc/sane.d/pixma.conf file might be sufficient eg