Unable to use brother scanner after recent zypper dup

This scanner & PC have been in use since first set up on 13.2. When I upgraded to 14.1 I ran into an issue similar to today’s (see https://bit.ly/3dGBPC9) That time the problem resolved easily, however I recently installed Thunderbird (fresh install, old /home). The scanner worked at first, but I didn’t use it for a couple of months, during which I updated several times using (zypper dup)

Today xsane says “No devices available”, Here’s what I’ve tried so far:

**localhost:~ #** brsaneconfig4 -a name=8850 model=mfc-l8850cdw ip=192.168.1.114 
**localhost:~ #** brsaneconfig4 -q | grep name=8850
**localhost:~ #** scanimage -L  
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).
**localhost:~ #** ping 192.168.1.114
PING 192.168.1.114 (192.168.1.114) 56(84) bytes of data.
64 bytes from 192.168.1.114: icmp_seq=1 ttl=255 time=118 ms
64 bytes from 192.168.1.114: icmp_seq=2 ttl=255 time=4.30 ms
64 bytes from 192.168.1.114: icmp_seq=3 ttl=255 time=6.09 ms
64 bytes from 192.168.1.114: icmp_seq=4 ttl=255 time=7.47 ms
64 bytes from 192.168.1.114: icmp_seq=5 ttl=255 time=6.49 ms
64 bytes from 192.168.1.114: icmp_seq=6 ttl=255 time=53.5 ms
64 bytes from 192.168.1.114: icmp_seq=7 ttl=255 time=78.7 ms
64 bytes from 192.168.1.114: icmp_seq=8 ttl=255 time=103 ms
64 bytes from 192.168.1.114: icmp_seq=9 ttl=255 time=7.89 ms
64 bytes from 192.168.1.114: icmp_seq=10 ttl=255 time=6.35 ms
64 bytes from 192.168.1.114: icmp_seq=11 ttl=255 time=4.40 ms
64 bytes from 192.168.1.114: icmp_seq=12 ttl=255 time=6.52 ms
64 bytes from 192.168.1.114: icmp_seq=13 ttl=255 time=6.42 ms
64 bytes from 192.168.1.114: icmp_seq=14 ttl=255 time=25.0 ms
64 bytes from 192.168.1.114: icmp_seq=15 ttl=255 time=13.3 ms
64 bytes from 192.168.1.114: icmp_seq=16 ttl=255 time=10.2 ms
^C
--- 192.168.1.114 ping statistics ---
16 packets transmitted, 16 received, 0% packet loss, time 15022ms
rtt min/avg/max/mdev = 4.304/28.600/117.641/36.864 ms
**localhost:~ #** brsaneconfig4 -d
-----------------------------
cat /etc/fstab
UUID=fbf02bbf-ea01-4981-beb9-67b6a33203fe  /          ext4  defaults      0  1
UUID=57f0bd4a-8c32-480c-9ff9-91520cbbe9bd  swap       swap  defaults      0  0
UUID=379be1c1-4c99-42ea-a553-7f157e7e59e1  /home      ext4  data=ordered  0  2
UUID=6CF1-77EB                             /boot/efi  vfat  utf8          0  2
-----------------------------
sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04ca [Broadcom Corp], product=0x2003 [BCM20702A0]) at libusb:001
:004
found USB scanner (vendor=0x0bda [Generic], product=0x0129 [USB2.0-CRW]) at libusb:001:003
could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.
-----------------------------
ls -R -all /proc/bus/usb
ls: cannot access '/proc/bus/usb': No such file or directory
-----------------------------
cat /proc/bus/usb/devices
cat: /proc/bus/usb/devices: No such file or directory
-----------------------------
scanimage -L

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).
-----------------------------
-----------------------------
ping
test 8850
ping 192.168.1.114 -w 10

