Solved Brother Laser Printer compability

Hi there,

I was looking for a budget friendly, double-sided, wireless, laser printer and found this one today (and they have $30 cashback - yay! )

https://www.brother.co.nz/Public/ViewProduct/HLL2365DW

Has anybody had any experience with wireless printers and especially with this model?

In the brochure, the printer seems to be compatible with CUPS and OS X, so I assume it would make no dramas when used with FreeBSD?

• Printer Compatibility:
- Windows 8, 8.1 (32&64bit), Windows 7 (32&64bit), Vista (32&64bit), XP Home Edition, XP Professional (32&64bit), Windows Server 2012 (32&64bit), Windows Server 2012 R2, Windows Server 2008 (32&64bit), Windows Server 2008 R2, Windows Server 2003 (32&64bit)
- Mac OS X 10.7.5 or greater (Download)
- Linux Cups/LPR

- Citrix Presentation Server 4.0/ 4.5, Citrix XenApp 5.0, and Citrix XenDesktop 2.0/ 3.0/ 4.0
 
I use at home Borther HL-5250DN. HL-5250DN unlike the printer you linked is so called work group printer but more importantly speaks PostScript language which means that needs no drivers. It can also print directly us-ascii and it speaks HL-5250DN Printer Command Language 5 (PCL5) and works with generic PostScript driver. On the top of it is network ready but I discovered that its built in LPD server is iffy so I configured to print using Jetdirect protocol on port 9100. To only bad thing about HL-5250DN is network configuration. It took me few hours of playing to force the printer to use my dhcp lease instead of some Microsoft proprietary crap. On the top of it there is no display so it took me 30 minutes to realize that it comes with built in CUPS server which has to be used for configuration.


A quick look at the page you linked reveals that the seller is not revealing any significant technical details. That is usually a very bad sign. I would wage $100 that that thing doesn't speak PostScript and even worse it probably doesn't speak PCL. That means that it speaks some proprietary Brother language. I am sure OS X comes with the driver and driver is easy to compile on FreeBSD but does the Brother offer the port to the driver? If you have Apple laptop take it to the store and use vanilla CUPS server to add the printer. That will reveal you if there is an open source driver or not. The fact that is wireless is a good sign. If it can connect to your local WiFi it is possible that the proprietary driver is built into CUPS server which runs on the printer itself which means that no driver will be needed.
 
Well, I browsed through the Download section and downloaded theCUPSwrapper printer driver (rpm & deb packages). There is a ppd file, a perl script (says a CUPS filter for brother laser printers) and another perl script (comment says it is a Custom paper utility for brother laser printers) in the archive ( path in the archive hll2360dcupswrapper-3.2.0-1.i386.rpm\hll2360dcupswrapper-3.2.0-1.i386.cpio\.\opt\brother\Printers\HLL2360D\cupswrapper\)

Files in RPM and DEB packages are identical.

