# [canon mf635cx] need basic lpd setup



## tuxador (May 23, 2020)

Well the title says it all, have a brand new Canon mf635cx printer, it works in gnu/linux with a UFRII cups driver which is not available in freebsd.
The printer supports PCL5 & 6 besides of postscript/pdf.
I've never tried setting up an lpd printer hence my question.
Thank you in advance for your help.


----------



## gpw928 (May 24, 2020)

The technical specifications for Canon mf635cx printer mention support for "UFRII, PCL 5c*, PCL6, Adobe® PostScript".

But I see that the Open Printing organisation does not have a driver for it.

For FreeBSD, my suggestion would be to install and use print/cups package and use one of the generic PCL6, or PostScript drivers.

I suspect that the print/gutenprint package may help with driver options, as may print/hplip (if you choose PCL5c), as indicated by the Open Printing Generic PCL 6/PCL XL Printer document.

However, you may be able to get a suitable PPD file for UFRII from Canon's Linux package linux-UFRII-drv-v510-uken-19.tar.gz. Look in the "Sources" directory.

I'm suggesting CUPS over lpr/lpd because it generally works quite well and so many of the FreeBSD packages drag it in as a dependency.

However if you wish to use lpr/lpd the FreeBSD handbook and even the Linux foundation may help with generic PCL6 and Postscript configurations.


----------



## tuxador (May 24, 2020)

With archlinux the unique solution for me was the proprietary driver, which contains PPD's besides filters which depend heavily on Linux. 
I'll make a try to get through the cups solution and report back (after the holidays). 
Thank you for the hints.


----------



## Martin Paredes (May 26, 2020)

The best advice, it's to read the Handbook section about LPD (Line Printer Daemon)

I will assume that your printer is connected by USB and emulating PCL6

You will need to add the printer configuration to the /etc/printcap :


```
printername|lp|Canon mf635cx:\
    :banner.disable:\
    :tty.device=/dev/ulpt0:\
    :filt.input=/usr/local/bin/if-mf635cx:\
    :spool.dir=/var/spool/lpd/mf635cx:\
    :spool.log=/var/spool/lpd/mf635cx/filter-errors:
```

Create the spool directory

mkdir -p /var/spool/lpd/mf635cx
chmod 770 /var/spool/lpd/mf635cx
chown -R daemon:daemon /var/spool/lpd/mf635cx

The content of the input filter /usr/local/bin/if-mf635cx is


```
#!/bin/sh
GS_DEVICE=pxlmono
GS_FONTPATH=/usr/local/share/ghostscript/fonts:/usr/local/lib/X11/fonts/Type1
GS_LIB=
GS_OPTIONS="-g5100x6600 -r600x600 -q -dBATCH -dSAFER -dNOPAUSE"
export GS_DEVICE GS_FONTPATH GS_LIB GS_OPTIONS
/usr/local/bin/gs -sOutputFile=- -
```

This only work for print jobs been PostScript (most applications produce it)


----------



## tuxador (May 26, 2020)

That's exactly what I'm looking for! 
I will make just 1 or 2 modifications (for network printing). 
I have 2 questions:
1- pxlmono is for black 'n' white printing? 
2- printer understands natively POSTSCRIPT, do need to convert it to PCL6? 
THANKS.


----------



## Martin Paredes (May 26, 2020)

Yes, pxlmono it's for black and white, the only information I can find it's in Open Printing

For PostScript, just remove the line `:filt.input=/usr/local/bin/if-mf635cx:\` from /etc/printcap


----------



## tuxador (May 26, 2020)

Thank you! I'll give you a feed back when done in the office.


----------

