Brother HL-L2350DW not Printing in F43 Sway

I have a Brother HL-L2350DW connected by USB and it also has wireless connection available as well, but it appears that I can’t seem to get the settings correct to get it to receive a print job.

  1. I have used the “Print Settings” app in F43 Sway to find the printer and install it.
  2. I have used the “localhost:631” CUPS web interface to find the printer and install it.
  3. I have used the Brother RPM Driver Install tool and just local installed the RPM of the correct driver.
  4. I have chosen every connection option listed in both the “Print Settings” App, and the CUPS web interface but I can’t get a test page to work.
  5. I have tried creating a test page in mousepad and printing to the printer, but that also fails.

CUPS Interface simply gives the following message:

processing since
Thu 26 Mar 2026 04:04:35 PM EDT 
"The printer is in use."

I had this printer working with Debian based MX Linux which was installed on this computer before I installed F43 Sway. I’m thinking this is more an F43 issue, and not a Sway issue.

Doing some additional searching I found out that there is a community driver available in the repos.

So this is an additional step that I have tried since I found out that the Brother Driver installer fails because it is based on older Linux Standards that are not used in Fedora 43.

sudo dnf install printer-driver-brlaser

I have attempted to add the Brother printer and change the driver to:

“Brother HL-L2350DW series, using Owl-Maintain/brlaser v6.2.7 [en]”

but I still can’t get the printer to print a test page or print from Mousepad either.

check the journal logs for errors, warnings journalctl -b -u cups

how is the queue configured? USB or net?
usb: I think sudo /usr/lib/cups/backend/usb should list the printer
net: does avahi-browse -v -a -t find the printer?

check also output of lpstat -t

Thanks @anotheruser for your reply. I didn’t reply right away, because I wanted to try the following trouble shooting attempts:

  1. Will a different live distro work with the printer? I tried using a live image of MX Linux, the newest version, because the printer had been working with the older MX Linux. Upon boot of the live image, I went to the text editor, and attempted to print a test text document. The Brother Printer was listed as connected and installed, but when I printed nothing happened, even though the text editor reported that it had printed successfully.
  2. Can Windows 11 computer print to the printer when connected by USB?
    1. When I connected the printer with the USB cable, Windows gave the little “chirp” that it does when a new USB device is attached.
    2. The Brother printer was listed. But when I attempted to print a test document or a test page, both failed. (I think the printer was listed because it was seen on the network, because I can’t ever remember printing from that computer to that printer in the past.)
    3. So I removed the Brother Printer, rebooted Win11, and tried to add the printer again, but now it could not find the printer.
    4. So I went to the Brother website, downloaded and ran the installer for installing the printer driver, rebooted, tried to add the printer again, and now it found it and installed it.
    5. Finally, I went into properties and changed the connection from WSD to the USB port, and then everything printed fine without issues.

So, I’m wondering. Perhaps the only way I can get this printer to work with Linux is to install the Brother printer from the website (which fails on F43 because the install script has not modernized to the newer CUPS way of doing things), and ensure that it is using the connection of USB (which I don’t know how to format the URL for the USB connection in printer settings dialog in F43). I’m fairly certain that I downloaded the Brother printer driver from the website and it worked on the older version of MX Linux which ran on an older version of Debian to install the driver and connect to it over USB.

I have a different model Brother Printer (looks almost exactly the same) HL-L2460DW at home and that works fine with F43 Workstation (but it has been upgraded many times so it probably has the correct directories in place) because the Brother rpm worked on this computer.

I’m not sure why the brlaser driver in the Fedora Repos didn’t work. These Brother Printers have a good track record it seems in working with Linux, not sure how to get this to work with F43 fresh install.

The printer is mopria certified according to https://mopria.org/certified-products

That usually means you need to connect via the network. However, some printers will also work over USB when ipp-usb is installed and running. In this case, the printer will show up as a network printer via localhost.

Run lsusb -v to check the capability of your printer.

You can also run avahi-browse -arc to see if the printer has announced itself as a AirPrint/mopria/isp-everywhere printer.

2 Likes

Quoting https://learn.microsoft.com/en-us/windows/modern-print/modern-print-platform

The Mopria alliance is a collection of printer manufacturers and software vendors that come together to define the standards for IPP printing and eSCL scanning. Mopria certified devices guarantee conformance to these standards.

https://www.pwg.org/printers/ lists IPP printers, but I don’t see Brother HL-L2350DW. Looks like Mopria defines IPP differently.

https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_using_a_cups_printing_server/determining-whether-a-printer-supports-driverless-printing_configuring-printing describes tests to see if a printer supports IPP. The ipptool is from the Fedora cups-ipptool package.

Here is the output from lsusb -v

