The officially official Devuan Forum!

You are not logged in.

#1 2020-04-18 00:03:11

beate
Member
Registered: 2019-03-25
Posts: 26  

Old Brother Scanners broken in Beowulf (problem descr. and workaround)

Hi there, i just want to notify You on a problem with many older Brother scanners, noably those depending on the brscan2 and brscan3 drivers. These drivers cannot be used with the sane version provided by beowulf any morel - libsane 1.0.27. There seems to be an API change from sane 1.0.25 to 1.0.27 which will lead to surprising "undefined symbol" errors in the sane tools.

THIS IS A PROBLEM WITH SANE, NOT WITH BEOWULF. You should and do see this bugs in other Linuxes unsing sane 1.0.27. See for example here

https://forum.ubuntuusers.de/post/9011933/

and here

https://forum.ubuntuusers.de/post/8938890/

I had exactly the same error message in my Beowulf system after installing the brscan2 "driver" from Brother.

A little bit of background (which i found out when i debugged that situation): bracan2 and brscan3 as well are nut just scanner drivers but actually full replacements for libsane.

You see it using ldd on a sane application - here on my system with the workaround: libsane is taken from the brscan2 place and not from the installation path of sane itself. This will only work if libsane coming with the brother driver is the same as the API from the system provided libsane. As soon as these don't match You'll see strange messages like in the links above.

(Sidemark: this also explains why brscan2 and brscan3 or scanners of different brands cannot be used together in a single system; brscan2  simply appears to be a dedicated version of libsane set up with just the set of supported scanners.)

 ldd /usr/bin/scanimage
        linux-vdso.so.1 (0x00007ffc955cc000)
        libsane.so.1 => /usr/lib64/sane/libsane.so.1 (0x00007f9bf1daa000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9bf1da5000)[/b]
        libv4l1.so.0 => /usr/lib/x86_64-linux-gnu/libv4l1.so.0 (0x00007f9bf1d9e000)
        libieee1284.so.3 => /usr/lib/x86_64-linux-gnu/libieee1284.so.3 (0x00007f9bf1b92000)

WORKAROUND:
my scanner had worked perfectly in ASCII. So i purged the sane stuff altogether and built a suitable older sane version from the raw sources, specifically 1.0.24 as used in ASCII. I installed and set up the brscan2 package from Brother as usual (udev rule, DLL search path) - et voila, it works!

In order to avoid this to be overridden by future updates i also made dummy packages for libsane, libsane-common, sane-utils providing a large version number. The Beowulf packages sane and xsane are still compatible with sane-1.0.24, so i installed them as usual but set them on hold. (which means that in future i'll also have to build them manually...)

Again: this will hurt any user of older Brother scanners in ANY linux distro, not just Devuan. But I'd like to explain it here before it beats others.

Offline

#2 2020-04-18 09:26:28

Dutch_Master
Member
Registered: 2018-05-31
Posts: 275  

Re: Old Brother Scanners broken in Beowulf (problem descr. and workaround)

Good post! As a Brother user I may well switch distro's or keep Ascii for the time being. I'd expect Brother themselves would be aware of the situation and expect a brscan4 (or even 5!) version out in the not too distant future to reflect the new sane libs.

Offline

#3 2020-04-18 11:03:05

beate
Member
Registered: 2019-03-25
Posts: 26  

Re: Old Brother Scanners broken in Beowulf (problem descr. and workaround)

Which will not help the users with the old machines. We actually need a(nother) update of the old libs. I also tried to compile the sources of brscan2 - but You have to be relatively deep in sane development to be able to do this (and i didn't have time, needed my scanner urgently to apply for Corona help).

The brscan sources look to me like incomplete sources of libsane utils with the actual driver libs provides as binary libs. So any sane developer should be able to integrate the latter into the new source stream and - if lucky - compile it with those libs or - less luckily - write a wrapper lib in order to match APIs.

Offline

#4 2020-04-18 11:33:55

rolfie
Member
Registered: 2017-11-25
Posts: 1,047  

Re: Old Brother Scanners broken in Beowulf (problem descr. and workaround)

As a workaround try the following: install ASCII in a virtual machine and forward the scanner to this machine. I assume these are USB devices, that should work ok with Virtual Box (had such a setup for a long time with a scanner that only had Windows drivers around).

Its not comfortable, but ok for a lower volume.

rolfie

Offline

#5 2020-04-18 13:30:18

Dutch_Master
Member
Registered: 2018-05-31
Posts: 275  

Re: Old Brother Scanners broken in Beowulf (problem descr. and workaround)

Yes, but probably not for networked devices. Although these should be approachable via said network instead. If all else fails, most (if not all) networked Brother MFC's have an SD-card slot and/or a USB port so one could load the file to a pen drive or flash-card and print from that. Cumbersome, but do-able.

Offline

Board footer