Then I downloaded the OS X 10.11 driver, which is a dmg file. Somewhere in the dmg file, I found these files in PPDs folder
Code:
Brother DCP-1510 series CUPS.gz
Brother DCP-1600 series CUPS.gz
Brother DCP-1608 CUPS.gz
Brother DCP-1610NW series CUPS.gz
Brother DCP-1610W series CUPS.gz
Brother DCP-1618W CUPS.gz
Brother DCP-1619 CUPS.gz
Brother DCP-7030 CUPS.gz
Brother DCP-7040 CUPS.gz
Brother DCP-7045N CUPS.gz
Brother DCP-7045N.gz
Brother DCP-7055 CUPS.gz
Brother DCP-7055W CUPS.gz
Brother DCP-7057 CUPS.gz
Brother DCP-7057W CUPS.gz
Brother DCP-7060D CUPS.gz
Brother DCP-7065DN CUPS.gz
Brother DCP-7070DW CUPS.gz
Brother DCP-7080 CUPS.gz
Brother DCP-7080D CUPS.gz
Brother DCP-7180DN CUPS.gz
Brother DCP-7180DN.gz
Brother DCP-7189DW CUPS.gz
Brother DCP-7189DW.gz
Brother DCP-8070D CUPS.gz
Brother DCP-8070D.gz
Brother DCP-8080DN CUPS.gz
Brother DCP-8080DN.gz
Brother DCP-8085DN CUPS.gz
Brother DCP-8085DN.gz
Brother DCP-8110D CUPS.gz
Brother DCP-8110D.gz
Brother DCP-8110DN CUPS.gz
Brother DCP-8110DN.gz
Brother DCP-8112DN CUPS.gz
Brother DCP-8112DN.gz
Brother DCP-8150DN CUPS.gz
Brother DCP-8150DN.gz
Brother DCP-8152DN CUPS.gz
Brother DCP-8152DN.gz
Brother DCP-8155DN CUPS.gz
Brother DCP-8155DN.gz
Brother DCP-8157DN CUPS.gz
Brother DCP-8157DN.gz
Brother DCP-8250DN CUPS.gz
Brother DCP-8250DN.gz
Brother DCP-9010CN.gz
Brother DCP-9015CDW.gz
Brother DCP-9017CDW.gz
Brother DCP-9020CDN.gz
Brother DCP-9020CDW.gz
Brother DCP-9022CDW.gz
Brother DCP-9040CN.gz
Brother DCP-9042CDN.gz
Brother DCP-9045CDN.gz
Brother DCP-9055CDN.gz
Brother DCP-9270CDN.gz
Brother DCP-L2500D series CUPS.gz
Brother DCP-L2520D series CUPS.gz
Brother DCP-L2520DW series CUPS.gz
Brother DCP-L2540DN series CUPS.gz
Brother DCP-L2540DN series.gz
Brother DCP-L2540DW series CUPS.gz
Brother DCP-L2540DW series.gz
Brother DCP-L2560DW series CUPS.gz
Brother DCP-L2560DW series.gz
Brother DCP-L8400CDN.gz
Brother DCP-L8450CDW.gz
Brother FAX-2810N CUPS.gz
Brother FAX-2840 CUPS.gz
Brother FAX-2845 CUPS.gz
Brother FAX-2890 CUPS.gz
Brother FAX-2940 CUPS.gz
Brother FAX-2950 CUPS.gz
Brother FAX-2990 CUPS.gz
Brother FAX-7860DW CUPS.gz
Brother FAX-L2700DN series CUPS.gz
Brother HL-1110 series CUPS.gz
Brother HL-1200 series CUPS.gz
Brother HL-1208 CUPS.gz
Brother HL-1210W series CUPS.gz
Brother HL-1218W CUPS.gz
Brother HL-2130 series CUPS.gz
Brother HL-2140 series CUPS.gz
Brother HL-2150N series CUPS.gz
Brother HL-2170W series CUPS.gz
Brother HL-2220 series CUPS.gz
Brother HL-2230 series CUPS.gz
Brother HL-2240 series CUPS.gz
Brother HL-2240D series CUPS.gz
Brother HL-2250DN series CUPS.gz
Brother HL-2260 CUPS.gz
Brother HL-2260D CUPS.gz
Brother HL-2270DW series CUPS.gz
Brother HL-2280DW CUPS.gz
Brother HL-2560DN CUPS.gz
Brother HL-2569DW CUPS.gz
Brother HL-2600CN BR-Script3.gz
Brother HL-2700CN series.gz
Brother HL-3070CW series.gz
Brother HL-3075CW series.gz
Brother HL-3170CDW series.gz
Brother HL-3172CDW series.gz
Brother HL-3180CDW.gz
Brother HL-3450CN BR-Script3.gz
Brother HL-4000CN.gz
Brother HL-4040CN series.gz
Brother HL-4050CDN series.gz
Brother HL-4070CDW series.gz
Brother HL-4140CN series.gz
Brother HL-4150CDN series.gz
Brother HL-4200CN.gz
Brother HL-4570CDW series.gz
Brother HL-5340D series CUPS.gz
Brother HL-5340D series.gz
Brother HL-5350DN series CUPS.gz
Brother HL-5350DN series.gz
Brother HL-5370DW series CUPS.gz
Brother HL-5370DW series.gz
Brother HL-5380DN series CUPS.gz
Brother HL-5380DN series.gz
Brother HL-5440D series CUPS.gz
Brother HL-5440D series.gz
Brother HL-5450DN series CUPS.gz
Brother HL-5450DN series.gz
Brother HL-5470DW series CUPS.gz
Brother HL-5470DW series.gz
Brother HL-6180DW series CUPS.gz
Brother HL-6180DW series.gz
Brother HL-L2300 series CUPS.gz
Brother HL-L2300D series CUPS.gz
Brother HL-L2305 series CUPS.gz
Brother HL-L2320D series CUPS.gz
Brother HL-L2340D series CUPS.gz
Brother HL-L2360D series CUPS.gz
Brother HL-L2380DW series CUPS.gz
Brother HL-L2380DW series.gz
Brother HL-L8250CDN series.gz
Brother HL-L8350CDW series.gz
Brother HL-L9200CDW series.gz
Brother HL-L9300CDW series.gz
Brother HL-S7000DN series.gz
Brother MFC-1810 series CUPS.gz
Brother MFC-1900 series CUPS.gz
Brother MFC-1906 CUPS.gz
Brother MFC-1908 CUPS.gz
Brother MFC-1910NW series CUPS.gz
Brother MFC-1910W series CUPS.gz
Brother MFC-1919NW CUPS.gz
Brother MFC-7240 CUPS.gz
Brother MFC-7290 CUPS.gz
Brother MFC-7320 CUPS.gz
Brother MFC-7340 CUPS.gz
Brother MFC-7345N CUPS.gz
Brother MFC-7360 CUPS.gz
Brother MFC-7360N CUPS.gz
Brother MFC-7362N CUPS.gz
Brother MFC-7365DN CUPS.gz
Brother MFC-7380 CUPS.gz
Brother MFC-7440N CUPS.gz
Brother MFC-7450 CUPS.gz
Brother MFC-7450.gz
Brother MFC-7460DN CUPS.gz
Brother MFC-7470D CUPS.gz
Brother MFC-7470D.gz
Brother MFC-7480D CUPS.gz
Brother MFC-7840N CUPS.gz
Brother MFC-7840N.gz
Brother MFC-7840W CUPS.gz
Brother MFC-7840W.gz
Brother MFC-7860DN CUPS.gz
Brother MFC-7860DN.gz
Brother MFC-7860DW CUPS.gz
Brother MFC-7860DW.gz
Brother MFC-7880DN CUPS.gz
Brother MFC-7880DN.gz
Brother MFC-7889DW CUPS.gz
Brother MFC-7889DW.gz
Brother MFC-8370DN CUPS.gz
Brother MFC-8370DN.gz
Brother MFC-8380DN CUPS.gz
Brother MFC-8380DN.gz
Brother MFC-8480DN CUPS.gz
Brother MFC-8480DN.gz
Brother MFC-8510DN CUPS.gz
Brother MFC-8510DN.gz
Brother MFC-8512DN CUPS.gz
Brother MFC-8512DN.gz
Brother MFC-8515DN CUPS.gz
Brother MFC-8515DN.gz
Brother MFC-8520DN CUPS.gz
Brother MFC-8520DN.gz
Brother MFC-8680DN CUPS.gz
Brother MFC-8680DN.gz
Brother MFC-8690DW CUPS.gz
Brother MFC-8690DW.gz
Brother MFC-8710DW CUPS.gz
Brother MFC-8710DW.gz
Brother MFC-8712DW CUPS.gz
Brother MFC-8712DW.gz
Brother MFC-8810DW CUPS.gz
Brother MFC-8810DW.gz
Brother MFC-8880DN CUPS.gz
Brother MFC-8880DN.gz
Brother MFC-8890DW CUPS.gz
Brother MFC-8890DW.gz
Brother MFC-8910DW CUPS.gz
Brother MFC-8910DW.gz
Brother MFC-8912DW CUPS.gz
Brother MFC-8912DW.gz
Brother MFC-8950DW CUPS.gz
Brother MFC-8950DW.gz
Brother MFC-8952DW CUPS.gz
Brother MFC-8952DW.gz
Brother MFC-9010CN.gz
Brother MFC-9120CN.gz
Brother MFC-9125CN.gz
Brother MFC-9130CW.gz
Brother MFC-9140CDN.gz
Brother MFC-9142CDN.gz
Brother MFC-9320CW.gz
Brother MFC-9325CW.gz
Brother MFC-9330CDW.gz
Brother MFC-9332CDW.gz
Brother MFC-9335CDW.gz
Brother MFC-9340CDW.gz
Brother MFC-9342CDW.gz
Brother MFC-9420CN.gz
Brother MFC-9440CN.gz
Brother MFC-9450CDN.gz
Brother MFC-9460CDN.gz
Brother MFC-9465CDN.gz
Brother MFC-9560CDW.gz
Brother MFC-9640CW.gz
Brother MFC-9840CDW.gz
Brother MFC-9970CDW.gz
Brother MFC-L2700D series CUPS.gz
Brother MFC-L2700DW series CUPS.gz
Brother MFC-L2705DW CUPS.gz
Brother MFC-L2720DN series CUPS.gz
Brother MFC-L2720DW series CUPS.gz
Brother MFC-L2720DW series.gz
Brother MFC-L2740DW series CUPS.gz
Brother MFC-L2740DW series.gz
Brother MFC-L8600CDW.gz
Brother MFC-L8650CDW.gz
Brother MFC-L8850CDW.gz
Brother MFC-L9550CDW.gz