PING 192.168.1.114 (192.168.1.114) 56(84) bytes of data.
64 bytes from 192.168.1.114: icmp_seq=1 ttl=255 time=7.48 ms
64 bytes from 192.168.1.114: icmp_seq=2 ttl=255 time=197 ms
64 bytes from 192.168.1.114: icmp_seq=3 ttl=255 time=12.8 ms
64 bytes from 192.168.1.114: icmp_seq=4 ttl=255 time=115 ms
64 bytes from 192.168.1.114: icmp_seq=5 ttl=255 time=82.7 ms
64 bytes from 192.168.1.114: icmp_seq=6 ttl=255 time=5.35 ms
64 bytes from 192.168.1.114: icmp_seq=7 ttl=255 time=7.42 ms
64 bytes from 192.168.1.114: icmp_seq=8 ttl=255 time=6.42 ms
64 bytes from 192.168.1.114: icmp_seq=9 ttl=255 time=6.00 ms
64 bytes from 192.168.1.114: icmp_seq=10 ttl=255 time=5.78 ms

--- 192.168.1.114 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9014ms
rtt min/avg/max/mdev = 5.351/44.589/196.660/62.713 ms

Install libusb-0_1-4, maybe in 32bit.

It’s a network connected device.

It’s a network connected device.

Yes, but somebody in a German forum said, that this was his solution to get it scanning as network scanner.
https://www.opensuse-forum.de/thread/64170-brother3-scanner-auf-leap15-2-problem-ursache-und-workaround/?postID=284453#post284453

But that was brscan3.

@caprus: Please make sure that ‘brother4’ driver entry is present in /etc/sane.d/dll.conf to start with.

Good find. That is an odd quirk. English translation of that post for others who may come searching…

  										 												 						 						 						 														 							I have owned a Brother DCP9010 "Multi can do everything" for 10 years.

Up to now and also on my Ubuntu notebook no problem using the device under Linux.
It didn’t work on OpenSuse 15.2.
Brother supplies its own drivers for rpm and deb based systems for its printers / scanners.
For me the brscan3-0.2.13-1.x86_64.rpm provided by Brother would be the right package - it had been for 10 years.
The rpm can be installed without any problems.

With the now available # brsaneconfig3 you can integrate the scanner so

brsaneconfig3 -q

correctly displays the scanner.

However, the application programs for scanning (xsane, Scan-Lite …) cannot find the scanner.

Error analysis is possible at sane with the program scanimage.

export SANE_DEBUG_DLL = 128

scanimage -L

outputs debugging information.