Bus 004 Device 003: ID 04f9:009e Brother Industries, Ltd HL-L2350DW series
Couldn't open device, some information will be missing
Negotiated speed: High Speed (480Mbps)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 [unknown]
  bDeviceSubClass         0 [unknown]
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x04f9 Brother Industries, Ltd
  idProduct          0x009e HL-L2350DW series
  bcdDevice            1.00
  iManufacturer           1 Brother
  iProduct                2 HL-L2350DW series
  iSerial                 3 U64964B3N501703
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0065
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         7 Printer
      bInterfaceSubClass      1 Printer
      bInterfaceProtocol      2 Bidirectional
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass         7 Printer
      bInterfaceSubClass      1 Printer
      bInterfaceProtocol      4 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass         7 Printer
      bInterfaceSubClass      1 Printer
      bInterfaceProtocol      4 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1

There was lots of output when I ran avahi-browse -arc so I’m not sure what I should zero in on. There were references to USB, others that listed its network IP…

Here is the output of ipptool

 ipptool -tv ipp://10.7.18.101:631/ipp/print get-printer-attributes.test | grep -E "ipp-versions-supported|document-format-supp
orted|get-printer-attributes"
"/usr/share/cups/ipptool/get-printer-attributes.test":
    Get printer attributes using get-printer-attributes                  [PASS]
        ipp-versions-supported (1setOf keyword) = 1.0,1.1,2.0
        document-format-supported (1setOf mimeMediaType) = application/octet-stream,image/urf,image/pwg-raster

Using Google Gemini, I put in the usb URL manually like this using the Brother supplied driver.

usb://Brother/HL-L2350DW%20series?serial=U64964B3N501703

But I still can’t print anything. Ugh this is a bummer.

You look for something similar to

=    br0 IPv4 Brother DCP-J4120DW                           _ipp._tcp            local
   hostname = [BRWA8A7951734E8.local]
   address = [192.168.178.122]
   port = [631]
   txt = ["print_wfds=T" "UUID=e3248000-80ce-11db-8000-a8a7951734e8" "PaperMax=tabloid-A3" "kind=document,envelope,photo" "URF=SRGB24,W8,CP1,IS1,MT1-8-11,OB9,PQ4-5,RS200-300,OFU0,V1.3,DM4" "rfo=ipp/faxout" "TBCP=F" "Transparent=T" "Binary=T" "PaperCustom=T" "Scan=T" "Fax=F" "Duplex=T" "Copies=F" "Color=T" "usb_CMD=HBP,BRPJL,URF" "usb_MDL=DCP-J4120DW" "usb_MFG=Brother" "priority=25" "adminurl=http://BRWA8A7951734E8.local./net/net/airprint.html" "product=(Brother DCP-J4120DW)" "ty=Brother DCP-J4120DW" "note=hardware" "rp=ipp/print" "pdl=application/octet-stream,application/vnd.brother-hbp,image/pwg-raster,image/urf,image/jpeg" "qtotal=1" "txtvers=1"]

This looks like a printer supporting ipp over usb as indicated by .bInterfaceProtocol 4. Confusing, though, is the 3 other Interface Descriptor: entries for this device.

I think this is the output your are looking for:

= enp3s0 IPv4 Brother HL-L2350DW series                     _printer._tcp        local
   hostname = [BRWF0A654F9F4CA.local]
   address = [10.7.18.101]
   port = [515]
   txt = ["UUID=e3248000-80ce-11db-8000-f0a654f9f4ca" "TBCP=F" "Transparent=T" "Binary=T" "PaperCustom=T" "Scan=F" "Fax=F" "Duplex=T" "Copies=T" "Color=F" "usb_CMD=PJL,HBP,URF" "usb_MDL=HL-L2350DW series" "usb_MFG=Brother" "priority=50" "adminurl=http://BRWF0A654F9F4CA.local./" "product=(Brother HL-L2350DW series)" "ty=Brother HL-L2350DW series" "note=" "rp=duerqxesz5090" "pdl=application/octet-stream,image/urf,image/pwg-raster" "qtotal=1" "txtvers=1"]
= enp3s0 IPv4 Brother HL-L2350DW series                     _ipp._tcp            local
   hostname = [BRWF0A654F9F4CA.local]
   address = [10.7.18.101]
   port = [631]
   txt = ["mopria-certified=2.1" "print_wfds=T" "UUID=e3248000-80ce-11db-8000-f0a654f9f4ca" "PaperMax=legal-A4" "kind=document,envelope,label,postcard" "URF=W8,CP1,IS4-1,MT1-3-4-5-8,OB10,PQ3-4-5,RS300-600-1200,V1.4,DM1" "TBCP=F" "Transparent=T" "Binary=T" "PaperCustom=T" "Scan=F" "Fax=F" "Duplex=T" "Copies=T" "Color=F" "usb_CMD=PJL,HBP,URF" "usb_MDL=HL-L2350DW series" "usb_MFG=Brother" "priority=25" "adminurl=http://BRWF0A654F9F4CA.local./net/net/airprint.html" "product=(Brother HL-L2350DW series)" "ty=Brother HL-L2350DW series" "note=" "rp=ipp/print" "pdl=application/octet-stream,image/urf,image/pwg-raster" "qtotal=1" "txtvers=1"]