But HL-2365DW is not in the list. Kind of odd, as I got this file from HL-2365DW's download link.
 
Brother's drivers for Linux used to be binary blobs that needed to run as root, no idea what they are now.

This is what the PPD file in linux archives looks like

Code:
*PPD-Adobe: "4.3"
*%================================================
*%   
*%  Copyright Brother Industries,Ltd 2006-2014
*%   "Brother HL-L2360D for CUPS"
*%
*%================================================
*%
*%BrCustomPaperSize: TRUE
*%BrPrinterType: DTM
*%

*%==== General Information Keywords ========================
*FormatVersion: "4.3"
*FileVersion: "1.00"
*LanguageEncoding: ISOLatin1
*LanguageVersion: English
*Manufacturer: "Brother"
*PCFileName: "HLL2360D.PPD"
*Product: "(Brother HL-L2360D series)"
*cupsVersion:  1.1
*cupsManualCopies: True
*cupsModelNumber:  72
*cupsFilter:  "application/vnd.cups-postscript 0 brother_lpdwrapper_HLL2360D"
*cupsFilter:  "application/vnd.cups-pdf 0 brother_lpdwrapper_HLL2360D"
*PSVersion: "(3010.106) 3"
*ModelName: "HL-L2360D"
*NickName: "Brother HL-L2360D for CUPS "
*ShortNickName: "Brother HL-L2360D"

*%==== Basic Device Capabilities =============
*LanguageLevel: "3"
*TTRasterizer: Type42
*ColorDevice: False
*DefaultColorSpace: Gray
*FileSystem: True
*?FileSystem:"
save
   /devname (%disk0%) def
   /ret false def
   0 1 7{
     devname exch 48 add 5 exch put
     devname devstatus {
       0 ne {/ret true def}if
       pop pop pop pop pop pop pop
     }if
   }for
   ret {(True)}{(False)} ifelse = flush
restore
"
*End

*Throughput: "18"
*FreeVM: "1700000"

*HWMargins: 12 12 12 12
*VariablePaperSize: True
*MaxMediaWidth: 612
*MaxMediaHeight: 1008
*NonUIOrderDependency: 105 AnySetup *CustomPageSize
*LandscapeOrientation: Plus90
*CustomPageSize True: "  "
*ParamCustomPageSize Width/Width 3.0-8.5in(76.2-215.9mm): 1 points 216 612
*ParamCustomPageSize Height/Height 5.0-14.0in(127.0-355.6mm): 2 points 360 1008
*ParamCustomPageSize Orientation: 3 int 0 0
*ParamCustomPageSize WidthOffset: 4 points 0 0
*ParamCustomPageSize HeightOffset: 5 points 0 0



*UIConstraints: *InputSlot TRAY1  *PageSize Custom
*UIConstraints: *InputSlot TRAY1  *PageSize CUSTOM1
*UIConstraints: *InputSlot TRAY1  *PageSize CUSTOM2
*UIConstraints: *InputSlot TRAY1  *PageSize CUSTOM3

*UIConstraints: *Duplex DuplexTumble  *PageSize Custom
*UIConstraints: *Duplex DuplexNoTumble *PageSize Custom
*UIConstraints: *Duplex DuplexTumble  *PageSize CUSTOM1
*UIConstraints: *Duplex DuplexNoTumble *PageSize CUSTOM1
*UIConstraints: *Duplex DuplexTumble  *PageSize CUSTOM2
*UIConstraints: *Duplex DuplexNoTumble *PageSize CUSTOM2
*UIConstraints: *Duplex DuplexTumble  *PageSize CUSTOM3
*UIConstraints: *Duplex DuplexNoTumble *PageSize CUSTOM3



