Difference between revisions of "CUPS/Printer-specific problems"

From ArchWiki
Jump to navigation Jump to search
(Removed Accuracy Disputed notification for the Canon CAPT section as the instructions are correct and have been tried and tested by the author (me) prior to adding them to the wiki.)
(simplification and beautification of wikilinks (interactive))
Tag: wiki-scripts
 
(254 intermediate revisions by 73 users not shown)
Line 1: Line 1:
 
[[Category:Printers]]
 
[[Category:Printers]]
 +
[[ja:CUPS/プリンター別の問題]]
 +
[[ru:CUPS (Русский)/Printer-specific problems]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|CUPS}}
 
{{Related|CUPS}}
 
{{Related|CUPS/Troubleshooting}}
 
{{Related|CUPS/Troubleshooting}}
 
{{Related articles end}}
 
{{Related articles end}}
 
See [[CUPS]] for the main article.
 
  
 
This article contains printer or manufacturer-specific instructions for [[CUPS]].
 
This article contains printer or manufacturer-specific instructions for [[CUPS]].
 
See [http://www.openprinting.org/printers OpenPrinting] if your printer is not already listed here, or if none of the listed drivers work.
 
See [http://www.openprinting.org/printers OpenPrinting] if your printer is not already listed here, or if none of the listed drivers work.
 +
 +
{{Note|If you add a printer to this list, consider contributing your entry to [https://wiki.linuxfoundation.org/openprinting/database/databaseintro OpenPrinting] - that way users of other distributions will also benefit!}}
  
 
==Brother==
 
==Brother==
Line 19: Line 21:
 
| DCP-135C || {{AUR|brother-dcp135c}} ||
 
| DCP-135C || {{AUR|brother-dcp135c}} ||
 
|-
 
|-
| DCP-150C || {{AUR|brother-dcp150c}}{{Broken package link|{{aur-mirror|brother-dcp150c}}}} ||
+
| DCP-150C || {{AUR|brother-dcp150c}} ||
 +
|-
 +
| DCP-7020 || [[foomatic]] || Or Brother's driver.
 +
|-
 +
| DCP-7030 || {{AUR|brother-dcp7030}} || Or {{AUR|brlaser-git}}
 +
|-
 +
| DCP-7065DN || {{AUR|brother-dcp7065dn}} || Or {{AUR|brlaser-git}}
 +
|-
 +
| DCP-J515W || {{AUR|brother-dcp-j515w}} ||
 +
|-
 +
| FAX-2820 || {{AUR|brother-cups-wrapper-laser}} ||
 +
|-
 +
| FAX-2840 || {{AUR|brother-fax2840}} || Or [[foomatic]] - works mostly with {{ic|hpijs-pcl5e.ppd}}. Same as the HL-2170W.
 
|-
 
|-
| DCP-7020 || {{Pkg|foomatic-db}} || Or Brother's driver.
+
| FAX-2940 || {{AUR|brother-fax2940}} ||
 
|-
 
|-
| DCP-7030 || {{AUR|brother-dcp7030}} ||
+
| HL-2030 || [[foomatic]] || Or {{AUR|brother-hl2030}}
 
|-
 
|-
| DCP-7065DN || {{AUR|brother-dcp7065dn}} ||
+
| HL-2035 || [[foomatic]] || Should be compatible with any drivers for the HL-2030.
 
|-
 
|-
| HL-2030 || {{Pkg|foomatic-db}} || Or {{AUR|brother-hl2030}}
+
| HL-2040 || [[foomatic]] || Or {{AUR|brother-hl2040}}
 
|-
 
|-
| HL-2035 || {{Pkg|foomatic-db}} || Should be compatible with any drivers for the HL-2030.
+
| HL-2130 || [[foomatic]] (using the HL-2140 driver) || Or {{Pkg|hplip}}
 
|-
 
|-
| HL-2040 || {{Pkg|foomatic-db}} || Or {{AUR|brother-hl2040}}
+
| HL-2135W || {{AUR|brother-brgenml1}} ||
 
|-
 
|-
| HL-2130 || {{Pkg|foomatic-db}} (using the HL-2140 driver) || Or {{Pkg|hplip}}
+
| HL-2140 || [[foomatic]] || Or {{AUR|brother-hl2140}}
 
|-
 
|-
| HL-2140 || {{Pkg|foomatic-db}} || Or {{AUR|brother-hl2140}}
+
| HL-2170W || [[foomatic]] || Or Brother's driver.
 
|-
 
|-
| HL-2170W || {{Pkg|foomatic-db}} || Or Brother's driver.
+
| HL-2230 || [[foomatic]] || Same as HL-2170W. Select HL-2170W as the driver in CUPS admin when adding a printer.
 
|-
 
|-
| HL-2250DN || {{AUR|brother-hl2250dn}} ||
+
| HL-2250DN || {{AUR|brother-brgenml1}} || {{AUR|brother-hl2250dn}} is broken?
 
|-
 
|-
 
| HL-2270DW || {{AUR|brother-hl2270dw}} ||
 
| HL-2270DW || {{AUR|brother-hl2270dw}} ||
Line 46: Line 60:
 
|-
 
|-
 
| HL-3045CN || Install Brother's driver. ||
 
| HL-3045CN || Install Brother's driver. ||
 +
|-
 +
| HL-3140CW || {{AUR|brother-hl3140cw}} || Use IPP and Brother's driver to avoid page-shrinking and endless blank printouts
 
|-
 
|-
 
| HL-3150CDW || {{AUR|brother-hl3150cdw}} ||
 
| HL-3150CDW || {{AUR|brother-hl3150cdw}} ||
 
|-
 
|-
| HL-5140 || {{Pkg|foomatic-db}} || Or Brother's driver.
+
| HL-3170CDW || {{AUR|brother-hl3170cdw}} ||
 +
|-
 +
| HL-4150CDN || {{AUR|brother-hl4150cdn}} ||
 
|-
 
|-
| MFC-420CN || {{AUR|brother-mfc-420cn}}{{Broken package link|{{aur-mirror|brother-mfc-420cn}}}} ||
+
| HL-5140 || [[foomatic]] || Or Brother's driver.
 
|-
 
|-
| MFC-440CN || {{AUR|brother-mfc-440cn}}{{Broken package link|{{aur-mirror|brother-mfc-440cn}}}} ||
+
| HL-5340 || [[foomatic]] || Using the ''Generic PCL 6/PCL XL Printer - CUPS+Gutenprint'' ({{pkg|gutenprint}} and {{pkg|foomatic-db-gutenprint-ppds}}). Or Brother's driver, which may result in failed prints with postscript errors.
 
|-
 
|-
| MFC-465CN || {{AUR|brother-mfc-465cn}}{{Broken package link|{{aur-mirror|brother-mfc-465cn}}}} ||
+
| HL-L2300D || {{AUR|brother-hll2300d}} || Or {{AUR|brlaser-git}}
 
|-
 
|-
| MFC-7360N || Install Brother's driver. ||
+
| HL-L2340DW || {{AUR|brother-hll2340dw}} || Or {{AUR|brlaser-git}}
 +
|-
 +
| HL-L2350DW || {{AUR|brother-hll2350dw}} ||
 +
|-
 +
| HL-L2360DN || {{AUR|brother-hll2360d}} || Or {{AUR|brlaser-git}}
 +
|-
 +
| HL-L2360DW || {{AUR|brother-hll2360d}} || {{AUR|brlaser-git}} should works.
 +
|-
 +
| HL-L2365DW || {{AUR|brother-hll2360d}} || {{AUR|brlaser-git}} should works.
 +
|-
 +
| HL-L2380DW || {{AUR|brother-hll2380dw}} ||
 +
|-
 +
| HL-L2395DW || {{AUR|brother-hll2395dw}} || Use the {{ic|socket}} protocol as described in [[#Network printers]]
 +
|-
 +
| HL-L5100DN || HP LaserJet Foomatic driver || This model will emulate a HP LaserJet. Use the {{ic|lpd}} protocol as described in [[#Network printers]].
 +
|-
 +
| HL-L8360CDW || {{AUR|brother-hll8360cdw-cups-bin}} ||
 +
|-
 +
| MFC-420CN || {{AUR|brother-mfc-420cn}} ||
 +
|-
 +
| MFC-440CN || {{AUR|brother-mfc-440cn}} ||
 +
|-
 +
| MFC-7360N || {{AUR|brother-mfc7360n}} || Or {{AUR|brlaser-git}}
 +
|-
 +
| MFC-7460DN || [[Gutenprint]] || Use the ''Generic PCL 6 Printer wide margin - CUPS+Gutenprint'' driver, with address {{ic|ipp://hostname-or-ip/pcl_p1}}.
 +
|-
 +
| MFC-7840W || {{AUR|brother-mfc-7840w}} || Or {{AUR|brlaser-git}}
 
|-
 
|-
 
| MFC-9320CW || Install Brother's driver. ||
 
| MFC-9320CW || Install Brother's driver. ||
 
|-
 
|-
| MFC-9840CDW || {{Pkg|foomatic-db}} || Or Brother's driver. This printer also works with the generic PCL-6 driver from the {{Pkg|gutenprint}} package. Use '''pcl_p1''' for the printer's address when using the PCL-6 driver.
+
| MFC-9332CDW || {{AUR|brother-mfc-9332cdw}} ||
 +
|-
 +
| MFC-9840CDW || [[foomatic]] || Or Brother's driver. This printer also works with the generic PCL-6 driver from the {{Pkg|gutenprint}} package. Use '''pcl_p1''' for the printer's address when using the PCL-6 driver.
 +
|-
 +
| MFC-J470DW || {{AUR|brother-mfc-j470dw}} || Use the {{ic|ipp}} protocol as described in [[#Network printers]].
 +
|-
 +
| MFC-J4710DW || {{AUR|brother-mfc-j4710dw}} ||
 +
|-
 +
| MFC-J480DW || {{AUR|brother-mfc-j480dw}} || Use the {{ic|ipp}} protocol as described in [[#Network printers]].
 
|-
 
|-
| MFC-J470DW || {{AUR| brother-mfc-j470dw}} ||
+
| MFC-J5520DW || {{AUR|brother-mfc-j5520dw}} ||
 
|-
 
|-
| MFC-J5910DW || {{AUR|brother-mfc-j5910dw}}{{Broken package link|{{aur-mirror|brother-mfc-j5910dw}}}} ||
+
| MFC-J5910DW || {{AUR|brother-mfc-j5910dw}} ||
 
|-
 
|-
 
| MFC-J650DW || Install Brother's driver. ||
 
| MFC-J650DW || Install Brother's driver. ||
 +
|-
 +
| MFC-J885DW || {{AUR|brother-mfc-j885dw}} ||
 +
|-
 +
| MFC-J985DW || {{AUR|brother-mfc-j985dw}} ||
 +
|-
 +
| MFC-L2700DW || {{AUR|brother-mfc-l2700dw}} || Please look also at the comments section of the AUR package page.
 +
|-
 +
| MFC-L8600CDW || {{AUR|brother-mfc-l8600cdw}} || Please follow the instructions on the AUR page.
 +
|-
 +
| QL-500 || {{AUR|brother-ql500}} ||
 +
|-
 +
| QL-570 || {{AUR|brother-ql570}} ||
 +
|-
 +
| QL-580N || {{AUR|brother-ql580n}} ||
 +
|-
 +
| QL-650TD || {{AUR|brother-ql650td}} ||
 +
|-
 +
| QL-700 || {{AUR|brother-ql700}} ||
 +
|-
 +
| QL-710W || {{AUR|brother-ql710w}} ||
 +
|-
 +
| QL-720NW || {{AUR|brother-ql720nw}} ||
 +
|-
 +
| QL-1050 || {{AUR|brother-ql1050}} ||
 +
|-
 +
| QL-1050N || {{AUR|brother-ql1050n}} ||
 +
|-
 +
| QL-1060 || {{AUR|brother-ql1060n}} ||
 +
|-
 +
| TD-2020 || {{AUR|brother-td2020}} ||
 +
|-
 +
| TD-2120N || {{AUR|brother-td2120n}} ||
 +
|-
 +
| TD-2130N || {{AUR|brother-td2130n}} ||
 +
|-
 +
| TD-4000 || {{AUR|brother-td4000}} ||
 +
|-
 +
| TD-4100N || {{AUR|brother-td4100n}} ||
 
|-
 
|-
 
! Printer
 
! Printer
Line 78: Line 168:
 
For some older printers, this might not work. If not, try {{ic|lpd://'''printer_ip'''/BINARY_P1}} instead.
 
For some older printers, this might not work. If not, try {{ic|lpd://'''printer_ip'''/BINARY_P1}} instead.
  
Some printers use the socket protocol. For these printers, use {{ic|socket:'''printer_ip''':9100}}.
+
Some printers use the socket protocol. For these printers, use {{ic|socket://'''printer_ip''':9100}}.
 
For http, use {{ic|http://'''printer_ip'''/POSTSCRIPT_P1}}.
 
For http, use {{ic|http://'''printer_ip'''/POSTSCRIPT_P1}}.
  
 
===Custom drivers===
 
===Custom drivers===
  
Brother provides custom drivers on their website, either in source tarball, rpm, or deb form. See {{AUR|brother-dcp135c}} for an example of how to package the RPM versions in a PKGBUILD.
+
Brother provides custom drivers on their website, either in source tarball, rpm, or deb form. [[Packaging Brother printer drivers]] covers creating [[PKGBUILD]]s from the existing RPM packages.
 
{{Note|The source packages might be a better alternative to the rpm packages, provided they contain all the needed files.}}
 
{{Note|The source packages might be a better alternative to the rpm packages, provided they contain all the needed files.}}
  
Line 94: Line 184:
 
Run the cups wrapper file in {{ic|/usr/local/Brother/cupswrapper}}. This should automatically install and configure your brother printer.
 
Run the cups wrapper file in {{ic|/usr/local/Brother/cupswrapper}}. This should automatically install and configure your brother printer.
  
See [[Creating packages for Brother drivers]] for a more detailed explanation.
+
For some of the drivers 32 bit libraries may need to be installed from [[multilib]].
 +
 
 +
===Updating the firmware===
 +
 
 +
[[Install]] {{pkg|net-snmp}} and run:
 +
 
 +
snmpwalk -c public $PRINTER_IP | grep -A 1 3.6.1.4.1.2435.2.4.3.99.3.1.6.1.2
 +
 
 +
At this point, you will have the relevant data to get a valid firmware download link from Brother. The file should look similar to the one below:
 +
 
 +
{{hc|request.xml|
 +
<REQUESTINFO>
 +
    <FIRMUPDATETOOLINFO>
 +
        <FIRMCATEGORY>MAIN</FIRMCATEGORY>
 +
        <OS>LINUX</OS>
 +
        <INSPECTMODE>1</INSPECTMODE>
 +
    </FIRMUPDATETOOLINFO>
 +
 +
    <FIRMUPDATEINFO>
 +
        <MODELINFO>
 +
            <SELIALNO></SELIALNO>
 +
            <NAME>MFC-9330CDW</NAME>
 +
            <SPEC>0401</SPEC>
 +
            <DRIVER></DRIVER>
 +
            <FIRMINFO>
 +
                <FIRM>
 +
                    <ID>MAIN</ID>
 +
                    <VERSION>R1506121801:4504</VERSION>
 +
                </FIRM>
 +
                <FIRM>
 +
                    <ID>SUB1</ID>
 +
                    <VERSION>1.07</VERSION>
 +
                </FIRM>
 +
                <FIRM>
 +
                    <ID>SUB2</ID>
 +
                    <VERSION>L1505291600</VERSION>
 +
                </FIRM>
 +
            </FIRMINFO>
 +
        </MODELINFO>
 +
        <DRIVERCNT>1</DRIVERCNT>
 +
        <LOGNO>2</LOGNO>
 +
        <ERRBIT></ERRBIT>
 +
        <NEEDRESPONSE>1</NEEDRESPONSE>
 +
    </FIRMUPDATEINFO>
 +
</REQUESTINFO>
 +
}}
 +
 
 +
Post this file to Brother:
 +
 
 +
curl -X POST -d @request.xml https://firmverup.brother.co.jp/kne_bh7_update_nt_ssl/ifax2.asmx/fileUpdate -H "Content-Type:text/xml" > response.xml
 +
 
 +
In {{ic|response.xml}} you will find a {{ic|<PATH>}} tag that contains the firmware download URL. Next, download the firmware, push it to the printer, and let the printer process it. Before that is done, change the Admin password to something known, it will be used as the user to log into the FTP site (VERY bad practice, don't do this). 
 +
 
 +
wget http://update-akamai.brother.co.jp/CS/LZ4266_W.djf
 +
ftp $PRINTER_IP
 +
  bin
 +
  hash
 +
  send LZ4266_W.djf
 +
  bye
 +
 
 +
With that, the printer will restart, and the latest firmware will be installed and (hopefully) your printing woes will be solved.
  
 
==Canon==
 
==Canon==
  
{{Style|It would good if the driver table could be removed or somehow merged into the main table}}
+
There are many possible drivers for Canon printers. [http://gimp-print.sourceforge.net/p_Supported_Printers.php Many Canon printers] are supported by [[Gutenprint]]. Some of Canon's LBP, iR, and MF printers use a driver supporting the UFR II/UFR II LT/LIPSLX protocols, which is available as {{AUR|cndrvcups-lb}} or {{AUR|cndrvcups-lb-bin}}. Others use the [[#CARPS]], or [[#cnijfilter]] ({{AUR|cnijfilter2}} / {{AUR|cnijfilter2-bin}}), or [[Canon CAPT]] drivers.
  
 
{| class="wikitable"
 
{| class="wikitable"
! style="font-weight: bold;" | Driver
+
! Printer
! style="font-weight: bold;" | Description
+
! Driver/filter
 +
! Notes
 +
|-
 +
| iP4300
 +
| [[Gutenprint]]
 +
| Or use the [http://www.turboprint.info/ TurboPrint] driver.
 +
|-
 +
| LBP810 || rowspan="34" | [[Canon CAPT]] ||
 +
|-
 +
| LBP1120 ||
 
|-
 
|-
| {{AUR|cndrvcups-lb}}
+
| LBP1210 ||
| Canon UFR II /LIPSLX Printer Driver build from source for LBP, iR & MF printers
 
 
|-
 
|-
| {{AUR|cndrvcups-lb-bin}}
+
| LBP2900 ||
| Canon UFR II/UFR II LT Printer Driver (including Canon imageCLASS MF4720w)
 
 
|-
 
|-
| {{AUR|cnijfilter-mg4200}}
+
| LBP3000 ||
| Canon IJ Printer Driver (for mg4200 series)
 
 
|-
 
|-
| {{AUR|capt-src}}
+
| LBP3010 ||
| Canon CAPT Printer Driver (for Canon i-Sensys printers)
 
 
|-
 
|-
| {{AUR|cups-bjnp}}
+
| LBP3018 ||
| CUPS back-end for the canon printers using the proprietary USB over IP BJNP protocol
 
|}
 
 
 
{| class="wikitable"
 
! Printer
 
! Driver/filter
 
! Notes
 
 
|-
 
|-
| iP4300
+
| LBP3050 ||
| {{Pkg|gutenprint}}
 
| Or use Canon's {{AUR|cnijfilter-ip4300}}{{Broken package link|{{aur-mirror|cnijfilter-ip4300}}}} driver, or the [http://www.turboprint.info/ TurboPrint] driver.
 
 
|-
 
|-
| LBP810 || {{AUR|capt-src}} ||
+
| LBP3100 ||
 
|-
 
|-
| LBP1120 || {{AUR|capt-src}} ||
+
| LBP3108 ||
 
|-
 
|-
| LBP1210 || {{AUR|capt-src}} ||
+
| LBP3150 ||
 
|-
 
|-
| LBP2900 || {{AUR|capt-src}} ||
+
| LBP3200 ||
 
|-
 
|-
| LBP3000 || {{AUR|capt-src}} ||
+
| LBP3210 ||
 
|-
 
|-
| LBP3010 || {{AUR|capt-src}} ||
+
| LBP3250 ||
 
|-
 
|-
| LBP3018 || {{AUR|capt-src}} ||
+
| LBP3300 ||
 
|-
 
|-
| LBP3050 || {{AUR|capt-src}} ||
+
| LBP3310 ||
 
|-
 
|-
| LBP3100 || {{AUR|capt-src}} ||
+
| LBP3500 ||
 
|-
 
|-
| LBP3108 || {{AUR|capt-src}} ||
+
| LBP5000 ||
 
|-
 
|-
| LBP3150 || {{AUR|capt-src}} ||
+
| LBP5050 series ||
 
|-
 
|-
| LBP3200 || {{AUR|capt-src}} ||
+
| LBP5100 ||
 
|-
 
|-
| LBP3210 || {{AUR|capt-src}} ||
+
| LBP5300 ||
 
|-
 
|-
| LBP3250 || {{AUR|capt-src}} ||
+
| LBP6000 ||
 
|-
 
|-
| LBP3300 || {{AUR|capt-src}} ||
+
| LBP6018 ||
 
|-
 
|-
| LBP3310 || {{AUR|capt-src}} ||
+
| LBP6020 ||
 
|-
 
|-
| LBP3500 || {{AUR|capt-src}} ||
+
| LBP6200 ||
 
|-
 
|-
| LBP5000 || {{AUR|capt-src}} ||
+
| LBP6300 ||
 
|-
 
|-
| LBP5050 series || {{AUR|capt-src}} ||
+
| LBP6300n ||
 
|-
 
|-
| LBP5100 || {{AUR|capt-src}} ||
+
| LBP6310dn ||
 
|-
 
|-
| LBP5300 || {{AUR|capt-src}} ||
+
| LBP7010C ||
 
|-
 
|-
| LBP6000 || {{AUR|capt-src}} ||
+
| LBP7018C ||
 
|-
 
|-
| LBP6018 || {{AUR|capt-src}} ||
+
| LBP7200Cdn (network mode) ||
 
|-
 
|-
| LBP6020 || {{AUR|capt-src}} ||
+
| LBP7200C series ||
 
|-
 
|-
| LBP6200 || {{AUR|capt-src}} ||
+
| LBP7210Cdn ||
 
|-
 
|-
| LBP6300 || {{AUR|capt-src}} ||
+
| LBP9100C ||
 
|-
 
|-
| LBP6300n || {{AUR|capt-src}} ||
+
| MF635Cx || rowspan="3" | {{AUR|cndrvcups-lb-bin}} ||
 
|-
 
|-
| LBP6310dn || {{AUR|capt-src}} ||
+
| MF4720w ||
 
|-
 
|-
| LBP7010C || {{AUR|capt-src}} ||
+
| MF4770n ||
 
|-
 
|-
| LBP7018C || {{AUR|capt-src}} ||
+
| MG4200 series || {{AUR|cnijfilter-mg4200}} || Avoid the [[CUPS#Web interface|web interface]] when adding the printer as it won't find the PPD file.
 
|-
 
|-
| LBP7200Cdn (network mode) || {{AUR|capt-src}} ||
+
| MX490 || rowspan="3" | {{AUR|cnijfilter2}}<br />{{AUR|cnijfilter2-bin}} ||
 
|-
 
|-
| LBP7200C series || {{AUR|capt-src}} ||
+
| MX492 ||
 
|-
 
|-
| LBP7210Cdn || {{AUR|capt-src}} ||
+
| TS8050 || Without {{AUR|cnijfilter2}} printing will fail with a filter error or you might get "Rendering Completed" and nothing will print
 
|-
 
|-
| LBP9100C || {{AUR|capt-src}} ||
+
| TS9020 || {{AUR|canon-ts9020}} ||
 
|-
 
|-
 
! Printer
 
! Printer
Line 202: Line 348:
 
|}
 
|}
  
Some Canon printers will use a similar setup to the iP4300, so consider modifying the {{AUR|cnijfilter-ip4300}}{{Broken package link|{{aur-mirror|cnijfilter-ip4300}}}} package for other, similar printers.
+
Some Canon printers will use a similar setup to the iP4500, so consider modifying the {{AUR|cnijfilter-ip4500}} package for other, similar printers.
  
 
===CARPS===
 
===CARPS===
  
Some of Canon's printers use Canon's proprietary Canon Advanced Raster Printing System (CARPS) driver.
+
Some of Canon's printers use Canon's proprietary CARPS (''Canon Advanced Raster Printing System'') driver.
 
[http://www.rainbow-software.org/2014/01/23/cups-driver-for-canon-carps-printers/ Rainbow Software] have managed to reverse engineer the CARPS data format and have successfully created a CARPS CUPS driver, which is available as {{AUR|carps-cups}}.
 
[http://www.rainbow-software.org/2014/01/23/cups-driver-for-canon-carps-printers/ Rainbow Software] have managed to reverse engineer the CARPS data format and have successfully created a CARPS CUPS driver, which is available as {{AUR|carps-cups}}.
 
The project's [https://github.com/ondrej-zary/carps-cups GitHub] page includes a list of working printers.
 
The project's [https://github.com/ondrej-zary/carps-cups GitHub] page includes a list of working printers.
  
===CAPT===
+
===USB over IP (BJNP)===
 
 
CAPT is Canon's proprietary Canon Advanced Printing Technology (CAPT) driver, supporting the '''Canon i-Sensys''' series of laser printers. For more information, see [https://help.ubuntu.com/community/CanonCaptDrv190 Setting up CAPT printers on Ubuntu].
 
 
 
====Configuration====
 
First the printer needs to be registered with CUPS using ''lpadmin'':
 
 
 
# lpadmin -p ''printer_model'' -m ''printer_ppd_file'' -v ccp://localhost:59687 -E
 
 
 
Find the right PPD inside {{ic|/usr/share/cups/model}}. For the printer model, use the ''ShortNickName'' found inside the PPD, or take it directly from the file name, for example {{ic|CNCUPS'''LBP6310'''CAPTK.ppd}}.
 
 
 
Alternatively you could check the table provided on the [https://help.ubuntu.com/community/CanonCaptDrv190 Ubuntu help page], which matches each supported printer with its corresponding PPD.
 
 
 
{{Note|1=Some models have multiple PPDs, where the last letter indicates the regional model (J = Japan, K = United Kingdom, S = United States)}}
 
 
 
For example, for the Canon LBP6310dn (UK model) you would enter
 
 
 
# lpadmin -p LBP6310 -m CNCUPSLBP6310CAPTK.ppd -v ccp://localhost:59687 -E
 
 
 
Next you'll need to register the printer with the CAPT driver itself via ''ccpdadmin''. Replace {{ic|''printer_model''}} with the model you found earlier (e.g. {{ic|LBP6310}}), and {{ic|''printer_address''}} with either the USB port (e.g. {{ic|/dev/usb/lp0}}) in case of a local printer, or the IP address, prefixed by {{ic|net:}} (e.g. {{ic|net:192.168.1.100}}) in case of a network printer:
 
 
 
# ccpdadmin -p ''printer_model'' -o ''printer_address''
 
 
 
For example, for a USB printer:
 
 
 
# ccpdadmin -p LBP6310 -o /dev/usb/lp0
 
 
 
Or for a network printer:
 
 
 
# ccpdadmin -p LBP6310 -o net:192.168.1.100
 
  
====CAPT daemon and status monitor ====
+
Some Canon printers use Canon's proprietary USB over IP BJNP protocol to communicate over the network. There is a CUPS backend for this, which is available as {{AUR|cups-bjnp}}.
  
[[Start]]/[[enable]] the CAPT daemon with {{ic|ccpd.service}}.
+
===cnijfilter===
  
The driver includes a status monitor which can be launched with
+
Some printers using the cnijfilter drivers support the {{ic|cnijnet}} protocol. To find the [[CUPS#Printer URI|printer URI]] run
  
  $ captstatusui -P ''printer_model''
+
  $ cnijnetprn --search auto
  
e.g.
+
and use the {{ic|cnijnet:/}} URI in the output.
  
$ captstatusui -P LBP6310
+
{{Expansion|The URI appears to be of the form {{ic|cnijnet:/}} followed by the MAC address of the printer. If this is the case it would be good to mention it here.}}
 
 
If you only want the status monitor to pop up when a problem occurs, simply append the -e switch:
 
 
 
$ captstatusui -P LBP6310 -e
 
  
 
==Dell==
 
==Dell==
Line 265: Line 378:
 
|-
 
|-
 
| 1250C
 
| 1250C
| {{AUR|foo2zjs}}
+
| {{AUR|foo2zjs-nightly}}
| See http://cybercom.net/~dcoffin/hbpl, the patch has been merged into upstream. The printer may also work with the [[#Xerox Phaser 6000B|Xerox Phaser 6000B driver]].
+
| See http://cybercom.net/~dcoffin/hbpl, the patch has been merged into upstream. The printer may also work with the [[#Phaser 6000B|Xerox Phaser 6000B driver]].
 +
|-
 +
| C1660NW
 +
| {{AUR|foo2zjs-nightly}}
 +
| The printer may also work with the [[#Phaser 6000B|Xerox Phaser 6000B driver]].
 +
|-
 +
| E515,
 +
E515dw
 +
| Install [http://downloads.dell.com/FOLDER03040853M/1/Printer_E515dw_Driver_Dell_A00_LINUX.zip Dell's driver].
 +
| Both ''e515dwcupswrapper-3.2.0-1.i386.deb'' and ''e515dwlpr-3.2.0-1.i386.deb'' need to be installed. You could either write a [[PKGBUILD]], use {{AUR|debtap}}, or use {{AUR|dpkg}} (using dpkg is not recommended as the files will not be managed by [[pacman]]). The driver works on both the x86_64 and i386 platforms, but may require [[multilib]].
 +
|-
 +
| S1130n || rowspan="16" | {{aur|dell-unified-printer-driver}} || rowspan="16" | Driver conflicts with samsung-unified-driver-printer (both create rastertospl and libscmssc.so)
 +
|-
 +
|1130 ||
 +
|-
 +
|1133 ||
 
|-
 
|-
 +
|1135n ||
 +
|-
 +
|1815 ||
 +
|-
 +
|2145cn ||
 +
|-
 +
|2335dn ||
 +
|-
 +
|2355dn ||
 +
|-
 +
|5330 ||
 +
|-
 +
|B1160 ||
 +
|-
 +
|B1160w ||
 +
|-
 +
|B1165nfw ||
 +
|-
 +
|B1260dn ||
 +
|-
 +
|B1265dfw ||
 +
|-
 +
|B1265dnf ||
 +
|-
 +
|B2365dnf ||
 +
|-
 +
 
! Printer
 
! Printer
 
! Driver/filter
 
! Driver/filter
 
! Notes
 
! Notes
 
|}
 
|}
 
===Custom drivers===
 
====Xerox Phaser 6000B====
 
[[Install]] the [https://github.com/aur-archive/xerox-phaser-6010 xerox-phaser-6010] package (archived from the AUR).
 
The driver may require older versions of {{Pkg|nettle}} and {{Pkg|gnutls}} to be installed, since the binary blob linked against older versions of the shared libraries provided by those packages. The oldest known-good versions are {{ic|nettle-2.7.1-1}} and {{ic|gnutls-3.3.13-1}}.
 
  
 
==Epson==
 
==Epson==
  
{{AUR|epson-inkjet-printer-escpr}} is a driver for the Epson Inkjet Printer Driver (ESC/P-R) for Linux.
+
{{AUR|epson-inkjet-printer-escpr}} and {{AUR|epson-inkjet-printer-escpr2}} are sets of drivers using the Epson Inkjet Printer Driver (ESC/P-R) for Linux.
 
 
There is a large selection of printer drivers/filters available in the [[AUR]].
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 292: Line 440:
 
|-
 
|-
 
| AcuLaser C900 || || This printer uses Epson's driver, with a device URI of ''''usb://EPSON/AL-C900'''', and may need the pipsplus service to be running.
 
| AcuLaser C900 || || This printer uses Epson's driver, with a device URI of ''''usb://EPSON/AL-C900'''', and may need the pipsplus service to be running.
 +
|-
 +
| EP-50V || rowspan="3" | {{AUR|epson-inkjet-printer-escpr2}} ||
 +
|-
 +
| EP-879A ||
 +
|-
 +
| EP-880A ||
 +
|-
 +
| ET-2700 || rowspan="2" | {{AUR|epson-inkjet-printer-escpr}} ||
 +
|-
 +
| ET-2750 ||
 +
|-
 +
| ET-3700 || rowspan="3" | {{AUR|epson-inkjet-printer-escpr2}} ||
 +
|-
 +
| ET-3750 ||
 +
|-
 +
| ET-4750 ||
 +
|-
 +
| EW-M571T || {{AUR|epson-inkjet-printer-escpr}} ||
 +
|-
 +
| EW-M670FT || {{AUR|epson-inkjet-printer-escpr2}} ||
 +
|-
 +
| L380 || rowspan="2" | {{AUR|epson-inkjet-printer-201601w}} ||
 +
|-
 +
| L382 ||
 +
|-
 +
| L4150 || rowspan="2" | {{AUR|epson-inkjet-printer-escpr}} ||
 +
|-
 +
| L4160 ||
 +
|-
 +
| L6160 || rowspan="3" | {{AUR|epson-inkjet-printer-escpr2}} ||
 +
|-
 +
| L6170 ||
 +
|-
 +
| L6190 ||
 +
|-
 +
| LP-S5000 || || This printer requires a [[#Avasys|custom driver from Avasys]].
 +
|-
 +
| PM-520 || rowspan="11" | {{AUR|epson-inkjet-printer-escpr2}} ||
 +
|-
 +
| PX-M5080F ||
 +
|-
 +
| PX-M5081F ||
 +
|-
 +
| PX-M680F ||
 +
|-
 +
| PX-M7070FX ||
 +
|-
 +
| PX-M780F ||
 +
|-
 +
| PX-M781F ||
 +
|-
 +
| PX-M884F ||
 +
|-
 +
| PX-S5080 ||
 +
|-
 +
| PX-S7070X ||
 +
|-
 +
| PX-S884 ||
 
|-
 
|-
 
| TX125 || {{AUR|epson-inkjet-printer-n10-nx127}} ||
 
| TX125 || {{AUR|epson-inkjet-printer-n10-nx127}} ||
 
|-
 
|-
| LP-S5000 || || This printer requires a [[#Avasys|custom driver from Avasys]].
+
| WF-3620 || {{AUR|epson-inkjet-printer-escpr}} ||
 +
|-
 +
| WF-3720 || rowspan="8" | {{AUR|epson-inkjet-printer-escpr2}} ||
 +
|-
 +
| WF-4720 ||
 +
|-
 +
| WF-4730 ||
 +
|-
 +
| WF-4740 ||
 +
|-
 +
| WF-7210 ||
 +
|-
 +
| WF-7710 ||
 +
|-
 +
| WF-7720 ||
 +
|-
 +
| WF-C869R ||
 +
|-
 +
| XP-446 || {{AUR|epson-inkjet-printer-escpr}} ||
 +
|-
 +
| XP-5100 || rowspan="4" | {{AUR|epson-inkjet-printer-escpr2}} ||
 +
|-
 +
| XP-6000 ||
 +
|-
 +
| XP-8500 ||
 +
|-
 +
| XP-15000 ||
 
|-
 
|-
 
! Printer
 
! Printer
Line 317: Line 549:
 
"Source" code of the driver is available on the [http://www.avasys.jp avasys website], in Japanese, however it includes a 32 bit binary which will cause problem on 64 bit system.
 
"Source" code of the driver is available on the [http://www.avasys.jp avasys website], in Japanese, however it includes a 32 bit binary which will cause problem on 64 bit system.
  
*[[Install]] the {{Pkg|psutils}}, {{Pkg|bc}}, {{Pkg|libstdc++5}} packages ({{Pkg|lib32-libstdc++5}} on 64bit).
+
*[[Install]] the {{Pkg|psutils}}, {{Pkg|bc}}, {{Pkg|libstdc++5}} packages ({{AUR|lib32-libstdc++5}} on 64bit).
  
 
* Download the source code of the driver.
 
* Download the source code of the driver.
Line 328: Line 560:
 
If you have any problems on a 64 system, some other lib32 libraries may be required. Please adjust this page if that is the case.
 
If you have any problems on a 64 system, some other lib32 libraries may be required. Please adjust this page if that is the case.
  
==FujiXerox==
+
===Adding missing paper sizes===
 +
Some of the PPD files in {{AUR|epson-inkjet-printer-escpr2}} are missing paper size definitions for media that is supported by the printers and the filter. It is relatively straightforward to add the missing media types to the PPD files.
  
{| class="wikitable"
+
To begin, download the PKGBUILD for the {{AUR|epson-inkjet-printer-escpr2}} package, either with an AUR helper or from a snapshot tarball. Once in the directory with the PKGBUILD, download and extract the source of the package by running
! Printer
+
$ makepkg --nobuild
! Driver/filter
+
 
! Notes
+
Change directory to to {{ic|src/epson-inkjet-printer-escpr2-$PKGVER}}. Open the file {{ic|src/optBase.h}} in a text editor for reference.
|-
+
 
| DocuPrint 203A || {{Pkg|hplip}} || Using the '''DocuPrint P8e(hpijs)''' driver, or the Brother driver on FujiXerox's website (see [[#Brother]] for more information on how to install custom Brother drivers).
+
Identify the PPD used by your printer in the {{ic|ppd}} directory. For example, a Workforce 7710 printer uses {{ic|Epson-WF-7710_Series-epson-escpr2-en.ppd}}. Let's call it {{ic|your_ppd_filename}}. Convert the relevant PPD to a PPD compiler source file using the {{ic|ppdi}} utility from the {{Pkg|cups}} package.
|-
+
 
| ? || {{AUR|fxlinuxprint}}{{Broken package link|{{aur-mirror|fxlinuxprint}}}} ||  
+
$ ppdi -o your_ppd_filename.drv ppd/your_ppd_filename.ppd
|-
+
 
! Printer
+
Open the newly-created {{ic|your_ppd_filename.drv}} in a text editor. Identify the section of the file with a lot of lines starting with {{ic|CustomMedia}}. Duplicate one such line to modify. For example:
! Driver/filter
+
 
! Notes
+
CustomMedia "Legal/US Legal" 612.00 1008.00 8.40 8.40 8.40 8.40 "<</PageSize[612.00 1008.00]/ImagingBBox null>>setpagedevice" "<</PageRegion[612.00 1008.00]/ImagingBBox null>>setpagedevice"
|}
+
 
 +
The pair of numbers {{ic|612.00 1008.00}} represents the width and height of the paper in inches, multiplied by 72. Replace all three instances of these numbers with the dimensions of the paper you want to add. For example to add 11"x17" paper, replace the numbers with {{ic|792.00 1224.00}}.
 +
 
 +
The string {{ic|"Legal/US Legal"}} identifies the paper. On the left side of the slash, {{ic|Legal}} is a magic identifier that the filter uses to identify the paper size. Replace it with the one you want to use. Refer to the {{ic|mediaSizeData}} array in {{ic|optBase.h}} for a list of possible values. The string to the right of the slash can be set to any human-readable value.
 +
 
 +
If you want to enable borderless printing for a paper size, prefix the magic identifier string you just found with the letter T. So {{ic|Letter}} would become {{ic|TLetter}}. Additionally, change the four numbers {{ic|8.40 8.40 8.40 8.40}} to {{ic|0.00 0.00 0.00 0.00}}.
 +
 
 +
For example, I was able to add 11x17 paper to the PPD for a Workforce 7710 by adding the following lines:
 +
 
 +
CustomMedia "USB/US B(11x17 in)" 792.00 1224.00 8.40 8.40 8.40 8.40 "<</PageSize[792.00 1224.00]/ImagingBBox null>>setpagedevice" "<</PageRegion[792.00 1224.00]/ImagingBBox null>>setpagedevice"
 +
CustomMedia "TUSB/US B(11x17 in) (Borderless)" 792.00 1224.00 0.00 0.00 0.00 0.00 "<</PageSize[792.00 1224.00]/ImagingBBox null>>setpagedevice" "<</PageRegion[792.00 1224.00]/ImagingBBox null>>setpagedevice"
 +
 
 +
Once you've added your custom size, recompile {{ic|your_ppd_filename.drv}} into a PPD file with ppdc (also from {{Pkg|cups}}):
 +
 
 +
$ ppdc your_ppd_filename.drv
 +
 
 +
This will create a ppd file in the {{ic|ppd}} directory with a file name derived from the {{ic|PCFileName}} parameter in {{ic|your_ppd_filename.drv}}. You can test this file by uploading it to the CUPS web interface, or install it permanently by overwriting the original PPD file and making the package with {{ic|makepkg}}.
 +
 
 +
  
 
==HP==
 
==HP==
  
Most HP printers will use {{Pkg|hplip}}, but some may use {{AUR|hpoj}}.
+
See also [[CUPS/Troubleshooting#HP issues]].
 +
 
 +
Most HP printers will use {{Pkg|hplip}}, but some may use {{AUR|hpoj}}. Some laser printers are also supported by {{AUR|foo2zjs-nightly}}.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 353: Line 606:
 
! Notes
 
! Notes
 
|-
 
|-
| Photosmart 2575 || {{Pkg|hplip}} || Or use the hpijs driver in {{Pkg|foomatic-db}}.
+
| DeskJet 710C || rowspan="8" | {{AUR|pnm2ppa}} ||
 
|-
 
|-
| DeskJet 710C || {{AUR|pnm2ppa}} ||
+
| DeskJet 712C ||
 
|-
 
|-
| DeskJet 712C || {{AUR|pnm2ppa}} ||
+
| DeskJet 720C ||
 
|-
 
|-
| DeskJet 720C || {{AUR|pnm2ppa}} ||
+
| DeskJet 722C ||
 
|-
 
|-
| DeskJet 722C || {{AUR|pnm2ppa}} ||
+
| DeskJet 820se ||
 
|-
 
|-
| DeskJet 820se || {{AUR|pnm2ppa}} ||
+
| DeskJet 820Cxi ||
 
|-
 
|-
| DeskJet 820Cxi || {{AUR|pnm2ppa}} ||
+
| DeskJet 1000Cse ||
 
|-
 
|-
| DeskJet 1000Cse || {{AUR|pnm2ppa}} ||
+
| DeskJet 1000Cxi ||
 
|-
 
|-
| DeskJet 1000Cxi || {{AUR|pnm2ppa}} ||
+
| LaserJet P1606dn || {{pkg|hplip}} + {{aur|hplip-plugin}} || Or {{aur|foo2zjs-nightly}}, or [[CUPS#CUPS|AirPrint]].
 +
|-
 +
| LaserJet Pro MFP M126nw || {{pkg|hplip}} + {{aur|hplip-plugin}} ||
 +
|-
 +
| LaserJet Pro MFP M281fdw || {{pkg|hplip}} || No proprietary drivers as of 2019-04-18
 +
|-
 +
| Photosmart 2575 || {{Pkg|hplip}} || Or use the hpijs driver in [[foomatic]].
 
|-
 
|-
 
! Printer
 
! Printer
Line 376: Line 635:
 
|}
 
|}
  
====== HPLIP Driver ======
+
=== HPLIP ===
 +
{{Note|As of hplip v3.17.11 hpijs is not longer available. If you have printers using hpijs they will fail to print. You must modify them and select the new hpcups driver instead.}}
  
{{pkg|hplip}} provides drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet and some LaserJet printers.
+
{{pkg|hplip}} provides drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet, and some LaserJet printers, and also provides an easy to use setup tool. See https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/index for the list of supported printers.
  
To run with qt frontend:
+
To run the setup tool with the GUI qt frontend:
 
  # hp-setup -u
 
  # hp-setup -u
  
To run with command line:
+
To run the setup tool with the command line frontend:
 
  # hp-setup -i
 
  # hp-setup -i
 +
 +
To set up directly the configuration of a network connected HP printer:
 +
# hp-setup -i ''<ip address>''
  
 
To run systray spool manager:
 
To run systray spool manager:
 
  $ hp-systray
 
  $ hp-systray
 +
 +
To generate a URI for a given ip address:
 +
# hp-makeuri ''<ip address>''
  
 
PPD files are in {{ic|/usr/share/ppd/HP/}}.
 
PPD files are in {{ic|/usr/share/ppd/HP/}}.
  
For printers that require the proprietary HP plugin (like the Laserjet Pro P1102w or 1020), install the {{AUR|hplip-plugin}} package from [[AUR]].
+
If your printer is [https://developers.hp.com/hp-linux-imaging-and-printing/binary_plugin.html listed as requiring a binary plugin], install the {{AUR|hplip-plugin}} package from [[AUR]].
 +
If the binary plugin {{AUR|hplip-plugin}} is a requirement you will need to [[start]] the {{ic|org.cups.cupsd.service}} before the PPD is recognized by {{pkg|hplip}}.
  
 
{{Note|
 
{{Note|
Line 398: Line 665:
 
* '''Or:''' Remove {{Pkg|hplip}}, {{Pkg|foomatic-db}} and {{Pkg|foomatic-db-engine}} along with any unnecessary dependencies. Reinstall {{Pkg|hplip}} and restart CUPS. Install your printer using the CUPS web UI, which should now be able to find the drivers automatically. No reboot needed.}}
 
* '''Or:''' Remove {{Pkg|hplip}}, {{Pkg|foomatic-db}} and {{Pkg|foomatic-db-engine}} along with any unnecessary dependencies. Reinstall {{Pkg|hplip}} and restart CUPS. Install your printer using the CUPS web UI, which should now be able to find the drivers automatically. No reboot needed.}}
  
==Konica==
+
=== foo2zjs ===
 +
 
 +
[http://foo2zjs.rkkda.com/ foo2zjs] supports some HP LaserJet printers. As of June 2018 the hplip package interferes with {{aur|foo2zjs-nightly}}, as described at [https://bbs.archlinux.org/viewtopic.php?pid=1662809 this forum post] and {{Bug|58815}}.
 +
 
 +
==Kodak==
 +
 
 +
{{AUR|c2esp}} is free software. [https://sourceforge.net/projects/cupsdriverkodak/ Upstream notes] it is likely to work on all ESP and Hero printers/scanners.
 +
 
 +
==Konica Minolta==
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 405: Line 680:
 
! Notes
 
! Notes
 
|-
 
|-
| Minolta Magicolor 1600W || {{Pkg|foomatic-db}} ||
+
| Minolta Magicolor 1600W || rowspan=7 | [[foomatic]] ||
 
|-
 
|-
| Minolta Magicolor 1680MF || {{Pkg|foomatic-db}} ||
+
| Minolta Magicolor 1680MF ||
 
|-
 
|-
| Minolta Magicolor 1690MF || {{Pkg|foomatic-db}} ||
+
| Minolta Magicolor 1690MF ||
 
|-
 
|-
| Minolta Magicolor 2480MF || {{Pkg|foomatic-db}} ||
+
| Minolta Magicolor 2480MF ||
 
|-
 
|-
| Minolta Magicolor 2490MF || {{Pkg|foomatic-db}} ||
+
| Minolta Magicolor 2490MF ||
 
|-
 
|-
| Minolta Magicolor 2530DL || {{Pkg|foomatic-db}} ||
+
| Minolta Magicolor 2530DL ||
 
|-
 
|-
| Minolta Magicolor 4690MF || {{Pkg|foomatic-db}} ||
+
| Minolta Magicolor 4690MF ||
 
|-
 
|-
 
! Printer
 
! Printer
Line 423: Line 698:
 
! Notes
 
! Notes
 
|}
 
|}
 +
===foo2zjs===
 +
[[#foo2zjs]], mentioned above for supporting some HP printers, also support some Minolta printers.
 +
==Lexmark==
  
==Lexmark==
+
Note that most Lexmark printers are now supported by CUPS without needing further installation. See also [[SANE/Scanner-specific problems#Lexmark]] for Lexmark scanners issues.
  
 
===Utilities===
 
===Utilities===
  
Lexmark provides a utility called lexijtools with the drivers.
+
Lexmark provides a utility called ''lexijtools'' with the drivers.
  
 
===Custom drivers===
 
===Custom drivers===
Line 485: Line 763:
 
! Notes
 
! Notes
 
|-
 
|-
| C110|| {{Pkg|foomatic-db}} ||
+
| C110|| [[foomatic]] ||
 +
|-
 +
| MC561|| [[CUPS#Foomatic|foomatic-db-nonfree]] ||
 
|-
 
|-
 
! Printer
 
! Printer
Line 492: Line 772:
 
|}
 
|}
  
==Samsung==
+
==Ricoh==
 +
 
 +
Install {{AUR|openprinting-ppds-pxlmono-ricoh}} if your device is black and white, or {{AUR|openprinting-ppds-pxlcolor-ricoh}} if it's color. Note that Ricoh copiers are sometimes branded as Savin, Gestetner, Lanier, Rex-Rotary, Nashuatec, and/or IKON. So, if you have a device bearing one of these brands, it may be supported by these drivers as well.
  
{{Accuracy|All the cnijfilter drivers appear to be for Canon printers - maybe the cnijfilter comment would be better off in the Canon section?}}
+
* [https://www.openprinting.org/driver/pxlmono-Ricoh List of supported black and white models]
 +
* [https://www.openprinting.org/driver/pxlcolor-Ricoh List of supported color models]
  
For printers requiring the ''cnijfilter'' drivers, search for the correct driver [https://aur.archlinux.org/packages.php?K=cnijfilter in the AUR]
+
For winprinters (Ricoh series SP100 and SP200) try out {{AUR|ricoh-sp100-git}}.  
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 503: Line 786:
 
! Notes
 
! Notes
 
|-
 
|-
| ML-2010 || {{Pkg|splix}} ||
+
| SP 112 || {{AUR|ricoh-sp100-git}} ||
 
|-
 
|-
| Newer printers? || {{AUR|samsung-unified-driver}} ||
+
| SP 201n || {{AUR|ricoh-sp100-git}} ||
 +
|-
 +
| 213W || ''Generic PCL Laser'' || Obtain a WPS code by holding down the wifi button for 2 seconds, then hitting the stop/start button.
 
|-
 
|-
 
! Printer
 
! Printer
Line 512: Line 797:
 
|}
 
|}
  
==Xerox==
+
==Samsung==
 +
 
 +
Since 2016, or 2017, Samsung is no longer in the printers/scanners business. As of 2019, HP partially support some of Samsung printers/scanners. Before 2016, Samsung was a major player. Which is why there are still many Samsung machines around. In addition, Linux, and cups, keep evolving. The bottom line of all this is that supporting Samsung products is at a flux.
 +
 
 +
A major site for information about Samsung printers/scanners is [https://www.bchemnet.com/suldr/ Samsung Unified Linux Driver Repository]. Despite its name, it is not affiliated by Samsung. Neither it is devoted only to {{AUR|samsung-unified-driver}}. {{ic|samsung-unified-driver}}, on the other hand, is close source by Samsung. It also encompass Windows and Mac. It might be the first stop to get a driver for a Samsung printer and scanner as it, or was, claim to support practically every one of these. Note that {{ic|samsung-unified-driver}} includes software that can stand on its own, not tied to cups. If you can not get the printer to work with cups, you might try this route.
 +
 
 +
That said, there are more options. An overview is at [https://www.bchemnet.com/suldr/alternatives.html alternatives].
 +
 
 +
* Out of CJX-XXX series, at least CJX-1000, CJX-1050W, and CJX-2000FW are reported to work with {{AUR|c2esp}}, even though {{ic|c2esp}} is supposedly for Kodak products.
 +
* For [http://www.undocprint.org/formats/page_description_languages/spl Samsung Printer Language], there is {{Pkg|splix}}. For a list of models that are supported, see its [http://splix.ap2c.org/ home page]. Other SPL Samsung printers, even tough not in that list, might work with {{ic|splix}}.
 +
* QPDL (Quick Page Description Language) printers, some of which are supported by {{ic|splix}}, are also supported by by {{ic|foo2qpdl}}, provided by the [[#foo2zjs]] package. A list of known to work models is [http://www.foo2qpdl.rkkda.com/ here].
 +
All of {{ic|c2esp}}, {{ic|splix}} and {{ic|foo2zjs}} are free software.
 +
 
 +
You should also note that many Samsung printers support PostScript. Chances are that it will work with CUPS  generic postscript printer, especially if it is only  black & white and only printer, without a scanner added to it. Generic driver may be missing functionality or limited, for example in their support for duplex, color control, and resolution settings, and print quality may be lower.
 +
 
 +
==Xerox or FujiXerox==
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 518: Line 818:
 
! Driver/filter
 
! Driver/filter
 
! Notes
 
! Notes
 +
|-
 +
| DocuPrint 203A || {{Pkg|hplip}} || Using the '''DocuPrint P8e(hpijs)''' driver, or the Brother driver on FujiXerox's website (see [[#Brother]] for more information on how to install custom Brother drivers).
 
|-
 
|-
 
| Phaser 3100MFP || Install Xerox's driver || See [[#Phaser 3100MFP]] for more instructions.
 
| Phaser 3100MFP || Install Xerox's driver || See [[#Phaser 3100MFP]] for more instructions.
 
|-
 
|-
| Phaser 6115MFP || {{Pkg|foomatic-db}} ||
+
| Phaser 6115MFP || [[foomatic]] ||
 
|-
 
|-
| Phaser 6121MFP || {{Pkg|foomatic-db}} ||
+
| Phaser 6121MFP || [[foomatic]] ||
 
|-
 
|-
 
! Printer
 
! Printer
Line 547: Line 849:
 
  # ./XeroxPhaser3100sc.install
 
  # ./XeroxPhaser3100sc.install
 
Again, on an x86_64 install, 32 bit libraries will be needed.
 
Again, on an x86_64 install, 32 bit libraries will be needed.
 +
 +
====Phaser 6000B====
 +
 +
[[Install]] the [https://github.com/aur-archive/xerox-phaser-6010 xerox-phaser-6010] package (archived from the AUR).
 +
The driver may require older versions of {{Pkg|nettle}} and {{Pkg|gnutls}} to be installed, since the binary blob linked against older versions of the shared libraries provided by those packages. The oldest known-good versions are {{ic|nettle-2.7.1-1}} and {{ic|gnutls-3.3.13-1}}.
 +
 +
====Phaser 6125N====
 +
 +
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}
 +
 +
FujiXerox does not support Linux on this model. An old rpm [http://onlinesupport.fujixerox.com/tiles/common/hc_drivers_download.jsp?system=%27Linux%27&shortdesc=null&xcrealpath=http://www.fujixeroxprinters.com/downloads/uploaded/dpc525a_linux_.0.0.tar_81c2.zip is available] but does not seem to work.
 +
 +
A slightly adapted [https://rickvanderzwet.nl/trac/personal/wiki/XeroxPhaser6125N custom driver] has been found to work out of the box.
 +
 +
To install the tarball, run
 +
# tar -C / --keep-newer-files -xvzf cups-xerox-phaser-6125n-1.0.0.tar.gz

Latest revision as of 15:42, 12 October 2019

This article contains printer or manufacturer-specific instructions for CUPS. See OpenPrinting if your printer is not already listed here, or if none of the listed drivers work.

Note: If you add a printer to this list, consider contributing your entry to OpenPrinting - that way users of other distributions will also benefit!

Brother

Printer Driver/filter Notes
DCP-135C brother-dcp135cAUR
DCP-150C brother-dcp150cAUR
DCP-7020 foomatic Or Brother's driver.
DCP-7030 brother-dcp7030AUR Or brlaser-gitAUR
DCP-7065DN brother-dcp7065dnAUR Or brlaser-gitAUR
DCP-J515W brother-dcp-j515wAUR
FAX-2820 brother-cups-wrapper-laserAUR
FAX-2840 brother-fax2840AUR Or foomatic - works mostly with hpijs-pcl5e.ppd. Same as the HL-2170W.
FAX-2940 brother-fax2940AUR
HL-2030 foomatic Or brother-hl2030AUR
HL-2035 foomatic Should be compatible with any drivers for the HL-2030.
HL-2040 foomatic Or brother-hl2040AUR
HL-2130 foomatic (using the HL-2140 driver) Or hplip
HL-2135W brother-brgenml1AUR
HL-2140 foomatic Or brother-hl2140AUR
HL-2170W foomatic Or Brother's driver.
HL-2230 foomatic Same as HL-2170W. Select HL-2170W as the driver in CUPS admin when adding a printer.
HL-2250DN brother-brgenml1AUR brother-hl2250dnAUR is broken?
HL-2270DW brother-hl2270dwAUR
HL-2280DW brother-hl2280dwAUR
HL-3045CN Install Brother's driver.
HL-3140CW brother-hl3140cwAUR Use IPP and Brother's driver to avoid page-shrinking and endless blank printouts
HL-3150CDW brother-hl3150cdwAUR
HL-3170CDW brother-hl3170cdwAUR
HL-4150CDN brother-hl4150cdnAUR
HL-5140 foomatic Or Brother's driver.
HL-5340 foomatic Using the Generic PCL 6/PCL XL Printer - CUPS+Gutenprint (gutenprint and foomatic-db-gutenprint-ppds). Or Brother's driver, which may result in failed prints with postscript errors.
HL-L2300D brother-hll2300dAUR Or brlaser-gitAUR
HL-L2340DW brother-hll2340dwAUR Or brlaser-gitAUR
HL-L2350DW brother-hll2350dwAUR
HL-L2360DN brother-hll2360dAUR Or brlaser-gitAUR
HL-L2360DW brother-hll2360dAUR brlaser-gitAUR should works.
HL-L2365DW brother-hll2360dAUR brlaser-gitAUR should works.
HL-L2380DW brother-hll2380dwAUR
HL-L2395DW brother-hll2395dwAUR Use the socket protocol as described in #Network printers
HL-L5100DN HP LaserJet Foomatic driver This model will emulate a HP LaserJet. Use the lpd protocol as described in #Network printers.
HL-L8360CDW brother-hll8360cdw-cups-binAUR
MFC-420CN brother-mfc-420cnAUR
MFC-440CN brother-mfc-440cnAUR
MFC-7360N brother-mfc7360nAUR Or brlaser-gitAUR
MFC-7460DN Gutenprint Use the Generic PCL 6 Printer wide margin - CUPS+Gutenprint driver, with address ipp://hostname-or-ip/pcl_p1.
MFC-7840W brother-mfc-7840wAUR Or brlaser-gitAUR
MFC-9320CW Install Brother's driver.
MFC-9332CDW brother-mfc-9332cdwAUR
MFC-9840CDW foomatic Or Brother's driver. This printer also works with the generic PCL-6 driver from the gutenprint package. Use pcl_p1 for the printer's address when using the PCL-6 driver.
MFC-J470DW brother-mfc-j470dwAUR Use the ipp protocol as described in #Network printers.
MFC-J4710DW brother-mfc-j4710dwAUR
MFC-J480DW brother-mfc-j480dwAUR Use the ipp protocol as described in #Network printers.
MFC-J5520DW brother-mfc-j5520dwAUR
MFC-J5910DW brother-mfc-j5910dwAUR
MFC-J650DW Install Brother's driver.
MFC-J885DW brother-mfc-j885dwAUR
MFC-J985DW brother-mfc-j985dwAUR
MFC-L2700DW brother-mfc-l2700dwAUR Please look also at the comments section of the AUR package page.
MFC-L8600CDW brother-mfc-l8600cdwAUR Please follow the instructions on the AUR page.
QL-500 brother-ql500AUR
QL-570 brother-ql570AUR
QL-580N brother-ql580nAUR
QL-650TD brother-ql650tdAUR
QL-700 brother-ql700AUR
QL-710W brother-ql710wAUR
QL-720NW brother-ql720nwAUR
QL-1050 brother-ql1050AUR
QL-1050N brother-ql1050nAUR
QL-1060 brother-ql1060nAUR
TD-2020 brother-td2020AUR
TD-2120N brother-td2120nAUR
TD-2130N brother-td2130nAUR
TD-4000 brother-td4000AUR
TD-4100N brother-td4100nAUR
Printer Driver/filter Notes

Network printers

For network printers, use ipp://printer_ip/ipp/port1 as printer address. For some older printers, this might not work. If not, try lpd://printer_ip/BINARY_P1 instead.

Some printers use the socket protocol. For these printers, use socket://printer_ip:9100. For http, use http://printer_ip/POSTSCRIPT_P1.

Custom drivers

Brother provides custom drivers on their website, either in source tarball, rpm, or deb form. Packaging Brother printer drivers covers creating PKGBUILDs from the existing RPM packages.

Note: The source packages might be a better alternative to the rpm packages, provided they contain all the needed files.

Manually installing from the RPM packages

Warning: This should ideally be automated in a PKGBUILD

Install the rpmextract package, and extract both rpm packages using rpmextract.sh. Extracting both files will create a var and a usr directory - move the contents of both directories into the corresponding root directories.

Run the cups wrapper file in /usr/local/Brother/cupswrapper. This should automatically install and configure your brother printer.

For some of the drivers 32 bit libraries may need to be installed from multilib.

Updating the firmware

Install net-snmp and run:

snmpwalk -c public $PRINTER_IP | grep -A 1 3.6.1.4.1.2435.2.4.3.99.3.1.6.1.2

At this point, you will have the relevant data to get a valid firmware download link from Brother. The file should look similar to the one below:

request.xml
 <REQUESTINFO>
    <FIRMUPDATETOOLINFO>
        <FIRMCATEGORY>MAIN</FIRMCATEGORY>
        <OS>LINUX</OS>
        <INSPECTMODE>1</INSPECTMODE>
    </FIRMUPDATETOOLINFO>
 
    <FIRMUPDATEINFO>
        <MODELINFO>
            <SELIALNO></SELIALNO>
            <NAME>MFC-9330CDW</NAME>
            <SPEC>0401</SPEC>
            <DRIVER></DRIVER>
            <FIRMINFO>
                <FIRM>
                    <ID>MAIN</ID>
                    <VERSION>R1506121801:4504</VERSION>
                </FIRM>
                <FIRM>
                    <ID>SUB1</ID>
                    <VERSION>1.07</VERSION>
                </FIRM>
                <FIRM>
                    <ID>SUB2</ID>
                    <VERSION>L1505291600</VERSION>
                </FIRM>
            </FIRMINFO>
        </MODELINFO>
        <DRIVERCNT>1</DRIVERCNT>
        <LOGNO>2</LOGNO>
        <ERRBIT></ERRBIT>
        <NEEDRESPONSE>1</NEEDRESPONSE>
    </FIRMUPDATEINFO>
 </REQUESTINFO>

Post this file to Brother:

curl -X POST -d @request.xml https://firmverup.brother.co.jp/kne_bh7_update_nt_ssl/ifax2.asmx/fileUpdate -H "Content-Type:text/xml" > response.xml

In response.xml you will find a <PATH> tag that contains the firmware download URL. Next, download the firmware, push it to the printer, and let the printer process it. Before that is done, change the Admin password to something known, it will be used as the user to log into the FTP site (VERY bad practice, don't do this).

wget http://update-akamai.brother.co.jp/CS/LZ4266_W.djf
ftp $PRINTER_IP
 bin
 hash
 send LZ4266_W.djf
 bye

With that, the printer will restart, and the latest firmware will be installed and (hopefully) your printing woes will be solved.

Canon

There are many possible drivers for Canon printers. Many Canon printers are supported by Gutenprint. Some of Canon's LBP, iR, and MF printers use a driver supporting the UFR II/UFR II LT/LIPSLX protocols, which is available as cndrvcups-lbAUR or cndrvcups-lb-binAUR. Others use the #CARPS, or #cnijfilter (cnijfilter2AUR / cnijfilter2-binAUR), or Canon CAPT drivers.

Printer Driver/filter Notes
iP4300 Gutenprint Or use the TurboPrint driver.
LBP810 Canon CAPT
LBP1120
LBP1210
LBP2900
LBP3000
LBP3010
LBP3018
LBP3050
LBP3100
LBP3108
LBP3150
LBP3200
LBP3210
LBP3250
LBP3300
LBP3310
LBP3500
LBP5000
LBP5050 series
LBP5100
LBP5300
LBP6000
LBP6018
LBP6020
LBP6200
LBP6300
LBP6300n
LBP6310dn
LBP7010C
LBP7018C
LBP7200Cdn (network mode)
LBP7200C series
LBP7210Cdn
LBP9100C
MF635Cx cndrvcups-lb-binAUR
MF4720w
MF4770n
MG4200 series cnijfilter-mg4200AUR Avoid the web interface when adding the printer as it won't find the PPD file.
MX490 cnijfilter2AUR
cnijfilter2-binAUR
MX492
TS8050 Without cnijfilter2AUR printing will fail with a filter error or you might get "Rendering Completed" and nothing will print
TS9020 canon-ts9020AUR
Printer Driver/filter Notes

Some Canon printers will use a similar setup to the iP4500, so consider modifying the cnijfilter-ip4500AUR package for other, similar printers.

CARPS

Some of Canon's printers use Canon's proprietary CARPS (Canon Advanced Raster Printing System) driver. Rainbow Software have managed to reverse engineer the CARPS data format and have successfully created a CARPS CUPS driver, which is available as carps-cupsAUR. The project's GitHub page includes a list of working printers.

USB over IP (BJNP)

Some Canon printers use Canon's proprietary USB over IP BJNP protocol to communicate over the network. There is a CUPS backend for this, which is available as cups-bjnpAUR.

cnijfilter

Some printers using the cnijfilter drivers support the cnijnet protocol. To find the printer URI run

$ cnijnetprn --search auto

and use the cnijnet:/ URI in the output.

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: The URI appears to be of the form cnijnet:/ followed by the MAC address of the printer. If this is the case it would be good to mention it here. (Discuss in Talk:CUPS/Printer-specific problems#)

Dell

Printer Driver/filter Notes
1250C foo2zjs-nightlyAUR See http://cybercom.net/~dcoffin/hbpl, the patch has been merged into upstream. The printer may also work with the Xerox Phaser 6000B driver.
C1660NW foo2zjs-nightlyAUR The printer may also work with the Xerox Phaser 6000B driver.
E515,

E515dw

Install Dell's driver. Both e515dwcupswrapper-3.2.0-1.i386.deb and e515dwlpr-3.2.0-1.i386.deb need to be installed. You could either write a PKGBUILD, use debtapAUR, or use dpkgAUR (using dpkg is not recommended as the files will not be managed by pacman). The driver works on both the x86_64 and i386 platforms, but may require multilib.
S1130n dell-unified-printer-driverAUR Driver conflicts with samsung-unified-driver-printer (both create rastertospl and libscmssc.so)
1130
1133
1135n
1815
2145cn
2335dn
2355dn
5330
B1160
B1160w
B1165nfw
B1260dn
B1265dfw
B1265dnf
B2365dnf
Printer Driver/filter Notes

Epson

epson-inkjet-printer-escprAUR and epson-inkjet-printer-escpr2AUR are sets of drivers using the Epson Inkjet Printer Driver (ESC/P-R) for Linux.

Printer Driver/filter Notes
AcuLaser CX11(NF) epson-alcx11-filterAUR
AcuLaser C900 This printer uses Epson's driver, with a device URI of 'usb://EPSON/AL-C900', and may need the pipsplus service to be running.
EP-50V epson-inkjet-printer-escpr2AUR
EP-879A
EP-880A
ET-2700 epson-inkjet-printer-escprAUR
ET-2750
ET-3700 epson-inkjet-printer-escpr2AUR
ET-3750
ET-4750
EW-M571T epson-inkjet-printer-escprAUR
EW-M670FT epson-inkjet-printer-escpr2AUR
L380 epson-inkjet-printer-201601wAUR
L382
L4150 epson-inkjet-printer-escprAUR
L4160
L6160 epson-inkjet-printer-escpr2AUR
L6170
L6190
LP-S5000 This printer requires a custom driver from Avasys.
PM-520 epson-inkjet-printer-escpr2AUR
PX-M5080F
PX-M5081F
PX-M680F
PX-M7070FX
PX-M780F
PX-M781F
PX-M884F
PX-S5080
PX-S7070X
PX-S884
TX125 epson-inkjet-printer-n10-nx127AUR
WF-3620 epson-inkjet-printer-escprAUR
WF-3720 epson-inkjet-printer-escpr2AUR
WF-4720
WF-4730
WF-4740
WF-7210
WF-7710
WF-7720
WF-C869R
XP-446 epson-inkjet-printer-escprAUR
XP-5100 epson-inkjet-printer-escpr2AUR
XP-6000
XP-8500
XP-15000
Printer Driver/filter Notes

Utilities

escputil

escputil is part of the gutenprint package, and performs some utility functions on Epson printers such as nozzle cleaning.

mtink

This is a printer status monitor which enables to get the remaining ink quantity, to print test patterns, to reset printer and to clean nozzle. It use an intuitive graphical user interface.

Stylus-toolbox

This is a GUI using escputil and cups drivers. It supports nearly all USB printer of Epson and displays ink quantity, can clean and align print heads and print test patterns.

Custom drivers

Avasys

Warning: This section involves installing packages without pacman. These directions should ideally be automated with a PKGBUILD.

"Source" code of the driver is available on the avasys website, in Japanese, however it includes a 32 bit binary which will cause problem on 64 bit system.

  • Download the source code of the driver.
  • Compile and install the driver.
$ ./configure --prefix=/usr
$ make
# make install

If you have any problems on a 64 system, some other lib32 libraries may be required. Please adjust this page if that is the case.

Adding missing paper sizes

Some of the PPD files in epson-inkjet-printer-escpr2AUR are missing paper size definitions for media that is supported by the printers and the filter. It is relatively straightforward to add the missing media types to the PPD files.

To begin, download the PKGBUILD for the epson-inkjet-printer-escpr2AUR package, either with an AUR helper or from a snapshot tarball. Once in the directory with the PKGBUILD, download and extract the source of the package by running

$ makepkg --nobuild

Change directory to to src/epson-inkjet-printer-escpr2-$PKGVER. Open the file src/optBase.h in a text editor for reference.

Identify the PPD used by your printer in the ppd directory. For example, a Workforce 7710 printer uses Epson-WF-7710_Series-epson-escpr2-en.ppd. Let's call it your_ppd_filename. Convert the relevant PPD to a PPD compiler source file using the ppdi utility from the cups package.

$ ppdi -o your_ppd_filename.drv ppd/your_ppd_filename.ppd

Open the newly-created your_ppd_filename.drv in a text editor. Identify the section of the file with a lot of lines starting with CustomMedia. Duplicate one such line to modify. For example:

CustomMedia "Legal/US Legal" 612.00 1008.00 8.40 8.40 8.40 8.40 "<</PageSize[612.00 1008.00]/ImagingBBox null>>setpagedevice" "<</PageRegion[612.00 1008.00]/ImagingBBox null>>setpagedevice"

The pair of numbers 612.00 1008.00 represents the width and height of the paper in inches, multiplied by 72. Replace all three instances of these numbers with the dimensions of the paper you want to add. For example to add 11"x17" paper, replace the numbers with 792.00 1224.00.

The string "Legal/US Legal" identifies the paper. On the left side of the slash, Legal is a magic identifier that the filter uses to identify the paper size. Replace it with the one you want to use. Refer to the mediaSizeData array in optBase.h for a list of possible values. The string to the right of the slash can be set to any human-readable value.

If you want to enable borderless printing for a paper size, prefix the magic identifier string you just found with the letter T. So Letter would become TLetter. Additionally, change the four numbers 8.40 8.40 8.40 8.40 to 0.00 0.00 0.00 0.00.

For example, I was able to add 11x17 paper to the PPD for a Workforce 7710 by adding the following lines:

CustomMedia "USB/US B(11x17 in)" 792.00 1224.00 8.40 8.40 8.40 8.40 "<</PageSize[792.00 1224.00]/ImagingBBox null>>setpagedevice" "<</PageRegion[792.00 1224.00]/ImagingBBox null>>setpagedevice"
CustomMedia "TUSB/US B(11x17 in) (Borderless)" 792.00 1224.00 0.00 0.00 0.00 0.00 "<</PageSize[792.00 1224.00]/ImagingBBox null>>setpagedevice" "<</PageRegion[792.00 1224.00]/ImagingBBox null>>setpagedevice"

Once you've added your custom size, recompile your_ppd_filename.drv into a PPD file with ppdc (also from cups):

$ ppdc your_ppd_filename.drv

This will create a ppd file in the ppd directory with a file name derived from the PCFileName parameter in your_ppd_filename.drv. You can test this file by uploading it to the CUPS web interface, or install it permanently by overwriting the original PPD file and making the package with makepkg.


HP

See also CUPS/Troubleshooting#HP issues.

Most HP printers will use hplip, but some may use hpojAUR. Some laser printers are also supported by foo2zjs-nightlyAUR.

Printer Driver/filter Notes
DeskJet 710C pnm2ppaAUR
DeskJet 712C
DeskJet 720C
DeskJet 722C
DeskJet 820se
DeskJet 820Cxi
DeskJet 1000Cse
DeskJet 1000Cxi
LaserJet P1606dn hplip + hplip-pluginAUR Or foo2zjs-nightlyAUR, or AirPrint.
LaserJet Pro MFP M126nw hplip + hplip-pluginAUR
LaserJet Pro MFP M281fdw hplip No proprietary drivers as of 2019-04-18
Photosmart 2575 hplip Or use the hpijs driver in foomatic.
Printer Driver/filter Notes

HPLIP

Note: As of hplip v3.17.11 hpijs is not longer available. If you have printers using hpijs they will fail to print. You must modify them and select the new hpcups driver instead.

hplip provides drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet, and some LaserJet printers, and also provides an easy to use setup tool. See https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/index for the list of supported printers.

To run the setup tool with the GUI qt frontend:

# hp-setup -u

To run the setup tool with the command line frontend:

# hp-setup -i

To set up directly the configuration of a network connected HP printer:

# hp-setup -i <ip address>

To run systray spool manager:

$ hp-systray

To generate a URI for a given ip address:

# hp-makeuri <ip address>

PPD files are in /usr/share/ppd/HP/.

If your printer is listed as requiring a binary plugin, install the hplip-pluginAUR package from AUR. If the binary plugin hplip-pluginAUR is a requirement you will need to start the org.cups.cupsd.service before the PPD is recognized by hplip.

Note:

hplip depends on foomatic-db-engine which prevents the drivers list from appearing when a printer is added to CUPS via the web user interface (following error : "Unable to get list of printer drivers"). Possible workarounds:

  • Either: Install hplip first, then retrieve the PPD file that matches your printer from /usr/share/ppd/HP/. Next, remove hplip entirely as well as any unnecessary dependencies. Finally, install the printer manually using the CUPS web UI, selecting the PPD file you retrieved, and then re-install hplip. After a reboot, you should have a fully working printer.
  • Or: Remove hplip, foomatic-db and foomatic-db-engine along with any unnecessary dependencies. Reinstall hplip and restart CUPS. Install your printer using the CUPS web UI, which should now be able to find the drivers automatically. No reboot needed.

foo2zjs

foo2zjs supports some HP LaserJet printers. As of June 2018 the hplip package interferes with foo2zjs-nightlyAUR, as described at this forum post and FS#58815.

Kodak

c2espAUR is free software. Upstream notes it is likely to work on all ESP and Hero printers/scanners.

Konica Minolta

Printer Driver/filter Notes
Minolta Magicolor 1600W foomatic
Minolta Magicolor 1680MF
Minolta Magicolor 1690MF
Minolta Magicolor 2480MF
Minolta Magicolor 2490MF
Minolta Magicolor 2530DL
Minolta Magicolor 4690MF
Printer Driver/filter Notes

foo2zjs

#foo2zjs, mentioned above for supporting some HP printers, also support some Minolta printers.

Lexmark

Note that most Lexmark printers are now supported by CUPS without needing further installation. See also SANE/Scanner-specific problems#Lexmark for Lexmark scanners issues.

Utilities

Lexmark provides a utility called lexijtools with the drivers.

Custom drivers

Lexmark does provide Linux drivers for all their hardware. The following packages are required:

The drivers will need to be downloaded from Lexmark's website. Preferably, create a package (see Creating packages) and install it. Here is a basic PKGBUILD that still needs work but will give an idea of what is required.

PKGBUILD
# Contributor: Todd Partridge (Gen2ly) toddrpartridge (at) yahoo

pkgname=cups-lexmark-Z2300-2600
pkgver=1
pkgrel=1
pkgdesc="Lexmark Z2300 and 2600 Series printer driver for cups"
arch=('i686')
url="http://www.lexmark.com/"
license=('custom')
depends=('cups' 'glibc' 'ncurses' 'libusb' 'libxext' 'libxtst' 'libxi' 'libstdc++5' 'krb5' 'lua' 'java-runtime')
conflicts=('z600' 'cjlz35le-cups' 'cups-lexmark-700')
source=(lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh)
md5sums=(3c37eb87e3dad4853bf29344f9695134)


package() {
  # Extract installer
  sh lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh --target Installer-Files
  cd Installer-Files
  mkdir Driver
  tar xvvf instarchive_all --lzma -C Driver/
  cd Driver
  tar xv lexmark-inkjet-08-driver-1.0-1.i386.tar.gz -C $pkgdir
}

Keep in mind you can use the automated installer but doing so will leave the resulting changes untracked. The PPD will be installed into /usr/local/lexmark/lxk08/etc/ or similar, depending on the printer model.

Oki

Printer Driver/filter Notes
C110 foomatic
MC561 foomatic-db-nonfree
Printer Driver/filter Notes

Ricoh

Install openprinting-ppds-pxlmono-ricohAUR if your device is black and white, or openprinting-ppds-pxlcolor-ricohAUR if it's color. Note that Ricoh copiers are sometimes branded as Savin, Gestetner, Lanier, Rex-Rotary, Nashuatec, and/or IKON. So, if you have a device bearing one of these brands, it may be supported by these drivers as well.

For winprinters (Ricoh series SP100 and SP200) try out ricoh-sp100-gitAUR.

Printer Driver/filter Notes
SP 112 ricoh-sp100-gitAUR
SP 201n ricoh-sp100-gitAUR
213W Generic PCL Laser Obtain a WPS code by holding down the wifi button for 2 seconds, then hitting the stop/start button.
Printer Driver/filter Notes

Samsung

Since 2016, or 2017, Samsung is no longer in the printers/scanners business. As of 2019, HP partially support some of Samsung printers/scanners. Before 2016, Samsung was a major player. Which is why there are still many Samsung machines around. In addition, Linux, and cups, keep evolving. The bottom line of all this is that supporting Samsung products is at a flux.

A major site for information about Samsung printers/scanners is Samsung Unified Linux Driver Repository. Despite its name, it is not affiliated by Samsung. Neither it is devoted only to samsung-unified-driverAUR. samsung-unified-driver, on the other hand, is close source by Samsung. It also encompass Windows and Mac. It might be the first stop to get a driver for a Samsung printer and scanner as it, or was, claim to support practically every one of these. Note that samsung-unified-driver includes software that can stand on its own, not tied to cups. If you can not get the printer to work with cups, you might try this route.

That said, there are more options. An overview is at alternatives.

  • Out of CJX-XXX series, at least CJX-1000, CJX-1050W, and CJX-2000FW are reported to work with c2espAUR, even though c2esp is supposedly for Kodak products.
  • For Samsung Printer Language, there is splix. For a list of models that are supported, see its home page. Other SPL Samsung printers, even tough not in that list, might work with splix.
  • QPDL (Quick Page Description Language) printers, some of which are supported by splix, are also supported by by foo2qpdl, provided by the #foo2zjs package. A list of known to work models is here.

All of c2esp, splix and foo2zjs are free software.

You should also note that many Samsung printers support PostScript. Chances are that it will work with CUPS generic postscript printer, especially if it is only black & white and only printer, without a scanner added to it. Generic driver may be missing functionality or limited, for example in their support for duplex, color control, and resolution settings, and print quality may be lower.

Xerox or FujiXerox

Printer Driver/filter Notes
DocuPrint 203A hplip Using the DocuPrint P8e(hpijs) driver, or the Brother driver on FujiXerox's website (see #Brother for more information on how to install custom Brother drivers).
Phaser 3100MFP Install Xerox's driver See #Phaser 3100MFP for more instructions.
Phaser 6115MFP foomatic
Phaser 6121MFP foomatic
Printer Driver/filter Notes

Custom drivers

Phaser 3100MFP

Warning: This section involves installing packages without pacman. These directions should ideally be automated with a PKGBUILD.

Once you have downloaded the drivers, execute the driver installer and accept the licence:

# cd printer
# ./XeroxPhaser3100.install

Note that the driver is 32 bit, so some 32 bit libraries will be required on an x86_64 system.

For the scanner, create an /etc/sane.d directory if it doesn't already exist, because it's need by the installer:

# mkdir -p /etc/sane.d

Now install the driver:

# cd scanner/
# ./XeroxPhaser3100sc.install

Again, on an x86_64 install, 32 bit libraries will be needed.

Phaser 6000B

Install the xerox-phaser-6010 package (archived from the AUR). The driver may require older versions of nettle and gnutls to be installed, since the binary blob linked against older versions of the shared libraries provided by those packages. The oldest known-good versions are nettle-2.7.1-1 and gnutls-3.3.13-1.

Phaser 6125N

Warning: This section involves installing packages without pacman. These directions should ideally be automated with a PKGBUILD.

FujiXerox does not support Linux on this model. An old rpm is available but does not seem to work.

A slightly adapted custom driver has been found to work out of the box.

To install the tarball, run

# tar -C / --keep-newer-files -xvzf cups-xerox-phaser-6125n-1.0.0.tar.gz