= enp3s0 IPv4 Brother HL-L2350DW series                     _http._tcp           local
   hostname = [BRWF0A654F9F4CA.local]
   address = [10.7.18.101]
   port = [80]
   txt = []
= enp3s0 IPv6 Brother HL-L2350DW series                     _printer._tcp        local
   hostname = [BRWF0A654F9F4CA.local]
   address = [10.7.18.101]
   port = [515]
   txt = ["UUID=e3248000-80ce-11db-8000-f0a654f9f4ca" "TBCP=F" "Transparent=T" "Binary=T" "PaperCustom=T" "Scan=F" "Fax=F" "Duplex=T" "Copies=T" "Color=F" "usb_CMD=PJL,HBP,URF" "usb_MDL=HL-L2350DW series" "usb_MFG=Brother" "priority=50" "adminurl=http://BRWF0A654F9F4CA.local./" "product=(Brother HL-L2350DW series)" "ty=Brother HL-L2350DW series" "note=" "rp=duerqxesz5090" "pdl=application/octet-stream,image/urf,image/pwg-raster" "qtotal=1" "txtvers=1"]
= enp3s0 IPv6 Brother HL-L2350DW series                     _ipp._tcp            local
   hostname = [BRWF0A654F9F4CA.local]
   address = [10.7.18.101]
   port = [631]
   txt = ["mopria-certified=2.1" "print_wfds=T" "UUID=e3248000-80ce-11db-8000-f0a654f9f4ca" "PaperMax=legal-A4" "kind=document,envelope,label,postcard" "URF=W8,CP1,IS4-1,MT1-3-4-5-8,OB10,PQ3-4-5,RS300-600-1200,V1.4,DM1" "TBCP=F" "Transparent=T" "Binary=T" "PaperCustom=T" "Scan=F" "Fax=F" "Duplex=T" "Copies=T" "Color=F" "usb_CMD=PJL,HBP,URF" "usb_MDL=HL-L2350DW series" "usb_MFG=Brother" "priority=25" "adminurl=http://BRWF0A654F9F4CA.local./net/net/airprint.html" "product=(Brother HL-L2350DW series)" "ty=Brother HL-L2350DW series" "note=" "rp=ipp/print" "pdl=application/octet-stream,image/urf,image/pwg-raster" "qtotal=1" "txtvers=1"]
= enp3s0 IPv6 Brother HL-L2350DW series                     _http._tcp           local
   hostname = [BRWF0A654F9F4CA.local]
   address = [10.7.18.101]
   port = [80]
   txt = []

I have tried using all of the “discovered” versions of the Brother Printer, but I can’t get any one of them to print. I think the “discovered” ones are all using the ipp everywhere driver.

With this output, the following should create a printer entry

sudo lpadmin -p printername -v ipp://10.7.18.101:631/ipp/print -m everywhere

There are several other ways to do this.

The printer appears to support ipp everywhere, but:

suggests it is not accepting jobs.

Have you removed these? IPP is “driverless”, so you don’t want some driver designed for very old printers.

I ran that command. Yes it did create a printer in the CUPS interface. I attempted to print to it, and got the following error in the CUPS interface (localhost:631)

Destination "HLL2350DW" is not accepting jobs.

I have removed all of the Brother printers several times in this process. I did that again before running the sudo lpadmin… command that was suggested. I have rebooted, and it finds the printers against. I have tried printing to the IPP driverless printers and nothing seems to work.

I also tried a fresh live version of MX Linux which also found the printer automatically with the ipp and driverless, and it also could not print to the printer.

have you enabled the queue?

sudo lpadmin -p   printername -E

or

sudo cupsenable  printername

This suggests the printer needs some sort of reset. Some printers handle power outages by restarting the job that was in progress when the lights went out, so your model may need an extra step to fully reset before it can accept IPP jobs.

Quoting https://support.brother.ca/app/answers/detail/a_id/127786/~/when-i-attempt-to-print-nothing-happens,-how-can-i-correct-this%3F

I. If you send a print job from the computer but it is interrupted or the print job is not completed for some reason, the job can get stuck in the computer’s print queue.
II. This makes the printer fail to respond to any print jobs.
III. Delete all print jobs and retry printing.

Check the CUPS control panel for jobs.

Ran the commands you suggested, and the error message did not come back, but the printer still did not print the test page, and it simply says now “printer is in use” in the CUPS interface.

post output of lpstat -t
also check journalctl -b -u cups

Have you removed the old brother driver? Maybe that’s the collateral damage from installing the driver.

otherwise run tcpdump and see if cups is sending data to the printer. If I had to guess, its either a broken cups installation or the printjob is blocked in filter processing. Either way, you will probably have to enable debug logs and take a close look at them.

does this command print any output?

rpm -V $( rpm -qa cups\* ipp\* guten\* )

Okay, after trying everything multiple times, it was discovered through the Brother Printer’s web admin page that the firmware was at 1.72 and 1.78 was available. After a successful firmware update the printer now works with F43 Sway using driverless ipp everywhere.

4 Likes