How to print file with the PCL escape sequences

cupsprinting

I have CUPS and use a program that produces the raw PCL format of the document I want to print.

I have no problem printing a plain text file as lp filename but when I give a file that has PCL or ESC/P escape sequences in it, I'll get immediately a completed status for this new print job – no printer reaction. The same happens when trying with each of the followings:

lpr -l filename
lp -o raw filename
lp -o document-format=application/octet-stream filename
lp -o document-format=application/octet-raw filename
lp -o document-format=application/octet-raster filename

Couldn't find in the man nor in cups documentation the way to print a file with filter/driver type defined (send direct pcl or esc/p) in the printing command.

Tried to print with two HP printers DeskJet 640C and D2460.

Portion from my printers.conf that I think can be relevant:

...
Type
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-raster 100 rastertogutenprint.5.2
Accepting Yes
...
ErrorPolicy stop-printer
...

Portion from my D2460 printers ppd file that I think can be relevant:

...
*TTRasterizer: Type42
...
*hpPrinterLanguage: "lidil"
*hpPrinterPlatform: "dj3600"
...
*cupsFilter: "application/vnd.cups-raster 0 hpcups"
...

In your comments please ask for other options to display from the config files if you find it to be relevant to this problem.

My logs after issuing lp -o raw filename in access_log:

localhost - - [date] "POST /printers/printername HTTP/1.1" 200 390 Create-Job successful-ok
localhost - - [date] "POST /printers/printername HTTP/1.1" 200 1894 Send-Document successful-ok

In error_log:

