Also a little note, the scanner group is not strictly joined with the printer (The hardware device is owned as a printer) but it is related to the "scanning" chain the programs, so the various advices to check the USB port for the group "scanner" is not a real solution.
As it's time of story telling (not a Xmas story) the brother drivers are quite complicated
For the printing part a "filter" is invoked based on ghostscript that transform your image or pdf-page in sort of raw format that is processed by an executable (If I didn't remember wrong is a 32-bit) and the send to the printer in the "native" format, some problem may arise if the 32-bit library are not installed properly, the brprinter installer generally take care of this and does a quite good job.
The original "brprinter-install" script was developed in a french forum and the adopted by brother.
The part that install the library in the wrong place is this installer and it is not well updated (the product is out of production so maybe it will be unmantained).
The scanner part is based on sane and you have to take care of the presence of the line brother3 in the /etc/sane.d/dll.conf (generally is the last line as it is added by the installer), so if in future the scanner is not working anymore maybe an update to the sane package replace this file.
Some decision made in the installer are not update proof, the relevant part as the drivers are generally safe as they are not overwritten, but the /etc/sane.d/dll.conf and the part of the /udev rule are somewhat fragile, and have to be the first part to check when a problem arise.
]]>When I try to install the driver I get the following error
Could not find a profile matching "{VENDOR}/main" for vendor devuan at /usr/bin/lintian line 979.
Lintian finished with the starting state 2
]]>http://support.brother.com/g/b/download … dcp197c_eu
for the installer
and then as a superuser you have to copy or link the files
libsane-brother3.so* from /usr/lib64/sane to /usr/lib/sane
and all is working, plus you have to make a file :
60-scanner.rules
ACTION!="add", GOTO="libsane_rules_end"
ENV{DEVTYPE}=="usb_device", GOTO="libsane_create_usb_dev"
SUBSYSTEM=="usb_device", GOTO="libsane_usb_rules_begin"
SUBSYSTEM!="usb_device", GOTO="libsane_usb_rules_end"
# Kernel >= 2.6.22 jumps here
LABEL="libsane_create_usb_dev"
# For Linux >= 2.6.22 without CONFIG_USB_DEVICE_CLASS=y
# If the following rule does not exist on your system yet, uncomment it
# ENV{DEVTYPE}=="usb_device", MODE="0664", OWNER="root", GROUP="root"
# Kernel < 2.6.22 jumps here
LABEL="libsane_usb_rules_begin"
# Brother scanners
ATTRS{idVendor}=="04f9", ATTRS{idProduct}=="023e", ENV{libsane_matched}="yes"
# The following rule will disable USB autosuspend for the device
ENV{libsane_matched}=="yes", RUN+="/bin/sh -c 'if test -e /sys/$env{DEVPATH}/power/control; then echo on > /sys/$env{DEVPATH}/power/control; elif test -e /sys/$env{DEVPATH}/power/level; then echo on > /sys/$env{DEVPATH}/power/level; fi'"
LABEL="libsane_usb_rules_end"
ENV{libsane_matched}=="yes", RUN+="/bin/setfacl -m g:scanner:rw $env{DEVNAME}"
LABEL="libsane_rules_end"
This file is useful because the usual places are overwritten if the debian package is updated, the additional file is never deleted, and it's your care to mantain it whenever is necessary.
Hope it is quite clear
Regards
Carlo D.
]]>