Brother DS-640 scanner

I am currently using this scanner in a Windows 10 VM. That is the only way I have been able to use it. On their support site, Brother does have Linux drivers available for this scanner, but only in .rpm and .deb formats. I downloaded the .deb but have done nothing with it because I don’t know where to start with that.

I have installed the scanner-support metapackage as pointed out in this post, as well as the applications Paperwork and simple-scan. My scanner does not show up in either application.

It looks like there is no out-of-the-box support. But with a bit of googling, I found an AUR package that might help.

https://aur.archlinux.org/packages/brscan5

Be warned AUR packages are not supported by the Manjaro forum. I would suggest doing some reading before you look at installing it if you’re unfamiliar with them.

How is it connected to your computer? Through USB or network?

It’s connected through USB.

If your scanner is using USB, also install the ipp-usb package and start/enable ipp-usb.service to allow using IPP protocol over USB connection.
SANE - ArchWiki

I’ve tried start/stop/restart that service. It always shows up as inactive/dead.

○ ipp-usb.service - Daemon for IPP over USB printer support
     Loaded: loaded (/usr/lib/systemd/system/ipp-usb.service; enabled; preset: disabled)
     Active: inactive (dead) since Thu 2022-08-18 06:47:13 EDT; 2s ago
   Duration: 10ms
       Docs: man:ipp-usb(8)
    Process: 150435 ExecStart=/usr/bin/ipp-usb udev (code=exited, status=0/SUCCESS)
   Main PID: 150435 (code=exited, status=0/SUCCESS)
        CPU: 12ms

Aug 18 06:47:13 Ryzen systemd[1]: Started Daemon for IPP over USB printer support.
Aug 18 06:47:13 Ryzen systemd[1]: ipp-usb.service: Deactivated successfully.

Check why it fails to stay alive.

journalctl --boot=0 --unit=ipp-usb --no-pager

Here’s what I got. Not very informative. :man_shrugging:

[denny@Ryzen ~]$ journalctl --boot=0 --unit=ipp-usb --no-pager
Aug 18 06:43:58 Ryzen systemd[1]: Started Daemon for IPP over USB printer support.
Aug 18 06:43:58 Ryzen systemd[1]: ipp-usb.service: Deactivated successfully.
Aug 18 06:44:44 Ryzen systemd[1]: Started Daemon for IPP over USB printer support.
Aug 18 06:44:44 Ryzen systemd[1]: ipp-usb.service: Deactivated successfully.
Aug 18 06:44:59 Ryzen systemd[1]: Started Daemon for IPP over USB printer support.
Aug 18 06:44:59 Ryzen systemd[1]: ipp-usb.service: Deactivated successfully.
Aug 18 06:46:47 Ryzen systemd[1]: Started Daemon for IPP over USB printer support.
Aug 18 06:46:47 Ryzen systemd[1]: ipp-usb.service: Deactivated successfully.
Aug 18 06:47:13 Ryzen systemd[1]: Started Daemon for IPP over USB printer support.
Aug 18 06:47:13 Ryzen systemd[1]: ipp-usb.service: Deactivated successfully.
Aug 18 09:43:58 Ryzen systemd[1]: Started Daemon for IPP over USB printer support.
Aug 18 09:43:58 Ryzen systemd[1]: ipp-usb.service: Deactivated successfully.

I don’t know anything about ipp-usb, but its documentation says ipp-usb udev exits “when last IPP-over-USB device is disconnected”.
https://www.reddit.com/r/linuxquestions/comments/rms14l/comment/hpnz7cu/?context=3

Was your scanner plugged and running when you tried?

the systemd status of ipp-usb is the same whether or not the scanner is plugged in and on. I ran ipp-usb in debug mode with the scanner plugged in. I unplugged it, plugged it into a different USB port, unplugged it, then plugged in to the same port.

[sudo] password for denny: 
  ===============================
  ipp-usb started in "debug" mode, pid=3004
  ctrlsock: listening at "/var/ipp-usb/ctrl"
