PSA: How to install Brother HL-L5210DW printer under Fedora 40 using IPP-over-USB
I just want to share my notes for installing a Brother HL-L5210DW(T) printer via USB under Fedora Atomic 40 (Kinoite), in case it helps anyone else. This may work for other similar models too. I've included some background info at bottom if you're interested.
The following method doesn't require any proprietary drivers, and utilizes IPP-over-USB and IPP Everywhere, both of which are preinstalled on Fedora 40 Atomic distributions (and likely their traditional variants as well).
Connect the printer via USB and ensure it is powered on
Select Internet Printing Protocol (ipp), then Continue
Enter ipp://localhost:60000/ipp/print in the path field, then Continue
Enter a name for the printer (ex: HL-L5210DW), then Continue
Select Brother as the Make, then Continue
Select IPP Everywhere as the Model, then Add Printer
Set the default printer options as desired (set Duplex to DuplexNoTumble for standard 2-sided printing)
Select Set Default Options
From the Maintenance drop-menu, select Set as Server Default
More info
I haven't needed to configure a USB printer at home in well over 15 years, so I was more than a little rusty, and things were further complicated by my use of Fedora Atomic. I'll eventually connect this device via Ethernet so it can be used by everyone on the LAN, but until I sort out exactly where I want to put it I'm stuck with USB.
Brother's driver install tool expects dnf, apt, or yum, and so it's incompatible with ostree-based systems like Kinoite or Silverblue. You can of course download the driver manually and install the necessary packages:
However, I still ran into some problems (likely related to SELinux), and I wasn't keen on overlaying additional packages, particularly proprietary software written for i386 arch.
I then opted to try the generic brlaser driver, but it failed to work correctly when long-edge (NoTumble) duplex printing was enabled. The backside of pages were corrupted and illegible.
After spending far too much of my Saturday reading support forums, I eventually discovered that IPP-over-USB was a thing, and the rest went smoothly. Hopefully this post helps anyone else with an HL-L5210DWT or other L5000 series Brother printer.
Bonus Tip: Disable deep sleep
If you have a Brother printer that goes into deep sleep and doesn't wake up for print jobs, you can disable the Deep Sleep feature via the printer's built-in menu:
Press the OK button to bring up the printer's menu
Navigate to General Setup > Ecology > Sleep Time
Press OK to enter into the Sleep Time settings
Press the Minus and Cancel buttons simultaneously to display the hidden Deep Sleep menu
Press OK to enter into the Deep Sleep settings
Navigate up/down to change the setting to Off
Press OK
Turn off the printer, unplug it and plug it back in, then verify the setting is retained
This method seems to not work reliably with Brother-HL-L2370DN-series printers right now. At least after a quick search I've found a bug report about an infinite loop problem in certain circumstances and sadly with my HL-L2372DN I was unable to print at all (infinite loop with occasional ! USB[0]: zero-size read error; CUPS 2.4.10 and ipp-usb 0.9.27).
For Brother HL-L2372DN it is possible to use Gutenprint with the supplied Generic PCL 6 Printer wide margin printer driver but two sided printing is quirky sometimes if you print odd number of pages.