While most of my server machines are Linux and I am daily driving Ubuntu on my laptop, I still use Windows for some things. For example, scanning and printing has been thus far in the exclusive Windows domain.
Well, not anymore. Time has come to connect Ubuntu 23.04 desktop to my trusty Brother MFC-J475DW printer/scanner.
I first went to the Brother website and surprisingly they provide Linux drivers for something that's now ancient device. And that's where pleasant surprise stopped as instructions didn't really work. But, with a bit of adjustments, it did eventually work out.
First of all, I connect to this printer via network and thus you'll see IP in instructions. I'll use 192.168.0.10
as an example - if your printer uses different address, adjust accordingly.
Secondly, you need the following packages (and yes, I'm not downloading fax drivers):
Thirdly, we need a few extra packets as a prerequisite.
sudo apt-get install lib32z1 lprng cups
For printer, we need both LPR and CUPS drivers:
sudo dpkg -i --force-all mfcj475dwlpr-3.0.0-1.i386.deb
sudo sed -i 's|\:lp.*|\:rm=192.168.0.10\\\n\t:rp=lp\\|g' /etc/printcap
sudo systemctl restart lprng
sudo dpkg -i --force-all mfcj475dwcupswrapper-3.0.0-1.i386.deb
lpadmin -p MFC-J475DW -E -v lpd://192.168.0.10/MFC-J475DW -P /usr/share/cups/model/Brother/brother_mfcj475dw_printer_en.ppd
For scanner, steps are even simpler:
sudo dpkg -i --force-all brscan4-0.4.11-1.amd64.deb
sudo brsaneconfig4 -a name=MFC-J475DW model=MFC-J475DW ip=192.168.0.10
If all went ok, you should be able to print and scan now.
PS: Huge props to Brother for providing Linux drivers for pretty much all their devices.