Brother DCP-L2520DW

August 1, 2016

Download files from the brother printer support page.
Use either the install tool(will complain about missing ia32-libs but works fine) or install the packages manually.
Assign a static ip address to the device and add the printer with CUPS. The device should appear with proper name and abilities.
Do not install the generic packages(named ‘Generic LPR printer driver, Generic CUPSwrapper printer driver’).

(for Arch Linux: Install brscan4 from AUR)

For scanning functionality, use brsaneconfig4. Run brsaneconfig4 -q and confirm that the line 39 "DCP-L2520DW" appears. Then run brsaneconfig4 -a name='Friendly Name' model='DCP-L2520DW' ip=192.168...
Or use nodename=printerhostname where printerhostname might be something like BRWxxxxxxxx.fritz.box, use nmap -sn to find out.
Use simple-scan and select the device, then run a test scan. DPI can be set to up to 2400.

Edit /lib/udev/rules.d/60-libsane.rules and add:

# Brother scanners
ATTRS{idVendor}=="04f9", ENV{libsane_matched}="yes"

For scankey support run brscankey-skey -l. Should it not display anything, killing it with brscankey -t and re-running the previous command might help. (Haven’t gotten it to work yet, and I do not see a use for this.)


Update 2021

On printer: Set static IP, enable ipv6 (nice to have), set printer hostname (“nodename”)

Note: Adding via hostname (even appending “.local”) does not work

CUPS: Add new lpd printer

lpd://192.168.1.50/BINARY_P1

nmap:

sudo nmap -sn 192.168.1.1/24
# or
sudo nmap -p 631 192.168.1.1/24

SANE:

sudo brsaneconfig4 -a name=NETWORK-Brother-DCP-L2520DW model=DCP-L2520DW ip=192.168.1.50