*%==== Media Selection ======================

*OpenUI *PageSize: PickOne
*OrderDependency: 30 AnySetup *PageSize
*DefaultPageSize: A4
*PageSize Letter/Letter: "  "
*PageSize Legal/Legal: "  "
*PageSize Executive/Executive: "  "
*PageSize FanFoldGermanLegal/Folio:    "     "
*PageSize A4/A4: "  "
*PageSize A5/A5: "  "
*PageSize A6/A6: "  "
*%PageSize 210x270mm/270mm Paper:  "     "
*PageSize Env10/Com-10: "  "
*PageSize EnvMonarch/Monarch: "  "
*PageSize EnvDL/DL: "  "
*PageSize EnvC5/C5: "  "
*PageSize ISOB5/B5(ISO): "  "
*PageSize B5/B5(JIS): "  "
*PageSize ISOB6/B6(ISO): "  "
*PageSize B6/B6(JIS): "  "
*PageSize 4x6/4x6: "  "
*PageSize Postcard/Postcard: "  "
*PageSize DoublePostcardRotated/Postcard(Double): "  "
*PageSize EnvYou4/Y4 Envelop: "  "
*PageSize 195x270mm/16K(195x270mm): "  "
*PageSize 184x260mm/16K(184x260mm): "  "
*PageSize 197x273mm/16K(197x273mm): "  "
*PageSize CUSTOM1/[CUSTOM1]User Defined Paper Size: "  "
*PageSize CUSTOM2/[CUSTOM2]User Defined Paper Size: "  "
*PageSize CUSTOM3/[CUSTOM3]User Defined Paper Size: "  "
*CloseUI: *PageSize

*OpenUI *PageRegion: PickOne
*OrderDependency: 40 AnySetup *PageRegion
*DefaultPageRegion: A4
*PageRegion Letter/Letter: "  "
*PageRegion Legal/Legal: "  "
*PageRegion Executive/Executive: "  "
*PageRegion FanFoldGermanLegal/Folio:     "     "
*PageRegion A4/A4: "  "
*PageRegion A5/A5: "  "
*PageRegion A6/A6: "  "
*%PageRegion 210x270mm/270mm Paper:       "     "
*PageRegion Env10/Com-10: "  "
*PageRegion EnvMonarch/Monarch: "  "
*PageRegion EnvDL/DL: "  "
*PageRegion EnvC5/C5: "  "
*PageRegion ISOB5/B5(ISO): "  "
*PageRegion B5/B5(JIS): "  "
*PageRegion ISOB6/B6(ISO): "  "
*PageRegion B6/B6(JIS): "  "
*PageRegion 4x6/4x6: "  "
*PageRegion Postcard/Postcard: "  "
*PageRegion DoublePostcardRotated/Postcard(Double): "  "
*PageRegion EnvYou4/Y4 Envelop: "  "
*PageRegion 195x270mm/16K(195x270mm): "  "
*PageRegion 184x260mm/16K(184x260mm): "  "
*PageRegion 197x273mm/16K(197x273mm): "  "
*PageRegion CUSTOM1/[CUSTOM1]User Defined Paper Size: "  "
*PageRegion CUSTOM2/[CUSTOM2]User Defined Paper Size: "  "
*PageRegion CUSTOM3/[CUSTOM3]User Defined Paper Size: "  "
*CloseUI: *PageRegion

*DefaultImageableArea: A4
*ImageableArea Letter/Letter: "12 12 600 780"
*ImageableArea Legal/Legal: "12 12 600 996"
*ImageableArea Executive/Executive: "12 12 510 744"
*ImageableArea FanFoldGermanLegal/Folio: "12 12 600 924"
*ImageableArea A4/A4: "12 12 583 830"
*ImageableArea A5/A5: "12 12 409 583"
*ImageableArea A6/A6: "12 12 285 408"
*%ImageableArea 210x270mm/270mm Paper:  "12 12 583 753"
*ImageableArea Env10/Com-10: "12 12 285 672"
*ImageableArea EnvMonarch/Monarch: "12 12 267 528"
*ImageableArea EnvDL/DL: "12 12 300 612"
*ImageableArea EnvC5/C5: "12 12 447 637"
*ImageableArea ISOB5/B5(ISO): "12 12 487 697"
*ImageableArea B5/B5(JIS): "12 12 504 717"
*ImageableArea ISOB6/B6(ISO): "12 12 342 487"
*ImageableArea B6/B6(JIS): "12 12 351 504"
*ImageableArea 4x6/4x6:  "12 12 277 419"
*ImageableArea Postcard/Postcard: "12 12 271 408"
*ImageableArea DoublePostcardRotated/Postcard(Double): "12 12 555 408"
*ImageableArea EnvYou4/Y4 Envelop: "12 12 286 654"
*ImageableArea 195x270mm/16K(195x270mm): "12 12 541 753"
*ImageableArea 184x260mm/16K(184x260mm): "12 12 510 725"
*ImageableArea 197x273mm/16K(197x273mm): "12 12 546 762"
*ImageableArea CUSTOM1/[CUSTOM1]User Defined Paper Size: "12 12 583 830"
*ImageableArea CUSTOM2/[CUSTOM2]User Defined Paper Size: "12 12 583 830"
*ImageableArea CUSTOM3/[CUSTOM3]User Defined Paper Size: "12 12 583 830"

*%==== Information About Media Sizes ========

