# Setting up Brother printer with Airprint



## Elliott (Feb 7, 2020)

Hi.  I'm pretty new to FreeBSD, and I'm trying to setup a networked Brother HL2280-DW to share it to my iOS devices with AirPrint.
After installing CUPS, it saw the printer right away and I added it as a generic PCL laser printer with the connection lpd://BRW0022585FE5F9/BINARY_P1.  When I try to print a test page from the CUPS admin page, it says "Unable to print test page.  No such file or directory"
Can anyone point me in the right direction for troubleshooting this?  I don't see anything useful in the cups error_log.

This page leads me to believe the printer should work with PCL6 which means no specific driver is required.  Is that right?





						Use the Universal Printer Driver for PCL  | Brother
					

Use the Universal Printer Driver for PCL




					support.brother.com
				




Also, I'm unable to start avahi-daemon.  It shows this in the log.  Is there something else I have to install for this to work?

```
Feb  7 07:20:51 myrtle avahi-daemon[805]: WARNING: No NSS support for mDNS detected, consider installing nss-mdns!
Feb  7 07:20:51 myrtle avahi-daemon[805]: dbus_bus_get_private(): Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
Feb  7 07:20:51 myrtle avahi-daemon[805]: WARNING: Failed to contact D-Bus daemon.
```


----------



## 20-100-2fe (Feb 7, 2020)

You may need to build a suitable driver from source:

```
# Run as root, if not already done:
    # pkg install -y git cmake automake autoconf pkgconf
   # Then get and compile the driver:
    git clone https://github.com/pdewacht/brlaser.git
    cd brlaser
    cmake .
    make
    # Become root to run make install
    make install
    make clean
```

I needed this driver for a MFC-L2710DW and the project's README lists HL2270-DW in the supported models, so I guess it will also support your HL2280-DW.


----------



## shepper (Feb 7, 2020)

According to this page:
https://support.brother.com/g/b/spec.aspx?c=us&lang=en&prod=hl2280dw_us

*Printer*


*Resolution*600 x 600 dpi, HQ1200 (2400 x 600 dpi) quality*Emulation*PCL6*Resident Fonts(PCL)*66 scalable fonts, 12 bitmap fonts, 13 bar codes*Auto Duplex Print*Yeｓ

print/ghostscript supplies a pxlmono filter that converts the print job to PCL6.  You would use the brlaser driver if the Emulation was "gdi".  With ghostscript installed, you can either use a generic plxmono ppd or generate your own using print/foomatic-db-engine.

See chapter 9, section 9.3.3 of the handbook linked below

OpenBSD has a guide to generate the ppd:
http://cvsweb.openbsd.org/cgi-bin/c...s/pkg/README?rev=1.10&content-type=text/plain
If you're using cups, the ppd would go in /usr/local/share/cups/model instead of location in the guide.

You can also ditch cups entirely and use the base lpr print spooler as detailed in chapter 9 of the handbook.  You should almost be able to copy/paste the code except using pxlmono instead of ljet4 in section 9.5.5.3.
https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/printing.html


The network capabilities:


*Protocol(IPv4)*ARP, RARP, BOOTP, DHCP, APIPA(Auto IP), WINS/NetBIOS name resolution, DNS Resolver, mDNS, LLMNR responder, LPR/LPD, Custom Raw Port/Port 9100, IPP, FTP Server, SNMPv1/v2c, HTTP Server, TFTP Client and Server, SMTP Client, ICMP, LLTD responder, Web Services (Print)

Cups is compatible with Port 9100, IPP, HTTP and I've found Port 9100 (aka JetDirect) to be consistently reliable.



One thing to consider is the scanner aspect of the all-in-one.  If it can be done at all, it will take some time and effort to get the all-in-one recognized as a scanner. It is doable with HP all-in-ones via the hplip driver but I cannot recall anyone posting that they successfully accessed the scanner in a Brother all-in-on.


----------

