Cannot detect Brother multifunction scanner on network

Hello all,

I’m really interested in giving OpenSUSE a try (currently Tumbleweed; Leap 15.1 is a bit dated, but I’m looking forward 15.2), but I’m having a problem… I can’t scan from my networked Brother DCP-9010CN multifunction printer/scanner. Getting it to work always involves some amount of… surgery, no matter the distro, but I’ve so far been able to use it on Ubuntu, Arch and Fedora.

You can find the driver download page here, the scanner-specific link with installation instructions is there, and here is the manufacturer FAQ. OpenSUSE wiki has a nice article that puts together most of the information from Brother, as well as additional troubleshooting details. I’ve used both the automated Brother driver-install script, as well as a more reliable step-by-step manual install, to no avail.

In details, this is what I did as regards the scanner (printing works)… Naturally, I ran the following as root (including the tests), to avoid permission issues:

Download and install brscan3 drivers:

rpm -ihv --nodeps --replacefiles --replacepkgs brscan3-0.2.13-1.x86_64.rpm

Add my device, knowing its IP:

brsaneconfig3 -a name=DCP-9010CN model=DCP-9010CN ip=192.168.1.35

Check that the device is correctly added and can be pinged:


brsaneconfig3 -q
brsaneconfig3 -d

So far so good. Then, I check if sane detects the scanner:

scanimage -L

And unfortunately:

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).

On other distros, I had this problem because sane libraries were often not installed in the right location. For example, on Fedora I had to do the following (based on this FAQ page):

ln -s /usr/lib64/libbrscandec3.so* /usr/lib
mkdir /usr/lib/sane
ln -s /usr/lib64/sane/libsane-brother3.so* /usr/lib/sane

Then it worked. A similar maneuver was required on Ubuntu 18.04 and later, albeit with /usr/lib/x86_64-linux-gnu instead of /usr/lib.

So, on OpenSUSE tried symlinked libraries in this way (as in Fedora, not Ubuntu)… but it didn’t help.

I also tried installing sane-backends-32bit and reinstalling the driver. No luck either.

On Fedora, libnsl is required, while by default it is replaced by libnsl2. On OpenSUSE, libnsl is apparently no longer in the regular repos. I tried downloading it, but the installation returned an error.

At that point I’m at a loss. I’ve wasted hours trying to solve this on my own… So I’m turning to the community for help.

Thanks in advance!

Hi,
My brother multifunction printer always need this package

libusb-0_1-4

before I can use the scanner in openSUSE
It is in the repositories. Just use yast2 to install it
and try if it is the one missing for your scanner to function.

Holy cr*p! That worked. Thank you sir!

But how could I know that I had to get a USB library for a networked device…? How did you find that one?

If installing the package via YaST or zypper, I would expect such a dependency to be installed at that time. If using RPM, then a dependency error should have occurred…

https://forums.opensuse.org/showthread.php/531271-Brother-printer-driver-installs-but-can-t-print?p=2866758#post2866758

It’s not the first time this particular issue has been reported though.

Hi,
My brothers rpm packages is in the directory I use for yast2 and openSUSE/tumbleweed
does not install it as a dependency.

But it should. Likely a report to Brother needed. This particular system library is used as a “compatibility layer allowing applications written for libusb-0.1 to work with libusb-1.0.” So for older drivers in this case.

I installed the package with rpm… Maybe I’ll start over and give it another try with zypper.

Assuming I file a report to Brother, perhaps the Wiki page could be udpated in the meantime?

Yes, let us know how you get on. I’ve never needed to install the dependency manually.

Alright, I uninstalled Brother drivers - printer and scanner alike - as well as libusb-0_1-4, then gave it another try by reinstalling through zypper. The missing library wasn’t pulled, I had to manually install it to get the scanner working again.

In fact, on my first try which I forgot to report in the OP, I used YaST to install the drivers. YaST reported errors about packages not being signed. I ignored those errors and the installation proceeded. However, because my scanner didn’t work, I attributed it to - potentially - YaST not having correctly installed those drivers, due to their being unsigned. So, I removed everything and started over again using rpm, as described in the wiki. The rest of the story is in the OP.

So, should the wiki be updated to mention libusb-0_1-4 ? There is no way a normal user can guess it has to be included, and it is pulled neither by YaST nor zypper. Or should I file a report to Brother ?

Both are probably a good idea. Additionally, some of their older printer drivers also require glibc-32bit support. That was discussed in this thread some time back.

I’ve added some changes to the wiki page…

https://en.opensuse.org/SDB:Brother_How_to_setup_a_Networked_Printer_Scanner#Step_4:_Install_the_Scanner_Drivers_and_Check
https://en.opensuse.org/SDB:Brother_How_to_setup_a_Networked_Printer_Scanner#Step_2_:_Install_the_Printer_Drivers_and_Check

And I’ve written to Brother’s customer support, for them to update their FAQ. Hopefully they’ll take that report into account.