Installation is pretty straightforward: just install the two .deb files in the Drivers Section you find on the printer download page.
What they don’t say is that they contain some custom binary 32 bit executable wrapper, which won’t of course run on a native 64 bit system!
The solution is as simple as running:
apt-get install gcc-multilib
but wasn’t a quick find.
On the CUPS side everything seemed working, as the print job completed successfully. After enabling debug in CUPS I found this in the logs:
D [09/Dec/2019:09:32:51 +0100] [Job 392169] STATE: -media-empty-warning
D [09/Dec/2019:09:32:51 +0100] [Job 392169] STATE: -door-open-report
D [09/Dec/2019:09:32:51 +0100] [Job 392169] STATE: -media-jam-warning
D [09/Dec/2019:09:32:51 +0100] [Job 392169] STATE: -input-tray-missing-warning
D [09/Dec/2019:09:32:51 +0100] [Job 392169] STATE: -output-tray-missing-warning
D [09/Dec/2019:09:32:51 +0100] [Job 392169] STATE: -marker-supply-missing-warning
D [09/Dec/2019:09:32:51 +0100] [Job 392169] STATE: -output-area-almost-full-report
D [09/Dec/2019:09:32:51 +0100] [Job 392169] STATE: -output-area-full-warning
D [09/Dec/2019:09:32:51 +0100] [Job 392169] backendWaitLoop(snmp_fd=5, addr=0x7f08acc109b8, side_cb=0x7f08ac9d9180)
D [09/Dec/2019:09:32:51 +0100] [Job 392169] sh: 1: /opt/brother/Printers/MFCL6900DW/lpd/rawtobr3: not found
D [09/Dec/2019:09:32:52 +0100] PID 4843 (/usr/lib/cups/filter/pdftopdf) exited with no errors.
So despite an error the wrapper returned OK and CUPS reported the job as succesful. What’s this rawtobr3?
# file /opt/brother/Printers/MFCL6900DW/lpd/rawtobr3
/opt/brother/Printers/MFCL6900DW/lpd/rawtobr3: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.0, not stripped
Nice, a binary. A 32-bit binary! Going on
# ldd /opt/brother/Printers/MFCL6900DW/lpd/rawtobr3
non è un eseguibile dinamico
What? file
says it’s a dynamically linked binary but ldd
says not? Let’s run it:
# /opt/brother/Printers/MFCL6900DW/lpd/rawtobr3
-bash: /opt/brother/Printers/MFCL6900DW/lpd/rawtobr3: No such file or directory
As said all this happens on 64 bit system without 32 bit libraries installed. Unfortunately Brother doesn’t check exec return codes, otherwise I’d have saved some time…!