D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: skipping getpeercon()
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: 13 from localhost (Domain)
D [04/Dec/2013:10:48:51 +0200] Report: clients=4
D [04/Dec/2013:10:48:51 +0200] Report: jobs=59
D [04/Dec/2013:10:48:51 +0200] Report: jobs-active=1
D [04/Dec/2013:10:48:51 +0200] Report: printers=2
D [04/Dec/2013:10:48:51 +0200] Report: printers-implicit=0
D [04/Dec/2013:10:48:51 +0200] Report: stringpool-string-count=4354
D [04/Dec/2013:10:48:51 +0200] Report: stringpool-alloc-bytes=8592
D [04/Dec/2013:10:48:51 +0200] Report: stringpool-total-bytes=90176
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 1.1 CUPS-Get-Default 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Default
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Default (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Not busy
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 POST /printers/ujhp HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 1.1 Create-Job 1
D [04/Dec/2013:10:48:51 +0200] Create-Job ipp://localhost:631/printers/ujhp
D [04/Dec/2013:10:48:51 +0200] add_job: setting context of job to UNKNOWN SL
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(----J-)
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] add_job: requesting-user-name="root"
I [04/Dec/2013:10:48:51 +0200] [Job 80] Adding start banner page "none".
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(-----S)
I [04/Dec/2013:10:48:51 +0200] [Job 80] Queued on "ujhp" by "root".
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Create-Job (ipp://localhost:631/printers/ujhp) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 POST /printers/ujhp HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 1.1 Send-Document 1
D [04/Dec/2013:10:48:51 +0200] Send-Document ipp://localhost:631/printers/ujhp
D [04/Dec/2013:10:48:51 +0200] cupsdIsAuthorized: requesting-user-name="root"
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(----J-)
I [04/Dec/2013:10:48:51 +0200] [Job 80] File of type application/vnd.cups-raw queued by "root".
I [04/Dec/2013:10:48:51 +0200] [Job 80] Adding end banner page "none".
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(----J-)
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(----J-)
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients, printing jobs, and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(-----S)
D [04/Dec/2013:10:48:51 +0200] [Job 80] job-sheets=none,none
D [04/Dec/2013:10:48:51 +0200] [Job 80] argv[0]="ujhp"
D [04/Dec/2013:10:48:51 +0200] [Job 80] argv[1]="80"
D [04/Dec/2013:10:48:51 +0200] [Job 80] argv[2]="root"
D [04/Dec/2013:10:48:51 +0200] [Job 80] argv[3]="filename"
D [04/Dec/2013:10:48:51 +0200] [Job 80] argv[4]="1"
D [04/Dec/2013:10:48:51 +0200] [Job 80] argv[5]="finishings=3 media=iso_a4_210x297mm number-up=1 scaling=98 job-uuid=urn:uuid:59dd158c-9473-30a3-478c-0202bcbcb78b job-originating-host-name=localhost"
D [04/Dec/2013:10:48:51 +0200] [Job 80] argv[6]="/var/spool/cups/d00080-001"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[1]="CUPS_DATADIR=/usr/share/cups"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[2]="CUPS_DOCROOT=/usr/share/cups/www"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[3]="CUPS_FONTPATH=/usr/share/cups/fonts"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[4]="CUPS_REQUESTROOT=/var/spool/cups"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[5]="CUPS_SERVERBIN=/usr/lib/cups"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[6]="CUPS_SERVERROOT=/etc/cups"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[7]="CUPS_STATEDIR=/var/run/cups"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[8]="HOME=/var/spool/cups/tmp"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[9]="PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[10]="SERVER_ADMIN=root@serverlinux.hamorhq.ro"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[11]="SOFTWARE=CUPS/1.4.2"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[12]="TMPDIR=/var/spool/cups/tmp"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[13]="USER=root"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[14]="CUPS_SERVER=/var/run/cups/cups.sock"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[15]="CUPS_ENCRYPTION=IfRequested"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[16]="IPP_PORT=631"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[17]="CHARSET=utf-8"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[18]="LANG=en_US.UTF-8"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[19]="PPD=/etc/cups/ppd/ujhp.ppd"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[20]="RIP_MAX_CACHE=128m"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[21]="CONTENT_TYPE=application/vnd.cups-raw"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[22]="DEVICE_URI=usb://HP/Deskjet%20D2400%20series?serial=TH7BE541VR04Y7"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[23]="PRINTER_INFO=HP Deskjet D2400 series"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[24]="PRINTER_LOCATION=serverlinux.hamorhq.ro"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[25]="PRINTER=ujhp"
D [04/Dec/2013:10:48:51 +0200] [Job 80] envp[26]="CUPS_FILETYPE=document"
I [04/Dec/2013:10:48:51 +0200] [Job 80] Started backend /usr/lib/cups/backend/usb (PID 4967)
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(-----S)
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Send-Document (ipp://localhost:631/printers/ujhp) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Printing jobs and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 WAITING Closing on EOF
D [04/Dec/2013:10:48:51 +0200] cupsdCloseClient: 13
D [04/Dec/2013:10:48:51 +0200] [Job 80] STATE: +connecting-to-device
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(-----S)
D [04/Dec/2013:10:48:51 +0200] [Job 80] Printer using device file "/dev/usblp0"...
D [04/Dec/2013:10:48:51 +0200] [Job 80] STATE: -connecting-to-device
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(-----S)
D [04/Dec/2013:10:48:51 +0200] [Job 80] PAGE: 1 1
D [04/Dec/2013:10:48:51 +0200] Discarding unused job-progress event...
D [04/Dec/2013:10:48:51 +0200] [Job 80] backendRunLoop(print_fd=5, device_fd=6, snmp_fd=-1, addr=(nil), use_bc=1, side_cb=0x4425d0)
D [04/Dec/2013:10:48:51 +0200] [Job 80] Read 1635 bytes of print data...
D [04/Dec/2013:10:48:51 +0200] [Job 80] STATE: -media-empty-warning
D [04/Dec/2013:10:48:51 +0200] [Job 80] STATE: -offline-report
I [04/Dec/2013:10:48:51 +0200] [Job 80] Printer is now online.
D [04/Dec/2013:10:48:51 +0200] [Job 80] Wrote 1635 bytes of print data...
I [04/Dec/2013:10:48:51 +0200] [Job 80] Sent print file, 1635 bytes...
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(-----S)
D [04/Dec/2013:10:48:51 +0200] Discarding unused job-progress event...
D [04/Dec/2013:10:48:51 +0200] PID 4967 (/usr/lib/cups/backend/usb) exited with no errors.
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(-----S)
I [04/Dec/2013:10:48:51 +0200] [Job 80] Job completed.
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(----J-)
D [04/Dec/2013:10:48:51 +0200] cupsdMarkDirty(-----S)
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: skipping getpeercon()
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: 13 from localhost (Domain)
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: skipping getpeercon()
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: 15 from localhost:631 (IPv6)
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: skipping getpeercon()
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: 18 from localhost:631 (IPv6)
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 15 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 18 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 1.1 Get-Notifications 1
D [04/Dec/2013:10:48:51 +0200] Get-Notifications /
D [04/Dec/2013:10:48:51 +0200] cupsdIsAuthorized: requesting-user-name="z-laszlo"
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Notifications (/) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 15 1.1 Get-Jobs 1
D [04/Dec/2013:10:48:51 +0200] Get-Jobs ipp://localhost/printers/
D [04/Dec/2013:10:48:51 +0200] [Job 75] Loading attributes...
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Jobs (ipp://localhost/printers/) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 18 1.1 Get-Jobs 1
D [04/Dec/2013:10:48:51 +0200] Get-Jobs ipp://localhost/printers/
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Jobs (ipp://localhost/printers/) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 15 WAITING Closing on EOF
D [04/Dec/2013:10:48:51 +0200] cupsdCloseClient: 15
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 18 WAITING Closing on EOF
D [04/Dec/2013:10:48:51 +0200] cupsdCloseClient: 18
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: skipping getpeercon()
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: 15 from localhost:631 (IPv6)
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 15 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 15 1.1 Get-Notifications 1
D [04/Dec/2013:10:48:51 +0200] Get-Notifications /
D [04/Dec/2013:10:48:51 +0200] cupsdIsAuthorized: requesting-user-name="root"
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Notifications (/) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 15 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 15 1.1 Get-Job-Attributes 1
D [04/Dec/2013:10:48:51 +0200] Get-Job-Attributes ipp://localhost/jobs/80
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Job-Attributes (ipp://localhost/jobs/80) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 WAITING Closing on EOF
D [04/Dec/2013:10:48:51 +0200] cupsdCloseClient: 13
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: skipping getpeercon()
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: 13 from localhost (Domain)
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 1.1 Get-Notifications 1
D [04/Dec/2013:10:48:51 +0200] Get-Notifications /
D [04/Dec/2013:10:48:51 +0200] cupsdIsAuthorized: requesting-user-name="z-laszlo"
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Notifications (/) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 1.1 Get-Job-Attributes 1
D [04/Dec/2013:10:48:51 +0200] Get-Job-Attributes ipp://localhost/jobs/80
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Job-Attributes (ipp://localhost/jobs/80) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: skipping getpeercon()
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: 18 from localhost (Domain)
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 21 WAITING Closing on EOF
D [04/Dec/2013:10:48:51 +0200] cupsdCloseClient: 21
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 18 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 18 1.1 Get-Printer-Attributes 1
D [04/Dec/2013:10:48:51 +0200] Get-Printer-Attributes ipp://serverlinux.hamorhq.ro:0/printers/ujhp
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Printer-Attributes (ipp://serverlinux.hamorhq.ro:0/printers/ujhp) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 18 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 18 1.1 Get-Job-Attributes 1
D [04/Dec/2013:10:48:51 +0200] Get-Job-Attributes ipp://localhost/jobs/80
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Job-Attributes (ipp://localhost/jobs/80) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 WAITING Closing on EOF
D [04/Dec/2013:10:48:51 +0200] cupsdCloseClient: 13
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: skipping getpeercon()
D [04/Dec/2013:10:48:51 +0200] cupsdAcceptClient: 13 from localhost:631 (IPv6)
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 1.1 Get-Printer-Attributes 1
D [04/Dec/2013:10:48:51 +0200] Get-Printer-Attributes ipp://serverlinux.hamorhq.ro:0/printers/ujhp
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Printer-Attributes (ipp://serverlinux.hamorhq.ro:0/printers/ujhp) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 13 1.1 Get-Job-Attributes 1
D [04/Dec/2013:10:48:51 +0200] Get-Job-Attributes ipp://localhost/jobs/80
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for Get-Job-Attributes (ipp://localhost/jobs/80) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Printers 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Printers
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Printers (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Classes 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Classes
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Classes (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Default 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Default
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Default (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 15 WAITING Closing on EOF
D [04/Dec/2013:10:48:51 +0200] cupsdCloseClient: 15
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Printers 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Printers
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Printers (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Classes 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Classes
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Classes (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Default 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Default
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Default (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Printers 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Printers
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Printers (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Classes 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Classes
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Classes (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Default 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Default
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Default (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Printers 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Printers
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Printers (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Classes 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Classes
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Classes (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Default 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Default
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Default (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Printers 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Printers
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Printers (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Classes 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Classes
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Classes (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 POST / HTTP/1.1
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Active clients and dirty files
D [04/Dec/2013:10:48:51 +0200] cupsdAuthorize: No authentication data provided.
D [04/Dec/2013:10:48:51 +0200] cupsdReadClient: 19 1.1 CUPS-Get-Default 1
D [04/Dec/2013:10:48:51 +0200] CUPS-Get-Default
D [04/Dec/2013:10:48:51 +0200] Returning IPP successful-ok for CUPS-Get-Default (no URI) from localhost
D [04/Dec/2013:10:48:51 +0200] cupsdSetBusyState: Dirty files

There are two threads in this question's comment that refer to a ghostscript converter script for PCL to PS but I saw that this solution has license limitations and I would prefer a more direct/native approach, solution by configuring cups and a little scripting or free script/application to disable the filtering of cups for PCL and/or convert PCL (and ESC/P) to PDF (as I understood PDF is the way for cups now).

Best Answer

To print a PCL code directly without filtering with cups these commands should be used and have to work:

lpr -l filename
lp -o raw filename

I prefer this method over converting it to PDF but a totally free script/technique would be interesting to know of. I didn't found one myself. Comments referring to this are welcomed.


My story is somewhat ridiculous: I started with an old HP printer mentioned in my question (DeskJet 640C that is out of ink) then turned over to a newer one (D2460) assuming that it is HP, has to know PCL. This assumption of mine was wrong, the printer did not understood the PCL codes and returned a job completed right away. After reading a bunch of documentations I got the idea that the commands I try should work so went back to the old printer. There were small problems with the code that made it harder to recognize the problem (old printer started to move only for the second command), but it moved - Hurray! :)

Related Question