Brother DCP-T420w

Hello, Hadiono. Have you solved the problem?
I have the same printer and made it works on Manjaro Linux recently.

I have modified the AUR package brother-dcpt520w by Chiwan Park first, and then use system-config-printer to config the printer. Details are listed below, but some terms may not be exactly as the language of my desktop is not English.

  1. The printer configuration.
    (1) Input the URL of the printer in a web browser, and then log in.
    (2) Click Network-Service, write down the Service Name
    (3) Click Network-Protocol, then Click Advanced Settings behind LPD, and check Use the sign of LPD. Then submit

  2. Install drivers
    (1) Make the driver package
    The Modified files are:
    PKGBUILD

# Maintainer: none <none@none.none>
# Modified by realasking from brother-dcpt520w maintained by Chiwan Park 
 
pkgname=brother-dcpt420w
pkgver=3.5.0
pkgrel=1
pkgdesc="Driver for the Brother DCP-T420W wifi multifuncional printer"
url="http://solutions.brother.com/linux/en_us/index.html"
license=('custom:brother')
install="brother-dcpt420w.install"
arch=('i686' 'x86_64')
optdepends=('sane: scanning support'
            'brscan4: making dcpt420w available to sane'
            'brscan-skey: scankey support if connected via usb')
 
if [[ "$CARCH" == "x86_64" ]] ; then
  depends=('a2ps' 'cups' 'lib32-glibc')
elif [[ "$CARCH" == "i686" ]] ; then
  depends=('a2ps' 'cups')
fi
 
source=(
  "https://download.brother.com/welcome/dlf105168/dcpt420wpdrv-3.5.0-1.i386.deb" \
  "fix_lp.patch"
)
sha256sums=(
  '3ede819a65aec379ec7676f7ac0cacabd70879fbaaf2c7978eeae406c0e1c1f2' \
  'ddb53ba14356b1fb98f19e3b32f124e878f06819a2cb6cb40a719d2250fababf'
)
 
build() {
    cd "$srcdir"
    tar -xf data.tar.gz -C .
    tar -xf control.tar.gz -C .
  patch -Np0 < fix_lp.patch
}
 
post_install() {
  /opt/brother/Printers/dcpt420w/cupswrapper/cupswrapperdcpt420w
}
 
package() {
  install -d $pkgdir/usr/bin
  install -d $pkgdir/var/spool/lpd
  cp -R $srcdir/opt $pkgdir/opt
}

brother-dcpt420w.install

post_install() {
  # lpr
  /opt/brother/Printers/dcpt420w/inf/setupPrintcapij dcpt420w -i
  
  # cupswrapper
  /opt/brother/Printers/dcpt420w/cupswrapper/cupswrapperdcpt420w
  
  systemctl restart org.cups.cups.service
}
 
post_upgrade() {
  /bin/true
}
 
pre_remove() {
  # lpr
  /opt/brother/Printers/dcpt420w/inf/setupPrintcapij dcpt420w -e
  
  # cupswrapper
  /opt/brother/Printers/dcpt420w/cupswrapper/cupswrapperdcpt420w -e
}
 
op=$1
shift
 
$op "$@"

fix_lp.patch

--- opt/brother/Printers/dcpt420w/inf/setupPrintcapij.old       2008-09-15 22:01:07.000000000 +0200
+++ opt/brother/Printers/dcpt420w/inf/setupPrintcapij   2008-09-15 22:01:26.000000000 +0200
@@ -34,7 +34,7 @@
        if [ ! -d $SPOOLER_NAME ]; then
                mkdir $SPOOLER_NAME
        fi
-       chown lp $SPOOLER_NAME
+       chown root $SPOOLER_NAME
        chgrp lp $SPOOLER_NAME
        chmod 700 $SPOOLER_NAME

(2) Install the package

makepkg
sudo pacman -U brother-dcpt420w-3.5.0-1-x86_64.pkg.tar.zst

(3) Install other packages

yay -S brother-cups-wrapper-common brother-lpr-drivers-common system-config-printer xsane xsane-gimp sane colord-sane 
  1. Configuring the scanning function
sudo brsaneconfig4 -a name=Brother model=DCP-T420W ip=192.168.0.105
  1. Configuring the printing function
    (1) sudo system-config-printer
    (2) Right click on the button of Brother-DCP-T420W, then click Properties
    (3) Click the button behind the Device URI, then Network Printer-Search Printer
    (4) Click the printer model whose name is started from Brother-DCP-T420W and ended with Service Name (we wrote down in step 1-(2)) plus .local
    (5) Choose IPP Network Printer through DNS-SD, then Apply
    (6) Click Production and Model, choose Select the printer from database
    (7) Click Brother, then Forward; then click DCP-T420W(Recommend), and Forward
    (8) Print the test page and then click OK