Skip to content

Instantly share code, notes, and snippets.

@sieste
Last active August 1, 2024 15:08
Show Gist options
  • Save sieste/77c004a263f1da38688e119c7b4758b8 to your computer and use it in GitHub Desktop.
Save sieste/77c004a263f1da38688e119c7b4758b8 to your computer and use it in GitHub Desktop.
Minimal instructions to install Printer/Scanner combo "Brother DCP-J4120DW" under Arch Linux

General

  • Power up the printer, install cartridges
  • Settings -> Wi-Fi -> Setup-Wizard to connect printer to your network
  • Settings -> Wi-Fi -> TCP/IP, note IP address (mine is 192.168.1.8)
  • check if printer is reachable on the network: ping 192.168.1.8
  • create new user "lp" in group "lp": sudo useradd -s /bin/false -g lp lp

Install printer

  • install driver from AUR: yay brother-dcpj4120dw
  • install CUPS, enable, start:
    • sudo pacman -S cups
    • sudo systemctl enable org.cups.cupsd.service
    • sudo systemctl start org.cups.cupsd.service
  • open localhost:631 in webbrowser
  • Administration -> Add Printer
  • (to authenticate, use username 'root' and your root password)
  • "Internet Printing Protocol (IPP)"
  • put "ipp://192.168.1.8:631/ipp/print" into Connection field (using the correct IP)
  • fill in "Name" field
  • Make:"Brother", Model:"Brother DCP-J4120DW CUPS (en)"
  • click "Add Printer"
  • set default options and click "Set Default Options"
  • Maintainance -> Print test page

Install scanner

  • install sane: sudo pacman -S sane
  • add printer IP to file '/etc/sane.d/net.conf'
  • install brscan4: yay brscan4
  • install brscan-skey: yay brscan-skey
  • add scanner: sudo brsaneconfig4 -a name='brother' model='DCP-J4120DW' ip=192.168.1.8
  • restart sane: sudo systemctl restart saned.socket
  • check if scanner is recognised: scanimage --list-devices
  • scan a test page: scanimage --device 'brother4:net1;dev0' > /tmp/test.pnm
  • optionally install a frontend, for example: yay gscan2pdf
@jcguu95
Copy link

jcguu95 commented Aug 14, 2020

How did you find the right brscanX to use? There are at least brscan2, brscan3, brscan4, brscan5..

@davidganz
Copy link

@brodaty135
Copy link

worked for brother j470dw
Thanks!

@trustlix
Copy link

trustlix commented Jun 4, 2022

Worked for brother MFC-J6510DW. Thanks!

@strboul
Copy link

strboul commented Sep 21, 2022

Also works for Brother DCP-L2530DW. Nice!

@0ReiNa0
Copy link

0ReiNa0 commented Oct 29, 2022

works for Brother DCP-J132W

@raywhiteside
Copy link

works for Brother MFC-L2750DW using brscan4

@AntonioPic
Copy link

Thank you sooo much! It worked flawlessly for my DCP-9020CDW!

@upthewazoo
Copy link

upthewazoo commented Feb 18, 2023

Scanner brscan4 worked on DCP-L5500DN [Even though driver shows on Brother as 12/21/2021 (0.4.11-1)]. Printer side required more work on a fresh Arch install. I also added system-config-printer package to get rid of some KDE GUI printer add error messages. I had to add the mss-mdns package to get rid of printer not found messages when trying to access added printers using mdns broadcast name. Then start/enable the avahi-daemon.service. Then edit the /etc/nsswitch.conf to add the text between quotes "mdns_minimal [NOTFOUND=return]" between the hosts line right after "mymachines" and before "files". Then I added the printer using the broadcast name on the network but used the new IPP Everywhere PPD instead of the machine specific PPD. Anyone could follow along searching the various error messages each step of the way on the arch wiki. For scanner I may not have had to gone through brscan4? -- Skanlite in KDE detected both the brscan4 scanner I set up using the instructions at the top of this page but it also discovered my full printer name with an escl:http://IPADDRESS:80 entry and when I selected that second auto-discovered entry it scanned just fine.

@Fooftilly
Copy link

worked for DCP-T425W but I used brsaneconfig5 and linux-brprinter-installer-2.2.3-1 script (from Brother site) before running your commands.

@edwin0725
Copy link

scanner setup worked for Brother mfc-j430w thanks ...... ^_^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment