I first tried installing the rpm Canon driver. It fails due to dependencies:
libxml2.so.2()(64bit) is needed by cnijfilter2-6.10-1.x86_64
libxml2.so.2(LIBXML2_2.4.30)(64bit) is needed by cnijfilter2-6.10-1.x86_64
libxml2.so.2(LIBXML2_2.6.0)(64bit) is needed by cnijfilter2-6.10-1.x86_64
I didn’t understand what was going on, so I used one of those dogone AI things and here is what it explained:
The messages show the Canon RPM wants libxml2.so.2 with symbol versions
LIBXML2_2.4.30 and LIBXML2_2.6.0. [13]
openSUSE Slowroll’s current libxml2 in openSUSE:Slowroll:Base is a newer build that no
longer provides the libxml2.so.2 filename, only the new .so version. [12] [11]
That mismatch is why zypper cannot satisfy the dependency, even though you already have
libxml2 installed.
It recommended CUPS/ Driverless IPP printing (IPP-over-USB), to be configured over the browser. I try to follow the directions it gave, but the system says I don’t have privileges when I try to log in. It’s asking for user login - not root. I added my user to the lp group as instructed. It also said I should be in lpadmin “if it exists”. It doesn’t exist.
Okay, I signed in as username root. I should have tried that earlier, but I figured printer setup goes with the user. Anyway, I’m not seeing an option like “Driverless IPP” or “IPP Everywhere” or any version of the Canon name with a URI after it, which is what my directions told me to do.
So I see the “Discovered Other Printers” options have various choices, of which I don’t know who to pick. Ipps, ipp, https, and http are the ones that seem to be likely candidates. I chose ipp, and the next window wants me to enter the “Connection” starting with ipp. Some examples are shown, along with a link to Help > Network Printers.
So I ran “sudo lpinfo -v” and got two for my printer (one print and one fax). So here is the printer interface:
direct usb://Canon/TR8600%20series?serial=506A38&interface=1
But my instructions (from Perplexity) said I should find something hinting a “ipp over USB”, and “driverless”. There is nothing like that, and I did install the ipp-usb package and enable it, along with cups, as follows:
While IPP over USB is a thing, your Canon printer is not likely to support it, unless you choose to have it connected to your LAN instead. Do you want to try that, or stay with using USB connectivity and the proprietary Canon driver?
That raises some questions:
What is this “socket” protocol? If I disconnect USB then am I printing with wifi, wifi-direct, or ethernet? I don’t know how I would print over ethernet. I have an ethernet port plugged directly to the AT&T gateway, but I don’t have a home network. I’ve always printed with USB. And I really prefer not to print over wifi, unless that’s my only option. (And if so, why is it different with OpenSUSE?) I also have Linux Mint and EndeavourOS installations that print to this printer over USB - with Canon drivers - from this same computer.
Could you please explain a bit more. Thank you so much!
I tried the localhost:631 thing yesterday and couldn’t find the printer URI that it wanted me to enter.
Okay so if I use the wifi printer IP from the printer front panel (192.168.1.121) does the socket protocol work over USB if the computer is on ethernet and wifi is off? Currently this printer has ethernet turned off. I guess I should turn it on and see if it gives a different IP…
So my URI would look like this:
socket ://192.168.1.121:9100
@Sauerland The Canon PIXMA drivers typically provide their own CUPS backends: cnijusb for USB connected printers and cnijnet for network printing. Successful installation of the driver and CUPS configuration will utilize the appropriate backend.
The OP’s issue is that libxml2.so.2 is required, and Slowroll is using newer versions of the library. It will not be possible to use this driver unfortunately.
No don’t try this. You likely don’t have a suitable open CUPS driver for this printer anyway.
Instead of trying to force the proprietary Canon driver onto Slowroll, you could try driverless printing (IPP Everywhere / CUPS driverless support). You will need to make sure that the openSUSE firewall allows mdns first (for Avahi discovery to work).
If you are in doubt, run ippfind or driverlessto see what is discovered.
Driverless printing is basically plug-and-play for network-capable printers, so usually no explicit configuration required at all. The only thing to check is that your firewall allows mDNS/Bonjour traffic, so discovery is possible.
No, simply creating a symlink from libxml2.so.16 to libxml2.so.2 will not work. The Canon driver requires an old ABI and specific symbol versions that aren’t in Slowroll’s libxml2, so the binary will fail to run. In any case the package manager still objects:
~> sudo zypper in /home/dean/Downloads/cnijfilter2-6.10-1-rpm/packages/cnijfilter2-6.10-1.x86_64.rpm
Refreshing service 'openSUSE'.
Loading repository data...
Reading installed packages...
Resolving package dependencies...
Problem: 1: nothing provides 'libxml2.so.2()(64bit)' needed by the to be installed cnijfilter2-6.10-1.x86_64
Solution 1: do not install cnijfilter2-6.10-1.x86_64
Solution 2: break cnijfilter2-6.10-1.x86_64 by ignoring some of its dependencies
Choose from above solutions by number or cancel [1/2/c/d/?] (c): c
In addition to installing ipp-usb, I had to install the package ‘cups-filters2-driverless’
tim@slowroll:~> driverless
The program 'driverless' can be found in following packages:
* cups-filters [ path: /usr/bin/driverless, repository: repo-oss ]
* cups-filters2-driverless [ path: /usr/bin/driverless, repository: repo-oss ]
Try installing with:
sudo zypper install <selected_package>
Now I get this output for ‘ippfind’ and ‘driverless’
Next added ‘mdns’ to the (active) public firewall zone.
Now, when I go to ‘localhost:631’ I see my printer next to ‘Discovered Network Printers’, and on the next page I see 'Canon TR8600 series - IPP Everywhere™!
Printed a test page and it worked!
Thank you, I really appreciate it!
Question: Wouldn’t it be helpful if the ‘cups-filters2-driverless’ is installed by default, along with the other CUPS packages? If it was, I might have been able to do this myself. I think that was my biggest stumbling block. (Another was the mdns entry in the firewall.)
I documented my steps above in case it helps someone else with this oddball printer (which is a completely decent printer for home use).