# Printing in FreeBSD



## Beastie7 (Aug 18, 2019)

Lately I've been contemplating on nuking my macOS partition and using FreeBSD exclusively for the foreseeable future, but one thing I need a decent printing experience.

I'm wondering a few things;

- How does one confirm driver support for my printer? (Canon MG5220)
- Any recommended printer management utilities?, print/scan utilities? (I'm using FluxBox, if that means anything)
- What is your over all experience with printing/scanning with FreeBSD?
- Are there any gotchas I should be aware of? App combat. issues, etc?
- Also, how is WiFI printing in FreeBSD?


Thanks.


----------



## Nicola Mingotti (Aug 18, 2019)

Beastie7 said:


> Lately I've been contemplating on nuking my macOS partition and using FreeBSD exclusively for the foreseeable future, but one thing I need a decent printing experience.
> 
> I'm wondering a few things;
> 
> ...



There is a section of the handbook on printing. I red it, it is very good. Read it and you will know how the printing system works. You also can establish if your printer works with decent probability. 

Scanning, i don't know, my office printer puts scans in a shared filesystem. Another, in other office, sends scans via mail. 

bye
n


----------



## scottro (Aug 18, 2019)

Cups works for me.  I use the same ppd file that is used on a Mac for a Kyocera at work. At home, with a Samsung, I got the ppd from a Linux install and just pointed the printer dialog to said file when setting up. 
  Scanning also works without problem--for that particular printer, the ArchLinux wiki had the information I needed.  Cups will often automagically find the printer if it's on your network.  The xsane program may be able to find it without you doing anything--it seems to be a fairly old printer, so there's a good chance. Normally, I'm not a fan of gui tools, but printing and scanning are things I do very occasionally but need them to work when I need them, and in this, case, CUPS has done a decent job for me.  For scanning, you can also try, if you've installed xsane, scanimage -L which will let you know if the device was found.


----------



## Beastie7 (Aug 18, 2019)

scottro said:


> Cups works for me.  I use the same ppd file that is used on a Mac for a Kyocera at work. At home, with a Samsung, I got the ppd from a Linux install and just pointed the printer dialog to said file when setting up.
> Scanning also works without problem--for that particular printer, the ArchLinux wiki had the information I needed.  Cups will often automagically find the printer if it's on your network.  The xsane program may be able to find it without you doing anything--it seems to be a fairly old printer, so there's a good chance. Normally, I'm not a fan of gui tools, but printing and scanning are things I do very occasionally but need them to work when I need them, and in this, case, CUPS has done a decent job for me.  For scanning, you can also try, if you've installed xsane, scanimage -L which will let you know if the device was found.



Thanks a lot. This is what I was looking for.


----------



## scottro (Aug 18, 2019)

Great, glad it helped.


----------



## shepper (Aug 18, 2019)

I would not be as optimistic.
These appear to be gdi printers.
OpenPrinting
Canon provides binary drivers for MacOs/Windows and maybe Linux.  At best, you can try the linux binary with Linux emulation.


----------



## T-Daemon (Aug 18, 2019)

Beastie7 said:


> - How does one confirm driver support for my printer? (*Canon MG5220*)


print/gutenprint lists that model under supported printers. [EDIT] EXPERIMENTAL


----------



## Beastie7 (Aug 18, 2019)

T-Daemon said:


> print/gutenprint lists that model under supported printers.



That's very reassuring. Thanks for that. I'll take a look and do some testing when I can.


----------



## Deleted member 9563 (Aug 18, 2019)

Generally it's a good idea to avoid Canon as they're not helpful to us. Any postscript printer is good though. I print with lpd and that's about as simple as it gets, but really all you need. Warren has the best page about lpd printing.


----------



## Beastie7 (Aug 18, 2019)

OJ said:


> Generally it's a good idea to avoid Canon as they're not helpful to us. Any postscript printer is good though. I print with lpd and that's about as simple as it gets, but really all you need. Warren has the best page about lpd printing.



That's all that I have at the moment; so I gotta work with it. I just can't justify spending more money over a driver issue; especially if I don't have to. I'll take a look at what others have suggested here.


----------



## tingo (Aug 18, 2019)

In addition, graphics/gscan2pdf is useful. I run it like this `gscan2pdf --device epson2:net:10.1.161.8` with my Epson printer connected to my wireless network.


----------



## gpw928 (Aug 23, 2019)

OJ said:


> I print with lpd and that's about as simple as it gets, but really all you need.


I thought that too, and it's what I used for 20 years, but I just gave up.
There are too many packages that have a dependency on CUPS, and those dependencies install the CUPS usurpers for lpr/lpd into /usr/local/bin.
When that happened, lpr suddenly stopped working (because CUPS was not configured, and /usr/local/bin is first in my path).  So I gave up resistance and switched to CUPS.
One nice outcome is that the CUPS driver for my old HP4050n takes all forms of modern postscript and automatically converts it to a postscript level that the printer can manage.
So I have to reluctantly admit that CUPS is better than what I used to have.


----------



## Deleted member 9563 (Aug 23, 2019)

gpw928 said:


> There are too many packages that have a dependency on CUPS, and those dependencies install the CUPS usurpers for lpr/lpd into /usr/local/bin.


Agreed. I think it's rude.


----------



## ralphbsz (Aug 23, 2019)

gpw928 said:


> There are too many packages that have a dependency on CUPS, ...


I think that's only true if you run a GUI. My FreeBSD machine is console (CLI) only, and runs very happily without CUPS. And it has three printers installed, ranging in age form 1 year old (color double-sided laser) to 25 years old (single-sided laser).

The only problem is this: I have not configured lpr queues for printing documents locally. For text files it works; for postscript/pdf/... files, it does not. I know it can be done, but I just haven't felt the urge to invest the hour that it would take. It's not a problem: the FreeBSD machine shares its file system with various GUI machines (typicall Macs), and I can print ps/pdf/... files from there.


----------



## gpw928 (Aug 23, 2019)

ralphbsz said:


> I think that's only true if you run a GUI.


Possibly.  I don't know why the System V interface was not made standard, and the lpr/lpd interface an extra (completely optional) package on *BSD systems.  That would have broken nothing.
 It's pretty invasive.  
	
	



```
[ritz.138] $ grep cups-2.2.12 /usr/ports/INDEX-11 | wc -l
    3758
```


----------



## ralphbsz (Aug 23, 2019)

gpw928 said:


> Possibly.  I don't know why the System V interface was not made standard, ...


Because lpd/lpr has been the BSD printing system since the 80s. CUPS showed up in the late 90s on Linux. In my memory it was mostly a reaction to the difficulty of installing device-specific drivers in the existing (SysV lp and BSD lpr) solutions.


----------



## Sevendogsbsd (Aug 23, 2019)

I have had good luck with Xerox printers (phaser 3260) on FreeBSD but I use CUPS, mainly because it is a desktop and is easy. I did specifically buy my printer based on the fact it does PCL/postscript printing because I knew it wouldn't use those OS specific binaries, even though I print through CUPS...


----------



## freq (Aug 23, 2019)

ralphbsz said:


> I think that's only true if you run a GUI. My FreeBSD machine is console (CLI) only, and runs very happily without CUPS. And it has three printers installed, ranging in age form 1 year old (color double-sided laser) to 25 years old (single-sided laser).
> 
> The only problem is this: I have not configured lpr queues for printing documents locally. For text files it works; for postscript/pdf/... files, it does not. I know it can be done, but I just haven't felt the urge to invest the hour that it would take. It's not a problem: the FreeBSD machine shares its file system with various GUI machines (typicall Macs), and I can print ps/pdf/... files from there.



DWM master race


----------



## gpw928 (Aug 23, 2019)

ralphbsz said:


> Because lpd/lpr has been the BSD printing system since the 80s. CUPS showed up in the late 90s on Linux. In my memory it was mostly a reaction to the difficulty of installing device-specific drivers in the existing (SysV lp and BSD lpr) solutions.


You misunderstand what I meant, which was that the BSD port of CUPS should have provided the System V commands only by default, thus occupying an otherwise unused command line space, and avoiding conflict with the well established BSD lpr/lpd commands.


----------



## rigoletto@ (Aug 24, 2019)

This often fine to run a GUI without having CUPS installed tweaking ports OPTIONS. I don't have it installed; however that also probably depends of what you use. I suppose DEs like Gnome should make it hard to remove CUPS.

Btw, CUPS was designed for corporate (complex installation) use but _some_ _people_ thought that was a good idea to depends on it for everything printing, probably because they think CUPS is cool - like many others decisions are made these days.


----------



## ralphbsz (Aug 24, 2019)

gpw928 said:


> You misunderstand what I meant, which was that the BSD port of CUPS should have provided the System V commands only by default, thus occupying an otherwise unused command line space, and avoiding conflict with the well established BSD lpr/lpd commands.


Oh, that seems to make sense. Sorry about that.


----------



## reddy (Aug 25, 2019)

OJ said:


> Generally it's a good idea to avoid Canon as they're not helpful to us. Any postscript printer is good though. I print with lpd and that's about as simple as it gets, but really all you need. Warren has the best page about lpd printing.



Which printer and scanner brand is the most helpful / friendly when it comes to open-source drivers? What is the Nvidia of printers so to speak.


----------



## malavon (Aug 25, 2019)

reddy said:


> Which printer and scanner brand is the most helpful / friendly when it comes to open-source drivers? What is the Nvidia of printers so to speak.


As far as I know, HP stuff. I'm not sure there are other brands that release as much OS drivers as they do. See the print/hplip port.


----------



## shepper (Aug 25, 2019)

reddy said:


> Which printer and scanner brand is the most helpful / friendly when it comes to open-source drivers? What is the Nvidia of printers so to speak.


IMHO, the most open source friendly printer/scanner is to buy separate units.  For printers choose one that supports PostScript or one of the drivers in print/ghostscript.  For a scanner, look for supported models in graphics/sane-backends.

If you get an all-in-one, only HP (print/hplip) provides a usb driver that can handle both the printer and the scanner.


----------



## Sevendogsbsd (Aug 25, 2019)

My Xerox Phaser 3260 just works. I do have to use the Phaser 3161n (?)  driver from print/gutenprint, but after that it just works. Printer is on my network. Cost of the printer was around $80 US and replacement toner is around $50-60 US, which a little expensive but what do you do: any more printers are incredibly cheap. Prints duplex and works well. My Macbook prints to it as a "postscript" printer and did not require any driver install.


----------



## scottro (Aug 25, 2019)

HP generally does seem to work, often out of the box for printing with postscript, and usually with one of the sane drivers for scanning. For several years I had a cheap inkjet that I just used for scanning and a mono B&W laser (Brother) for printing. I think they had a Linux ppd that I just copied to FreeBSD for the printing, but now I don't remember. Eventually wound up getting a color laser Samsung that had a sane driver and printer driver.   (But I haven't printed in months and I may just use generic postscript--not at home right now and can't check.)


----------



## Deleted member 9563 (Aug 25, 2019)

malavon said:


> As far as I know, HP stuff. I'm not sure there are other brands that release as much OS drivers as they do. See the print/hplip port.


Samsung releases Linux drivers and they work just fine in my experience. 

One of our printers is a Xerox WorkCentre 3220 (all-in-one) B/W laser. Printing works fine because it's postscript, but the scanning is also usable because you can scan to a USB stick. Drivers may be available but I haven't bothered to look.


----------



## rigoletto@ (Aug 25, 2019)

Brother printers with `BR-Script3` support will work with lpd(8) without drivers. Just do a search on the forums to learn how to setup it.


----------



## Geezer (Aug 26, 2019)

I have got a Brother. Cheap, prints beautifully, and quickly (under windows). Copied the ppd from one of the linuxes. Still does not work.

Not sure I would choose Brother again.


----------



## Geezer (Aug 26, 2019)

Can't get the scanner working either.


----------



## rigoletto@ (Aug 26, 2019)

Geezer said:


> I have got a Brother. Cheap, prints beautifully, and quickly (under windows). Copied the ppd from one of the linuxes. Still does not work.
> 
> Not sure I would choose Brother again.



Your particular printer model has `BR-Script3` support? If it does it will work since that is a PostScript emulation. There are some threads explaining how to properly configure it - look for Oko posts; however IIRC the advise is to use the PPD from the Apple driver. E.g. Thread 55408/post-313979


----------



## Geezer (Aug 26, 2019)

Okay Rigoletto, I will try that (in a few days).


----------



## shepper (Aug 26, 2019)

Geezer said:


> I have got a Brother. Cheap, prints beautifully, and quickly (under windows). Copied the ppd from one of the linuxes. Still does not work.
> 
> Not sure I would choose Brother again.


Brother printers come with 3 levels of capability.
1)  BR-script3 is Brothers version of PostScript.  Since most print jobs are either text or PostScript, these printers will work in FreeBSD without any pre-processing or filtering
2) The next level down are printers that support a print/ghostscript driver like ljet4 or pxlmono (aka PCL5 or PCL6).
3) The cheapest Brother printers use a gdi driver which now has an open source driver: BRlaser.  This has been ported to OpenBSD but is not yet available as a FreeBSD port.  marcinkk  compiled it and with the mentioned patch, reported success.


marcinkk said:


> brlaser driver works ... with 600DPI setting, previously I've set 1200HQ - it does not work
> 
> edit:
> it works now, the issue is described here: https://github.com/pdewacht/brlaser/issues/40
> changed, recompiled, reinstalled and works fine in 1200HQ too



Original Thread 58656


----------