*DefaultPaperDimension: A4
*PaperDimension Letter/Letter: "612 792"
*PaperDimension Legal/Legal: "612 1008"
*PaperDimension Executive/Executive: "522 756"
*PaperDimension FanFoldGermanLegal/Folio: "612 936"
*PaperDimension A4/A4: "595 842"
*PaperDimension A5/A5: "420 595"
*PaperDimension A6/A6: "297 420"
*%PaperDimension 210x270mm/270mm Paper: "595 765"
*PaperDimension Env10/Com-10: "297 684"
*PaperDimension EnvMonarch/Monarch: "279 540"
*PaperDimension EnvDL/DL: "312 624"
*PaperDimension EnvC5/C5: "459 649"
*PaperDimension ISOB5/B5(ISO): "499 709"
*PaperDimension B5/B5(JIS): "516 729"
*PaperDimension ISOB6/B6(ISO): "354 498"
*PaperDimension B6/B6(JIS): "363 516"
*PaperDimension 4x6/4x6: "289 431"
*PaperDimension Postcard/Postcard: "283 420"
*PaperDimension DoublePostcardRotated/Postcard(Double): "567 420"
*PaperDimension EnvYou4/Y4 Envelop: "298 666"
*PaperDimension 195x270mm/16K(195x270mm): "553 765"
*PaperDimension 184x260mm/16K(184x260mm): "522 737"
*PaperDimension 197x273mm/16K(197x273mm): "558 774"
*PaperDimension CUSTOM1/[CUSTOM1]User Defined Paper Size: "595 842"
*PaperDimension CUSTOM2/[CUSTOM2]User Defined Paper Size: "595 842"
*PaperDimension CUSTOM3/[CUSTOM3]User Defined Paper Size: "595 842"

*%==== 5.13 Media Handling Features ============================
*OpenUI *BrMediaType/MediaType: PickOne
*OrderDependency: 28 AnySetup *BrMediaType
*DefaultBrMediaType: PLAIN
*BrMediaType PLAIN/Plain Paper: "  "
*BrMediaType THIN/Thin Paper: "  "
*BrMediaType THICK/Thick Paper: "  "
*BrMediaType THICKERPAPER2/Thicker Paper: "  "
*BrMediaType BOND/Bond Paper: "  "
*BrMediaType ENV/Envelopes: "  "
*BrMediaType ENVTHICK/Env. Thick: "  "
*BrMediaType ENVTHIN/Env. Thin: "  "
*BrMediaType RECYCLED/Recycled Paper: "  "
*CloseUI: *BrMediaType

*OpenUI *InputSlot/InputSlot: PickOne
*OrderDependency: 29 AnySetup *InputSlot
*DefaultInputSlot: TRAY1
*InputSlot MANUAL/Manual Feed: "  "
*InputSlot TRAY1/Tray1: "  "
*CloseUI: *InputSlot

*RequiresPageRegion All:True


*%=== Duplex ================================
*OpenUI *Duplex: PickOne
*OrderDependency: 25 AnySetup *Duplex
*DefaultDuplex: None
*Duplex DuplexTumble: "  "
*Duplex DuplexNoTumble: "  "
*Duplex None: "  "
*CloseUI: *Duplex

*%=== Output Bin =============================
*% === Collate ==========
*%==== 5.14 Finishing Features =================================
*%%%%% Resolution and Appearance Control %%%%%
*OpenUI *Resolution: PickOne
*OrderDependency: 11 AnySetup *Resolution
*DefaultResolution: 600dpi
*Resolution   300dpi: "  "
*Resolution   600dpi: "  "
*Resolution   2400x600dpi/HQ1200: "  "
*CloseUI: *Resolution

*OpenUI *TonerSaveMode/Toner Save: PickOne
*DefaultTonerSaveMode: OFF
*OrderDependency: 10 AnySetup  *TonerSaveMode
*TonerSaveMode OFF/Off: "statusdict begin false tonersave end"
*TonerSaveMode ON/On: "statusdict begin true tonersave end"
*CloseUI: *TonerSaveMode

*OpenUI *Sleep/Sleep Time [Min.]: PickOne
*DefaultSleep: PrinterDefault
*OrderDependency: 10 AnySetup  *Sleep
*Sleep PrinterDefault/Printer Default: "  "
*Sleep 2minutes/2: "statusdict begin 2 powersavetime end"
*Sleep 10minutes/10: "statusdict begin 10 powersavetime end"
*Sleep 30minutes/30: "statusdict begin 30 powersavetime end"
*CloseUI: *Sleep

