IT/Procedures/Printer Maintenance/Configure Printer Driver-Model

From msgwiki
< IT‎ | Procedures
Revision as of 18:37, 22 May 2024 by Stefan (talk | contribs) (updated automation chapter)
Jump to navigation Jump to search

Configure Printer Driver/Model

Out of the box, the printers get a default driver assigned.

This is fine, as long as you don't need certain profiles/functions, e.g. duplex printing, CMYK.

Not every driver/model seems to work well.

Recommended drivers

  • MG3670: Canon MG3600 series - CUPS+Gutenprint v5.3.3
  • MX922: Canon MX920 series - CUPS+Gutenprint v5.3.3
  • E4200: ?

Check if attributes ColorModel and Duplex are available with lpoptions -p [PRINTER_NAME] -l | grep [...]

add/modify printer driver in the CUPS WebUI

  • on the msgcnx server
    • open CUPS webUI at http://localhost:631
    • alternative: forward the port to your local host over ssh
    • alternative: allow access to CUPS webUI from other hosts (not recommended)
  • open the tab "Printers"
  • check if your printer is listed there
  • if yes
    • click on it
    • select "Modify Printer" in the dropdown
  • if no
    • switch to the tab "Administration"
    • click "Add Printer"
  • select "Internet Printing Protocol (ipp), click "Continue"
  • enter the ipp address of the printer (ipp://IP), click "Continue"
  • set the name and location if needed, click "Continue"
  • select the driver you want, click

add/modify printer driver with lpadmin / future automation

Installing a MG3670 printer with lpadmin, would look e.g. like this:

lpadmin -p [PRINTER_NAME] -E -v ipp://[PRINTER_IP] -m gutenprint.5.3://bjc-MG3600-series

https://www.cups.org/doc/admin.html

As it seems, Gutenprint drivers/models are generated "on the fly", so the path parameter must be given as: gutenprint.5.3://[DRIVER/MODEL_NAME]

This would allow to e.g. create a (Ansible) script for quick setup of new printers.

Driver/Model Names

To get the driver/model name, a ppd file of an existing printer can be searched:

sudo cat /etc/cups/ppd/[EXISTING_PRINTER_NAME].ppd | grep StpDriverName

In theory, lpinfo --make-and-model [PRINTER_MODEL_NAME] should search for matching printer drivers and print out the driver path (didn't get this to work, perhaps because the lpinfo -m bug, see troubleshooting)

Known Model Names

  • MG3670: bjc-MG3600-series
  • MX922: bjc-MX920-series
  • E4200: ?

Troubleshooting

in CUPS WebUI or lpinfo -m: unable to get list of printer drivers, sucess