- HOTPLUG: removed Bus 002 Device 002
+ HOTPLUG: added Bus 001 Device 007
- HOTPLUG: removed Bus 001 Device 007
+ HOTPLUG: added Bus 001 Device 008

It detects something, but the scanner still does not show up in any scanner program.

Also, I notice a new weird effect. If I plug/unplug the scanner several times, eventually all USB input fails. My mouse and keyboard are also USB, sometimes when I unplug or plug the scanner in, the mouse and keyboard will stop working. The system does not freeze up, just mouse and keyboard input stops working. Unplugging/plugging keyboard and mouse back in doesn’t work. Might be a clue for someone wiser than myself.

I opened up a Fedora VM and installed the RPM driver package from Brother. I was able to use the scanner immediately.

Still don’t know how to get it working with Manjaro but I figured I’d mention it.

This is a weird behavior indeed. Sadly that’s outside my expertise.
Maybe providing your system information would give a clue.


Alternatively, as suggested by @akin2silver, there may be a driver package suited for your model in AUR: SANE/Scanner-specific problems - ArchWiki

along the way, the info that @akin2silver gave might have been lost

did you install this AUR package? - it uses/contains the same .rpm that you used in your Fedora installation …
If you do not have that installed, the thing won’t be able to work.
This is the actual driver that is needed.

@el_maquinisto

HI,
Check on your system if sane and sane-airscan and colord-sane are installed. If not, do it.
And like it is a Brother you should install too:

yay -S libsane-dsseries

After turn on your scanner and do the following commands. And obviously give us all that you get in the console output.

sudo sane-find-scanner -q

You should get an output like this one:

found USB scanner (vendor=0x0b05 [AsusTek Computer Inc.], product=0x1939 [AURA LED Controller]) at libusb:001:002

cat /etc/services| grep scan

And a result like this:

scanstat-1 1215/tcp
scanstat-1 1215/udp
scan-change 2719/tcp
scan-change 2719/udp
sysscanner 3251/tcp
sysscanner 3251/udp
sscan 3853/tcp
sscan 3853/udp
stat-scanner 4157/tcp
stat-scanner 4157/udp
ethoscan 6935/tcp
ethoscan 6935/udp
hiperscan-id 8293/tcp

scanimage -L

And the result for me

