Printer not working

Hi, I had to reinstall 15.2 and after the install my canon mg2500 printer no longer works. If I look at yast>hardware information> printer it’s there. But it doesn’t show up as a printing option in libreoffice. I found this article “SDB:Installing_a_Printer” that suggests that it should probably be using the “libusb” kernal module and not the “usblp” module that it is using as a driver. I follow the instructions to remove the module but it just came back again. I’d appreciate any help that I can get with getting the printer back up again. Thanks

Can you enable it by Yast—Hardware—Printer?

Or via cups:

localhost:631

is the URL for your Browser to go to cups, password if needed is the root password.

AFAICS, “libusb” is no longer part of the Leap 15.2 distribution – the correct Kernel module is “usblp” – which is part of the “kernel-default” package …

  • The file supplied with the current Kernel is ‘/lib/modules/5.3.18-lp152.60-default/kernel/drivers/usb/class/usblp.ko’ .

In the YaST Printer set-up, you need to ensure that, the printer’s LPD is pointing to the “usblp” Kernel module …
[HR][/HR]Someone needs to take a look at the Printer SDB …

Not true - the CUPS usb backend uses the “low-level” libusb library, but can work with the legacy usblp module if necessary.

~> rpm -qa|grep libusb
libusb-0_1-4-32bit-0.1.13-lp152.3.5.x86_64
libusb-1_0-0-1.0.21-lp152.4.3.1.x86_64
libusb-0_1-4-0.1.13-lp152.3.5.x86_64
libusb-1_0-0-32bit-1.0.21-lp152.4.3.1.x86_64

As an example, my USB-connected Brother DCP7055 is configured with the following URI

device for DCP7055: usb:/dev/usb/lp0

Many modern multi-function printers (eg HP) use their own backend which relies on libusb instead.

In any case, this is all handled automatically, and really the focus needs to be on the actual printer driver concerned.

As Sauerland has mentioned, you should be able to configure the printer via YaST, or the CUPS web interface (my preferred option).

There is gutenprint drivers for the MG2500 series, but you may need to make sure that the ‘gutenprint’ package is installed first. Additionally, Canon do have a proprietary Linux package for this range of models as well.

Refer…

(Choose Linux as OS)

Once the requisite driver is installed, configuration should largely be automatic for a USB-connected device, but manual configuration is also possible.

Hi Everyone, I was able to get it working using CUPS. Thanks for your help!

Good that you got it working, but always nice to find out what the issue was and what was done to resolve it. :wink:

Yes, I also have “libusb-1_0-0” installed here – new Leap 15.2 installation – new system …

  • But, the “libusb-1_0-0” package doesn’t have any Kernel modules – only a couple of libraries – actually, only one library if, one wishes to be picky –

 > l /usr/lib64/libusb-1.0.so.0 /usr/lib64/libusb-1.0.so.0.1.0
lrwxrwxrwx 1 root root     19  1. Dez 23:34 /usr/lib64/libusb-1.0.so.0 -> libusb-1.0.so.0.1.0*
-rwxr-xr-x 1 root root 101408  1. Dez 23:34 /usr/lib64/libusb-1.0.so.0.1.0*
 > 

On taking another look at the “Installing a Printer” SDB, I think I now realise which issue “pde” was having:

On current systems the usblp kernel module is normally no longer required for USB printer access because nowadays USB printer access happens via libusb. In this case a loaded usblp kernel module could even cause problems/conflicts with the USB printer access via libusb.

So, actually, “pde” should unload and then modprobe the “usblp” Kernel module – whether or not, the “usblp” Kernel module should be blacklisted is a moot point …

Yes, of course, it is a userspace library. No driver is needed. The usb backend uses this API to communicate with USB device nodes directly.

So, actually, “pde” should unload and then modprobe the “usblp” Kernel module – whether or not, the “usblp” Kernel module should be blacklisted is a moot point …

There is no need to blacklist it. Whether it comes into play depends on the device in question.

Honestly, I don’t know what the problem was. I used CUPS to “Add a Printer”, which went smooth. The printer worked after that. It still has the usblp Kernal Module listed as the driver. Thanks again!

That is not the actual printer driver. It is only responsible for USB backend communication for legacy USB printers. (Most modern multi-function USB-connected printers rely on bi-directional communication via libusb.)

The underlying driver (filter) is defined in the PPD…

grep -i filter /etc/cups/ppd/*

Yast hardware information refers to usblp as the Kernal Driver. But thanks for the clarification on the actual printer driver, I didn’t know the difference.

Here is the output of:

grep -i filter /etc/cups/ppd/*
**localhost:/home/paul #** grep -i filter /etc/cups/ppd/* 
/etc/cups/ppd/Canon_MG2500_series.ppd:*cups**Filter**:      "applicat
ion/vnd.cups-raster 100 rastertogutenprint.5.2" 
/etc/cups/ppd/Canon_MG2500_series.ppd.O:*cups**Filter**:    "applicat
ion/vnd.cups-raster 100 rastertogutenprint.5.2"
  

Thanks again!

You’re welcome.

Here is the output of:

grep -i filter /etc/cups/ppd/*
**localhost:/home/paul #** grep -i filter /etc/cups/ppd/* 
/etc/cups/ppd/Canon_MG2500_series.ppd:*cups**Filter**:      "applicat
ion/vnd.cups-raster 100 rastertogutenprint.5.2" 
/etc/cups/ppd/Canon_MG2500_series.ppd.O:*cups**Filter**:    "applicat
ion/vnd.cups-raster 100 rastertogutenprint.5.2"
  

Thanks again!

This shows that the ‘rastertogutenprint’ driver is in place for your printer. CUPS uses internal filters as part of the filter chain needed to convert from PDF to raster data that the final printer-specific filter then takes and generates in a format suitable for your printer.

I have an Epson XP-446 and whenever I try to print a page the wheels roll to accept the paper, it doesn’t go in and nothing gets stuck and it says paper jam. It’s like that whatever mechanism needs to try and grab the paper isn’t latching onto it. Anyone know why?

did you need to reinstall libusb ??

https://software.opensuse.org/package/libusb-0_1-4
I see a version called “one click install” for Leap 15.2

I would not use 1-Klicker…
Also libusb is in the OSS Repo:

LANG=C zypper se -si libusb
Loading repository data...
Reading installed packages...

S  | Name                | Type    | Version            | Arch   | Repository
---+---------------------+---------+--------------------+--------+-----------
i+ | libusb-0_1-4        | package | 0.1.13-lp152.3.5   | x86_64 | OSS
i+ | libusb-0_1-4-32bit  | package | 0.1.13-lp152.3.5   | x86_64 | OSS
i+ | libusb-1_0-0        | package | 1.0.21-lp152.4.3.1 | x86_64 | OSS-Update
i  | libusb-1_0-0-32bit  | package | 1.0.21-lp152.4.3.1 | x86_64 | OSS-Update
.
.
.
.