Archives

Categories

Brother MFC-J4440DW Printer

I just had to setup a Brother MFC-J4440DW for a relative. They were replacing an old HP laser printer that mysteriously stopped printing as dark as it should, I don’t know whether the HP printer had worn out or if the HP firmware decided to hobble it to make them buy a new printer. In either case HP is well known for shady behaviour with their printer firmware and should be avoided.

The new Brother printer has problems when using wifi and auto DNS. I don’t know how much of that was due to the printer itself and how much was due to the wifi AP provided by Foxtel. Anyway it works better with Ethernet and a fixed address (the wifi AP didn’t allow me to set a fixed address). I think the main thing was configuring CUPS to connect via the IP address and not use Avahi etc.

One problem I had with printing was that programs like Chrome and LibreOffice would hang for about a minute before printing, that turned out to be due to /etc/cups/lpoptions having the old printer (which had been removed) listed as the default. It would be nice if the web configuration for cups would change that when I set the default printer.

CUPS doesn’t seem to support USB printing. If it is possible to get this printer to print via USB then I welcome a comment describing how to do it.

Scanning only seems to work on Ethernet not on USB, the command for scanning that I ended up with was “scanimage -d escl:http://10.0.0.3:80“. Again I welcome comments from anyone who has had success in scanning via USB. There are probably some Linux users who would find it really inconvenient to setup a network interface specifically for printing. It’s easy for me as I have a pile of spare ethernet cards and a box of cables but some people would have to buy this. Also it’s disappointing that Brother didn’t include an Ethernet cable or a USB cable in the box. But if that makes it cheaper I can deal with that. The resolution for scanning is only 832*1163 and it’s black and white, I think that generally scanning in printers is a bad idea, taking a photo with a phone is a better way of scanning documents.

Generally this printer works well and is cheap at only $299, a price for disposable hardware by today’s standards.

There are Debian packages from Brother for the printer. The scanner package looks like it just configures scanimage, and I’m not sure whether the stock version of CUPS in Debian will do it without the Brother package. One thing I found interesting is that the package mfcj4440dwpdrv has the following shell code in the postinst to label for SE Linux:

if [ "$(which semanage 2> /dev/null)" != '' ];then
semanage fcontext -a -t cupsd_rw_etc_t '/opt/brother/Printers/mfcj4440dw/inf(/.*)?'
semanage fcontext -a -t bin_t          '/opt/brother/Printers/mfcj4440dw/lpd(/.*)?'
semanage fcontext -a -t bin_t          '/opt/brother/Printers/mfcj4440dw/cupswrapper(/.*)?'
if [ "$(which restorecon 2> /dev/null)" != '' ];then
restorecon -R /opt/brother/Printers/mfcj4440dw
fi
fi

This is the first time I’ve seen a Debian package from a hardware vendor with SE Linux specific code. I can’t just add those rules to the Debian policy as that would make the semanage commands fail to add an identical context spec will break the postinst.

In the latest policy I’m uploading to Debian/Unstable (version 2.20231010-1) there are the following 3 lines to deal with this, the first was already there for some time and the other 2 I just added:

/opt/brother/Printers/([^/]+/)?inf(/.*)?        gen_context(system_u:object_r:cupsd_rw_etc_t,s0)
/opt/brother/Printers/[^/]+/lpd(/.*)?   gen_context(system_u:object_r:bin_t,s0)
/opt/brother/Printers/[^/]+/cupswrapper(/.*)?   gen_context(system_u:object_r:bin_t,s0)

The Brother employee(s) who added the SE Linux code to their package are welcome to connect to me on LinkedIn.

4 comments to Brother MFC-J4440DW Printer

  • Chris Barnard

    Hi
    This probably won’t help but on Debian stable running Mate desktop and standard printing packages CUPS (or something) does printing via USB.
    The printer doesn’t have Wifi.
    It’s a HP Deskjet 2131 (Inkjet) that I got for $19 (half price special) at BigW 3 or 4 years ago.
    With the computer set to share the printer I can print to it from any computer on the LAN (they are all Debian boxes).
    It does colour scanning.
    I installed Simple Scan and provided it is turned on I start Simple Scan and wait a few seconds until it finds the scanner and I can scan successive pages resulting in a multipage PDF when I save. I can rotate or delete any page as I go or before I save.
    I haven’t been able to access the scanner from any other computer on the LAN.
    I don’t have the skills to get involved in shell scripting or understanding what almost all config files might do.
    Chris B

  • Unable to comment regarding your queries as my use-case differs

    Have this printer, connected from day one via Ethernet cable and having its own IP address. Finding it an excellent printer.

    The cartridges may appear expensive, but that is only before checking the rated estimated page yield – after that they appear cheap.

    Had a HP before, and it died after I tried using “compatible” cartridges; second printer that has happened to. Lesson–don’t use compatible” cartridges.

    Bought an Epson immediately following the HP – best thing that happened a couple of weeks later was dropping it from about 1 metre – irretrivably smashed. But looking at it now, the Epson was not a shade on this Brother, cannot hold a candle to the Brother.

    Romane

  • Stephen

    “CUPS doesn’t seem to support USB printing. If it is possible to get this printer to print via USB then I welcome a comment describing how to do it.”

    All that was required for me to run my Brother HL-2320D series printer via USB was click on the Add Printer option in the KDE configuration screen under Printers. It then shows screen with a Local Printer option among others. It shows up using its name with a ( a printer connected by USB) next to its description for the choice to add in the Local Printers section. Also needed the printer-driver-brlaser package to have the drivers for it installed according to my Bookworm install notes. No clue on the scanner I have none.

  • I’ve had USB printing working with HP and Brother printers in the past, but for unknown reasons it didn’t like this one. CUPS just didn’t provide an option for it while it had autodetected other printers. I don’t mind much as it works well enough for me on Ethernet and another of the same model worked via USB on Windows. Maybe an update to CUPS will fix this at some future time.