device escl:https://192.168.XX.XXX:XXX' is a HP OfficeJet 6950 [D267B7] platen,adf scanner device airscan:e1:HP OfficeJet 6950 [D267B7]’ is a eSCL HP OfficeJet 6950 [D267B7] ip=192.168.XXX.XXX
device `hpaio:/net/OfficeJet_6950?ip=192.168.XXX.XXX’ is a Hewlett-Packard OfficeJet_6950 all-in-one

If you got some output try this putting it a paper to scan and do:

scanimage -T

Oups I was forgotten:

lsusb

If your usb port is a usb3 (color blue) put it on a usb2. Sometimes, it is just that.

1 Like
[denny@Ryzen ~]$ sudo sane-find-scanner -q
[sudo] password for denny: 
could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
found USB scanner (vendor=0x04f9 [Brother], product=0x0468 [DS-640]) at libusb:002:002
[denny@Ryzen ~]$ cat /etc/services | grep scan
scanstat-1       1215/tcp
scanstat-1       1215/udp
scan-change      2719/tcp
scan-change      2719/udp
sysscanner       3251/tcp
sysscanner       3251/udp
sscan            3853/tcp
sscan            3853/udp
stat-scanner     4157/tcp
stat-scanner     4157/udp
ethoscan         6935/tcp
ethoscan         6935/udp
hiperscan-id     8293/tcp
[denny@Ryzen ~]$ 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).

[denny@Ryzen ~]$ scanimage -T
Output format is not set, using pnm as a default.
scanimage: no SANE devices found
[denny@Ryzen ~]$ lsusb
Bus 004 Device 002: ID 05e3:0612 Genesys Logic, Inc. Hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 003: ID 0d8c:0012 C-Media Electronics, Inc. XIBERIA
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 04f9:0468 Brother Industries, Ltd DS-640
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 048d:5702 Integrated Technology Express, Inc. ITE Device
Bus 001 Device 006: ID 05ac:024f Apple, Inc. Aluminium Keyboard (ANSI)
Bus 001 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 0b95:6804 ASIX Electronics Corp. AX68004
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Still no scanner detected when using either Paperwork or Gnome Document Scanner. Still works without issue with Fedora VM.

:man_shrugging:

Indeed. Your scanner is not recognized.
As the project sane is this one which is piloted by all graphical interface it will be interresting to know which version is running in Manjaro and in Fedora.
I don’t know about Fedora but on Manjaro you can use this command line (and the result for me that should be the same for you ?)

pacman -Qi sane  :heavy_check_mark:
Nom : sane
Version : 1.1.1-1
Description : Scanner Access Now Easy
Architecture : x86_64
URL : http://www.sane-project.org/
Licences : GPL2
Groupes : –
Fournit : libsane.so=1-64
Dépend de : bash cairo gcc-libs glibc libgphoto2 libnl libpng libxml2 libieee1284 net-snmp openssl v4l-utils libavahi-client.so=3-64 libavahi-common.so=3-64 libcurl.so=4-64
libgphoto2.so=6-64 libgobject-2.0.so=0-64 libpoppler-glib.so=8-64 libsystemd.so=0-64 libtiff.so=5-64 libusb-1.0.so=0-64
Dépendances opt. : –
Requis par : colord-sane ksanecore python-sane sane-airscan simple-scan xsane
Optionnel pour : hplip libreoffice-fresh
Est en conflit avec : –
Remplace : –
Taille installée : 18,15 MiB
Paqueteur : David Runge dvzrv@archlinux.org
Compilé le : mer. 19 janv. 2022 19:13:58
Installé le : ven. 18 févr. 2022 10:57:25
Motif d’installation : Installé comme dépendance d’un autre paquet
Script d’installation : Non
Validé par : Signature

NB: Sorry for the delay, I’m not always behind my computer.

You never responded (yay or nay) to this question a little further up this thread.

Just checked, and yes, I do have it installed.

[denny@Ryzen ~]$ pacman -Qs brscan5
local/brscan5 1.2.11_0-2
    SANE drivers from Brother for compatible models

Ran into the same problem, I guess. Seems like some driver meta information is missing from the RPM/DEB package for this model.

I edited /lib/udev/rules.d/50-Brother_DSScanner.rules. Basically doubled the line for the DS-620, which was present, and just made a DS-640 out of it.

KERNEL==“sg[0-9]", ATTRS{type}==“0”, ATTRS{vendor}==“Brother”, ATTRS{model}==“DS-620”, MODE=“0666”, GROUP=“users”
KERNEL=="sg[0-9]
”, ATTRS{type}==“0”, ATTRS{vendor}==“Brother”, ATTRS{model}==“DS-640”, MODE=“0666”, GROUP=“users”
KERNEL==“sg[0-9]", ATTRS{type}==“0”, ATTRS{vendor}==“Brother”, ATTRS{model}==“DS-720D”, MODE=“0666”, GROUP=“users”
KERNEL=="sg[0-9]
”, ATTRS{type}==“0”, ATTRS{vendor}==“Brother”, ATTRS{model}==“DS-820W”, MODE=“0666”, GROUP=“users”
KERNEL==“sg[0-9]*”, ATTRS{type}==“0”, ATTRS{vendor}==“Brother”, ATTRS{model}==“DS-920DW”, MODE=“0666”, GROUP=“users”

Then I did reload udev by invoking sudo udevadm control --reload.
After that, scanimage -L resulted in

device `brother5:bus4;dev3’ is a Brother DS-640 USB scanner

and I could select and use it it in Skanlite. Useful for all this was the Ubuntu documentation: https://wiki.ubuntuusers.de/Scanner/Brother/ ← I cannot post this as a link (╯°□°)╯︵ ┻━┻