*%==== 5.20 Font Related Keywords ==============================
*DefaultFont: Courier
*Font AvantGarde-Book: Standard "(001.006S)" Standard ROM
*Font AvantGarde-BookOblique: Standard "(001.006S)" Standard ROM
*Font AvantGarde-Demi: Standard "(001.007S)" Standard ROM
*Font AvantGarde-DemiOblique: Standard "(001.007S)" Standard ROM
*Font Bookman-Demi: Standard "(001.004S)" Standard ROM
*Font Bookman-DemiItalic: Standard "(001.004S)" Standard ROM
*Font Bookman-Light: Standard "(001.004S)" Standard ROM
*Font Bookman-LightItalic: Standard "(001.004S)" Standard ROM
*Font Courier: Standard "(002.004S)" Standard ROM
*Font Courier-Bold: Standard "(002.004S)" Standard ROM
*Font Courier-BoldOblique: Standard "(002.004S)" Standard ROM
*Font Courier-Oblique: Standard "(002.004S)" Standard ROM
*Font Helvetica: Standard "(001.006S)" Standard ROM
*Font Helvetica-Bold: Standard "(001.007S)" Standard ROM
*Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow: Standard "(001.006S)" Standard ROM
*Font Helvetica-Narrow-Bold: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow-BoldOblique: Standard "(001.007S)" Standard ROM
*Font Helvetica-Narrow-Oblique: Standard "(001.006S)" Standard ROM
*Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM
*Font NewCenturySchlbk-Bold: Standard "(001.009S)" Standard ROM
*Font NewCenturySchlbk-BoldItalic: Standard "(001.007S)" Standard ROM
*Font NewCenturySchlbk-Italic: Standard "(001.006S)" Standard ROM
*Font NewCenturySchlbk-Roman: Standard "(001.007S)" Standard ROM
*Font Palatino-Bold: Standard "(001.005S)" Standard ROM
*Font Palatino-BoldItalic: Standard "(001.005S)" Standard ROM
*Font Palatino-Italic: Standard "(001.005S)" Standard ROM
*Font Palatino-Roman: Standard "(001.005S)" Standard ROM
*Font Times-Bold: Standard "(001.007S)" Standard ROM
*Font Times-BoldItalic: Standard "(001.009S)" Standard ROM
*Font Times-Italic: Standard "(001.007S)" Standard ROM
*Font Times-Roman: Standard "(001.007S)" Standard ROM
*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM
*Font ZapfDingbats: Special "(001.004S)" Special ROM
*Font Symbol: Special "(001.007S)" Special ROM
*Font Alaska: Standard "(001.005)" Standard ROM
*Font AlaskaExtrabold: Standard "(001.005)" Standard ROM
*Font AntiqueOakland: Standard "(001.005)" Standard ROM
*Font AntiqueOakland-Bold: Standard "(001.005)" Standard ROM
*Font AntiqueOakland-Oblique: Standard "(001.005)" Standard ROM
*Font ClevelandCondensed: Standard "(001.005)" Standard ROM
*Font Connecticut: Standard "(001.005)" Standard ROM
*Font Guatemala-Antique: Standard "(001.005)" Standard ROM
*Font Guatemala-Bold: Standard "(001.005)" Standard ROM
*Font Guatemala-Italic: Standard "(001.005)" Standard ROM
*Font Guatemala-BoldItalic: Standard "(001.005)" Standard ROM
*Font LetterGothic: Standard "(001.005)" Standard ROM
*Font LetterGothic-Bold: Standard "(001.005)" Standard ROM
*Font LetterGothic-Oblique: Standard "(001.005)" Standard ROM
*Font Maryland: Standard "(001.005)" Standard ROM
*Font Oklahoma: Standard "(001.005)" Standard ROM
*Font Oklahoma-Bold: Standard "(001.005)" Standard ROM
*Font Oklahoma-Oblique: Standard "(001.005)" Standard ROM
*Font Oklahoma-BoldOblique: Standard "(001.005)" Standard ROM
*Font Utah: Standard "(001.005)" Standard ROM
*Font Utah-Bold: Standard "(001.005)" Standard ROM
*Font Utah-Oblique: Standard "(001.005)" Standard ROM
*Font Utah-BoldOblique: Standard "(001.005)" Standard ROM
*Font UtahCondensed: Standard "(001.005)" Standard ROM
*Font UtahCondensed-Bold: Standard "(001.005)" Standard ROM
*Font UtahCondensed-Oblique: Standard "(001.004)" Standard ROM
*Font UtahCondensed-BoldOblique: Standard "(001.005)" Standard ROM
*Font BermudaScript: Standard "(001.005)" Standard ROM
*Font Germany: Standard "(001.005)" Standard ROM
*Font SanDiego: Standard "(001.005)" Standard ROM
*Font US-Roman: Standard "(001.005)" Standard ROM
*?FontQuery: "
save
count 1 gt
  {exch dup dup
  =string cvs (/) print print (:) print
  FontDirectory exch known
  {pop(Yes)}
  {(fonts/)AppendName exch pop mark exch
  {}=string filenameforall counttomark
  0 gt
  {cleartomark(Yes)}
  {cleartomark(No)}ifelse
  }ifelse
  =
  }if
  (*) = flush