Here you can see that the scanner driver “brother3” is started in `/usr/lib64/sane/libsane-brother3.so.1 '.

But it cannot find libusb-0.1.so.4 and ends its work.

Installing libusb-0_1-4 solves the problem - the scanner works without any problems.

The reason is that brscan3-0.2.13-1.x86_64.rpm has no reference to libusb but needs it or at least uses it. Since it is a network scanner, usb is actually not required.

brscan3-0.2.13-1.x86_64.rpm is from February 4th, 2015 - so it’s quite old. The error has probably not been noticed so far because libusb was already installed.

Should Brother be notified of the problem? They certainly don’t do anything with someone so old.
Should Opensuse install libusb by default?

Should you do something differently or just do nothing?

For reference, I have…

S | Name               | Type    | Version          | Arch   | Repository
--+--------------------+---------+------------------+--------+-----------------------
i | libusb-0_1-4       | package | 0.1.13-lp152.3.5 | x86_64 | openSUSE-Leap-15.2-Oss
i | libusb-1_0-0       | package | 1.0.21-lp152.3.4 | x86_64 | openSUSE-Leap-15.2-Oss
i | libusb-1_0-0-32bit | package | 1.0.21-lp152.3.4 | x86_64 | openSUSE-Leap-15.2-Oss

I made the entry, and things are looking better. xsane is now loading and finding the scanner however it is not selecting it to use. Once that selection is made in the first xsane screen to appear, the normal xsane control window appears, however the document size is preset to .69 in x 4.94 in and will not accept any changes without causing xsane to freeze.
In short, the problem I posted about is solved, but I now suspect an unrelated bug may have been uncovered in the process. Nevertheless thank you Deano and Sauerland.

**localhost:~ #** brsaneconfig4 -a name=8850 model=mfc-l8850cdw ip=192.168.1.114
"8850" is already registered.
**localhost:~ #** brsaneconfig4 -q | grep name=8850     
**localhost:~ #** scanimage -L       
device `brother4:net1;dev0' is a Brother *8850 mfc-l8850cdw
device `net:localhost:brother4:net1;dev0' is a Brother *8850 mfc-l8850cdw
**localhost:~ #** brsaneconfig4 -d
-----------------------------
cat /etc/fstab
UUID=fbf02bbf-ea01-4981-beb9-67b6a33203fe  /          ext4  defaults      0  1
UUID=57f0bd4a-8c32-480c-9ff9-91520cbbe9bd  swap       swap  defaults      0  0
UUID=379be1c1-4c99-42ea-a553-7f157e7e59e1  /home      ext4  data=ordered  0  2
UUID=6CF1-77EB                             /boot/efi  vfat  utf8          0  2
-----------------------------
sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04ca [Broadcom Corp], product=0x2003 [BCM20702A0]) at libusb:001:004
found USB scanner (vendor=0x0bda [Generic], product=0x0129 [USB2.0-CRW]) at libusb:001:003
could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.
-----------------------------
ls -R -all /proc/bus/usb
ls: cannot access '/proc/bus/usb': No such file or directory
-----------------------------
cat /proc/bus/usb/devices
cat: /proc/bus/usb/devices: No such file or directory
-----------------------------
scanimage -L
device `brother4:net1;dev0' is a Brother *8850 mfc-l8850cdw
device `net:localhost:brother4:net1;dev0' is a Brother *8850 mfc-l8850cdw
-----------------------------
-----------------------------
ping
test 8850
ping 192.168.1.114 -w 10

PING 192.168.1.114 (192.168.1.114) 56(84) bytes of data.
64 bytes from 192.168.1.114: icmp_seq=1 ttl=255 time=136 ms
64 bytes from 192.168.1.114: icmp_seq=2 ttl=255 time=5.76 ms
64 bytes from 192.168.1.114: icmp_seq=3 ttl=255 time=7.56 ms
64 bytes from 192.168.1.114: icmp_seq=4 ttl=255 time=5.77 ms
64 bytes from 192.168.1.114: icmp_seq=5 ttl=255 time=6.00 ms
64 bytes from 192.168.1.114: icmp_seq=6 ttl=255 time=7.85 ms
^C
--- 192.168.1.114 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5007ms
rtt min/avg/max/mdev = 5.764/28.142/135.917/48.205 ms


Ok, that reads like progress. With respect to xsane, try removing the existing scanner settings with

rm -rf ~/.sane

and then attempt to scan with xsane again.

thanks for the tip, but the scanner still only scans a small sliver of the original… still stuck at 0.69 in x 4.94 in

Can you not change it via the preferences menu?

The entry in etc/sane.d/dll.conf must look like this (empty line between the entries is intended) and it has to be at the end of the file:

 #

 
 
 brother4

  

The OP has added the uncommented entry already, and no it does not matter where it is located in that file.

I have read that that is the correct way to do so, however the preferences are all correct, but the problem persists.

Can you try using an alternative front-end such as simple-scan or skanlite instead?

My thought too at this point. I’ll let you know how I make out.

It took no more than a few seconds to install simple-scan and begin scanning. No setup required until I had to do a multi page scan, and even that took no more than a minute to figure out.
I’ve long been fond of the KISS principle, and this software is proof of the value of the principle.

Thank you Deano for all your help (again)

FYI:
I just noticed that simple-scan uses the same new scanner name I created (see OP) with

brsaneconfig4 -a

so I conclude that that step would have been needed even if I’d started out with simple-scan rather than xsane.

Glad to have been of guidance. :slight_smile:

Yes, that relates to scanner driver (backend) configuration, required before any front-ends will work.