restore
"
*End
*?FontList: "
save
  FontDirectory{pop ==}forall
  (fonts/*)
  {dup length 6 sub 6 exch getinterval cvn ==
  }=string filenameforall
  (*) = flush
restore
"
*End
 
I've also been shopping and the Brother HL-L2360DW is on my list. It is not postscript but the specs say it supports PCL6. I generated a plxmono (print/ghostscript9-base) based ppd for an earlier Brother HL-2270DW that also claimed PCL6 support. It works fine on a Debian System I set up for my neighbor. Did not even bother with the Brother Linux support on their website. My searches brought up an HL-2275DW in the UK and I suspect it is essentially the same printer as an HL-2270DW. Maybe the difference is 120 vs 240V?

If you PM me I can email you the ghostscript ppd. It should work without editing. A few minutes of edits and it would show up in CUPS with consistent model identification. Or forget CUPS and setup lpr with the plxmono based filter.

Brother also has a HL-5450ND and an HL-5470DW that have postscript emulation on top of PCL6. Currently in the States the 5450 can be had for 140USD.
 
  • Thanks
Reactions: Oko
Oko , as shepper pointed out, specs say the printer can emulate PCL, so kind of good!

I read the "Printing" section in the handbook and now have more ideas about what has been advised in previous posts - yes, I admit that I absolutely had no idea about printing, in fact, my printing experience is limited with printing documents from auto added (on Windows) network printer in the office.

In this forum thread (shepper started it), phoenix states that
Personally, I avoid anything that doesn't work with CUPS. :) And since Apple made that their default print engine, you can find PPD files for just about any printer now. If it works with MacOS X, then it will work with any OS running CUPS.
So, is it safe to assume that once you have the right PPD file, your printer should work OK?

wblock@ , thank you for the recommendation about buying a used printer, I actually am considering that option too.
 
Personally, I avoid anything that doesn't work with CUPS. :) And since Apple made that their default print engine, you can find PPD files for just about any printer now. If it works with MacOS X, then it will work with any OS running CUPS.

So, is it safe to assume that once you have the right PPD file, your printer should work OK?

The above are not consistently true as a blanket statements.

Most applications generate ps/pdf output and if you have a postscript printer the output can be sent directly to the printer. If the printer does not support postscript then the output has to be converted to a format that the printer understands. The conversion process is specified by a print filter. See Thread 50607 for more info.

For the model of Brother you are considering there are two available drivers. The one supplied by brother is referred to as a raster converter somewhere in the *.ppd.

Although Brother states their Linux printer files are released under GPLV2, the source code for the raster converter is no where to be found. For linux users Brother provides a "binary blob" compiled on a Debian based system. This "blob" will not work easily in FreeBSD. If you're lucky you may get it to function by adding a linux emulation layer.

The second filter driver is plxmono found in the ghostscript package. This is a monochrome driver that can be used by a filter to convert postscript to a PCL6 compliant data stream. Ghostscript is widely used in Unix/Linux based systems and the source code is published under an open license.

In the US, current Brother printer models HL-L2300, HL-L2320 and HL-L2340 do not support PCL6 but do come with a *ppd for Linux and Mac. In spite of the availablility of a ppd, these will definitely not work without linux emulation in FreeBSD. FreeBSD users who have tried to use linux emulation for a printer driver are not reporting consistent success in the forum.

Edit: Added Phoenix's post. Phoenix, I would suggest you edit your original as it could result in printer purchase that does not function well in FreeBSD.
 
On the top of it there is no display so it took me 30 minutes to realize that it comes with built in CUPS server which has to be used for configuration.

I was able to set a static IP on a Brother HL-2270DW but it was not easy. There are two routes. Brother has a downloadable Windows utility to access the default printer IP. The second is to push one of the buttons repeatedly, I recall 5x. This would trigger printing of the configuration settings including the IP. I was able to use a browser once I had the factory default IP.

It was also confusing as there are two wireless data paths. The first is a traditional infrastructure mode and the second is ad hoc. Both can co-exist and use separate encryption keys. The second "ad hoc" access is for the smart phone/tablet direct printing apps.
 
  • Thanks
Reactions: Oko
So, is it safe to assume that once you have the right PPD file, your printer should work OK?


This is not consistently true as a blanket statement.
+1

fnoyanisi

You really need to do some reading. PPD stands for PostScript Printer Description. You have to clarify to your self the meaning of the the spooling system (LPD and CUPs are examples), input filter (foomatic is an example), printer drivers (GhostScript, Gutenprint, HPLIP are examples), binary blob (thing which runs on OS), and firmware (thing which you inject into the device).

I am just too busy to produce consistent document today. I have written several times in the past about those things but they seems to be lost. I might produce a serious document one day which could be appended to FreeBSD documentation.


That Brother RPMs you are talking about contain binary blobs (binaries which will run on the Linux kernel). The reason for that is that in order to lower the cost of the printer manufacturer is using reduced instructional set on the printer (putting cheaper controller) and using binary blob which will use your computer CPU power to do the translation (that what drivers do). That thing will not work on FreeBSD and Linux emulation is not on the level of drivers.


I have to go now.
 
All excellent points! The mere presence of a PPD isn't enough for the less expensive models, as they tend to not have PostScript engines onboard and rely on the host computer to do a lot of the processing (and is why I tend to avoid non-PS printers these days). But, the presence of a PPD is usually a good indication that a printer will work with non-Windows systems. Usually, not always. :) It still requires a bit of sleuthing around a company's support website to see exactly what their drivers install to make their printers work.

If the "minimal" printer driver install is 100+ MB on Windows, or the Linux install requires 15 different packages and/or includes binary "drivers" inside the package(s), then it's a good indication it's using client-side processing and just sending printer commands to the printer (avoid!!). Just about every printer that ships with only a USB port fits this model, where everything is done on the PC, making the "client" the actual printer controller.

Another reason to look for network printers, as they tend to do all their processing of print jobs on the printer itself, and the driver (PPD) is just a list of features supported by the printer, and which version of PostScript to use. :) I like those printers. Our Samsung printer at home is like this (colour laser, networked, just a PPD file to make it work, no other binaries required: c460W). One of the easiest printers I ever installed, and we got it on sale for only $199 CDN (so like $50 US right now). ;) And, because it's a simple CUPS setup, we can even print from our Android phones via the FreeBSD server (Let's Print Droid is a CUPS client for Android).
 
Lots of useful information in this thread and other ones mentioned in all previous posts, thanks guys....

Although the Printing section in the handbook covers lots of useful information, it would be nice to have all these details in one place, so people can access these valuable information.

I have taken HL2365DW out of my short list and now considering buying a used Fuji Xerox m255z Multi-function Printer. According to Fuji, PostScript3 and PCL6 are among supported standards.

Standard: PCL ® 5e, PCL ® 6, PostScript Level3 Compatible,
PDF (Ver. 1.6), TIFF, JPEG

Seems like a better deal...
 
I have taken HL2365DW out of my short list and now considering buying a used Fuji Xerox m255z Multi-function Printer. According to Fuji, PostScript3 and PCL6 are among supported standards.

Keep us posted, my wife has been nagging me to go get a printer. I've got an old Brother networked printer that I've been inspired by this discussion to try.
 
Lots of useful information in this thread and other ones mentioned in all previous posts, thanks guys....

Although the Printing section in the handbook covers lots of useful information, it would be nice to have all these details in one place, so people can access these valuable information.

I have taken HL2365DW out of my short list and now considering buying a used Fuji Xerox m255z Multi-function Printer. According to Fuji, PostScript3 and PCL6 are among supported standards.

Standard: PCL ® 5e, PCL ® 6, PostScript Level3 Compatible,
PDF (Ver. 1.6), TIFF, JPEG

Seems like a better deal...
Just to make clear that you understand this. If the printer speaks PCL6 it still needs a driver but you can use one of thre drivers included in the GhostScrip. Printer which speaks PostScript need's no driver. You can simply send PostScrip file and it will be printed. One should never send anything but PostScript files to PostScrip printer. In pracrice we run an imput filter like foomatic which calls conversion program if you send for example pdf file. If you use a2ps command/program to print you don't even have to set up input filter.
 
PacketMan , most probably I won't go for the Brother printer, but Fuji Xerox m255z. shepper advised me to have a look at this thread (still yet to look), which should provide some good examples that can be modified and used for Brother printer I mentioned.

Doing some budget planning nowadays, but keen to get a printer as well. I will update the thread with the integration status of the new printer I will buy.
 
This is what I've just checked and got a bit confused... openprinting.org says Fuji Xerox m255z works perfectly, but any PPD file given in the page comes with no content :confused:

If it truly emulates postscript you should be able to send a postscript file directly to it and have it print without a ppd. This is really easy to set up using lpr guide in the handbook. If you really need a ppd for CUPs readon.

I had this same issue trying to download the ppd for a Brother HL-2270. The download was essentially an empty file. Since the 2270 is a PCL6 printer, it served as the motivation for me to generate my own plxmono based ppd. After apple bought cups, the OpenPrinting website has existed but does not seem to be monitored or audited.

If you want the ppd to utilize Fuji Xerox postscript emulation, I would try to download it from the Fuji Xerox website. Since postscript should not utilize any binary blobs, the ppd for Mac OS/X should work. There are some 3rd party tools to extract the ppd from *dmg files you can search for. The ppd should also be on the CD, if that came with the used printer. You might also try this Xerox Postscript ppd. The link is good and it is likely to utilize the same ppd as the Western Pacific Region but no guarantees.

If you want to generate a PCL compatible *ppd I can provide a link to instructions for that. You may also be able to generate a postscript compatible ppd or download a generic postscript ppd (download link also good) from OpenPrintiing
 
If you want the ppd to utilize Fuji Xerox postscript emulation, I would try to download it from the Fuji Xerox website. Since postscript should not utilize any binary blobs, the ppd for Mac OS/X should work. There are some 3rd party tools to extract the ppd from *dmg files you can search for. The ppd should also be on the CD, if that came with the used printer. You might also try this Xerox Postscript ppd. The link is good and it is likely to utilize the same ppd as the Western Pacific Region but no guarantees.

Under Windows, 7-Zip File Manager can open *.dmg files and enables you to browse through the whole archive. I assume 7z(1) on my FreeBSD box should be able to read/extract the contents of a *.dmg as well.
 
On good old times we used archivers/cabextract to extract PPD files from M$ .CAB files. Do you see any files with that file extension?

By the way if you were not on the another side of the planet I would just give you for free one of the printers I am trying to get rid off

https://pittsburgh.craigslist.org/sys/5401508725.html

Fully PostScript with 512 MB or RAM and the network module which supports SNMP so that you can monitor the device just I like monitor switches, UPSs, PDUs and servers. They come with 30000 pages toner (one is 80% full) and extra tray for 3000 pages. Unfortunately I can't sell them even for $100 when the decent new group work printer like the Brother HL-5450DN is under $200.
 
Lots of useful information in this thread and other ones mentioned in all previous posts, thanks guys....

Although the Printing section in the handbook covers lots of useful information, it would be nice to have all these details in one place, so people can access these valuable information.

What is not in there? CUPS information, no... I set up the whole chapter to be modular, so CUPS or other printing systems could be added. But after finding CUPS extremely frustrating, I don't use it, and certainly didn't want to write a section on it myself.
 
For linux users Brother provides a "binary blob" compiled on a Debian based system. This "blob" will not work easily in FreeBSD. If you're lucky you may get it to function by adding a linux emulation layer.
I've managed to get my (non-wireless) Brother printer (FAX-1960C) to work with the Linux driver through the emulation layer. It involved editing the scripts, and such, that came in the lpr and cupswrapper deb files to point to FreeBSD devices and file locations. It works flawlessly under FreeBSD-10.2. I'd imagine the big difference between mine and the one the OP is referring to would be the wireless setup.
 
Hi all,

I managed to get my Fuji Xerox DocuPrint M255z setup via my wireless connection. There are some nice videos on YouTube (OS X configuration & Windows configuration of that printer) that helped me to configure a static IP address for my printer.

I then added this IP address into /etc/hosts and edited /etc/printcap as per described in the relevant chapter of the FreeBSD Handbook. After setting up a filter with enscript(1), I was able to print plain text files as well as PDF documents.

Basically, it is a three step process;
1 ) Make the printer known to the laptop (I chose to assign a static IP to the printer and to add this address into /etc/hosts)
2 ) Configure the FreeBSD laptop (well documented in the Handbook)
3 ) I installed CUPS and used the PPD file provided for OS X, all features (toner saving, double-sided printing etc..) are available now

As Fuji Xerox DocuPrint M255z is a PostScript printer, I did not have to do any further tweaks...

Thanks all

PS1 :
By the way if you were not on the another side of the planet I would just give you for free one of the printers I am trying to get rid off
Appreciate it! Yes, dwelling in Down Under, so a bit(!) far from the rest of the planet.

PS2 :
What is not in there? CUPS information, no... I set up the whole chapter to be modular, so CUPS or other printing systems could be added. But after finding CUPS extremely frustrating, I don't use it, and certainly didn't want to write a section on it myself.
I meant explanations/terms such as PPD files or some hacks/tweak one could do in order to use a printer that does not officially support FreeBSD. But these things may (and most probably are) beyond the scope of the Handbook.

PS3:
For googlers, there is a good article on TLDP.org about printing.
 
Back
Top