[Samba] Printing from Windows is printing PS commands instead of job!

Jay Mallar jay at jaymallar.com
Sun Jan 16 01:54:36 GMT 2005


I've about run out of ideas and need some help.

I have an HP OfficeJet 7110 installed on my Fedora Core 3 box.  From 
Linux, it prints perfectly, the Test Page works, I can print from 
Mozilla/Thunderbird/Firefox, KDE applications, and even Emacs, all 
without any issues whatsoever.

The problem is I can't seem to get it to work when I share the printer 
to Windows.  I've shared it to both a Windows 2000 and Windows XP box 
with the same results:

Everything I send to the printer from Windows is printed as PS commands 
instead of the actual output.

Yes, I'm using the Adobe PS drivers, but the Postscript Imager driver in 
Windows XP does the same thing.

I have debugging turned on in CUPS and I believe the problem whilttles 
down to this line:

    D [15/Jan/2005:18:06:01 -0600] StartJob: 
envp[9]="CONTENT_TYPE=application/vnd.cups-raw"

So, CUPS is thinking this is raw output - no wonder it's not filtering 
it appropriately.

What I can't seem to figure out is, why?   Why isn't CUPS seeing the job 
as a PS job?  I've looked at the file itself and it seems to look okay:

    %!PS-Adobe-3.0
    %%Title: README - Notepad
    %%Creator: PScript5.dll Version 5.2.2

And according to my mime.types, it should be recognizing that as a PS job:

    application/postscript        ai eps ps string(0,%!) string(0,<04>%!) \
                contains(0,128,<1B>%-12345X) + \
                (contains(0,1024,"LANGUAGE=POSTSCRIPT") \
                 contains(0,1024,"LANGUAGE = Postscript") \
                 contains(0,1024,"LANGUAGE = PostScript") \
                 contains(0,1024,"LANGUAGE = POSTSCRIPT"))

What in blazes is the problem?  If you need more info, just ask - I'll 
send you anything you think will help.
 
For starters, here's my CUPS configuration files:
LogFilePerm 0600
MaxLogSize 2000000000
LogLevel debug
Printcap /etc/printcap

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

<Location /admin>
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

<Location /printers/officejet-7100-series-1>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
AuthType None
</Location>

<Location /printers/usblp0>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
AuthType None
</Location>

Browsing On
BrowseProtocols cups
BrowseOrder Deny,Allow
BrowseAllow from @LOCAL
Listen 127.0.0.1:631


And my mime.types:

LogFilePerm 0600
MaxLogSize 2000000000
LogLevel debug
Printcap /etc/printcap

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

<Location /admin>
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

<Location /printers/officejet-7100-series-1>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
AuthType None
</Location>

<Location /printers/usblp0>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
AuthType None
</Location>

Browsing On
BrowseProtocols cups
BrowseOrder Deny,Allow
BrowseAllow from @LOCAL
Listen 127.0.0.1:631



And my mime.convs:
LogFilePerm 0600
MaxLogSize 2000000000
LogLevel debug
Printcap /etc/printcap

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

<Location /admin>
AuthType Basic
AuthClass System
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

<Location /printers/officejet-7100-series-1>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
AuthType None
</Location>

<Location /printers/usblp0>
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
AuthType None
</Location>

Browsing On
BrowseProtocols cups
BrowseOrder Deny,Allow
BrowseAllow from @LOCAL
Listen 127.0.0.1:631




And here's the output from my last job:
D [15/Jan/2005:19:27:20 -0600] AcceptClient: 9 from localhost:631.
D [15/Jan/2005:19:27:20 -0600] ReadClient: 9 POST / HTTP/1.1
D [15/Jan/2005:19:27:20 -0600] ProcessIPPRequest: 9 status_code=0
D [15/Jan/2005:19:27:20 -0600] CloseClient: 9
D [15/Jan/2005:19:27:20 -0600] AcceptClient: 9 from localhost:631.
D [15/Jan/2005:19:27:20 -0600] ReadClient: 9 POST /printers/HPOJ7110 
HTTP/1.1
D [15/Jan/2005:19:27:20 -0600] print_job: request file type is 
application/vnd.cups-raw.
D [15/Jan/2005:19:27:20 -0600] check_quotas: requesting-user-name = 'jay'
D [15/Jan/2005:19:27:20 -0600] print_job: requesting-user-name = 'jay'
D [15/Jan/2005:19:27:20 -0600] Adding default job-sheets values 
"none,none"...
I [15/Jan/2005:19:27:20 -0600] Adding start banner page "none" to job 61.
I [15/Jan/2005:19:27:20 -0600] Adding end banner page "none" to job 61.
I [15/Jan/2005:19:27:20 -0600] Job 61 queued on 'HPOJ7110' by 'jay'.
D [15/Jan/2005:19:27:20 -0600] Job 61 hold_until = 0
D [15/Jan/2005:19:27:20 -0600] StartJob(61, 0xf7010a80)
D [15/Jan/2005:19:27:20 -0600] StartJob() id = 61, file = 0/1
D [15/Jan/2005:19:27:20 -0600] job-sheets=none,none
D [15/Jan/2005:19:27:20 -0600] banner_page = 0
D [15/Jan/2005:19:27:20 -0600] StartJob: argv = 
"HPOJ7110","61","jay","smbprn.00000055 Test 
Page","1","","/var/spool/cups/d00061-001"
D [15/Jan/2005:19:27:20 -0600] StartJob: 
envp[0]="PATH=/usr/lib/cups/filter:/bin:/usr/bin"
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[1]="SOFTWARE=CUPS/1.1"
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[2]="USER=root"
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[3]="CHARSET=utf-8"
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[4]="LANG=en_US"
D [15/Jan/2005:19:27:20 -0600] StartJob: 
envp[5]="PPD=/etc/cups/ppd/HPOJ7110.ppd"
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[6]="CUPS_SERVERROOT=/etc/cups"
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[7]="RIP_MAX_CACHE=8m"
D [15/Jan/2005:19:27:20 -0600] StartJob: 
envp[8]="TMPDIR=/var/spool/cups/tmp"
D [15/Jan/2005:19:27:20 -0600] StartJob: 
envp[9]="CONTENT_TYPE=application/vnd.cups-raw"
D [15/Jan/2005:19:27:20 -0600] StartJob: 
envp[10]="DEVICE_URI=usb://Hewlett-Packard/officejet%207100%20series?serial=MY3C3F10GM6G"
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[11]="PRINTER=HPOJ7110"
D [15/Jan/2005:19:27:20 -0600] StartJob: 
envp[12]="CUPS_DATADIR=/usr/share/cups"
D [15/Jan/2005:19:27:20 -0600] StartJob: 
envp[13]="CUPS_FONTPATH=/usr/share/cups/fonts"
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[14]="CUPS_SERVER=localhost"
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[15]="IPP_PORT=631"
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[16]="LD_LIBRARY_PATH="
D [15/Jan/2005:19:27:20 -0600] StartJob: envp[17]="SHLIB_PATH="
D [15/Jan/2005:19:27:20 -0600] StartJob: statusfds = [ 10 11 ]
D [15/Jan/2005:19:27:20 -0600] StartJob: filterfds[1] = [ 12 -1 ]
D [15/Jan/2005:19:27:20 -0600] StartJob: backend = 
"/usr/lib/cups/backend/usb"
D [15/Jan/2005:19:27:20 -0600] StartJob: filterfds[0] = [ -1 13 ]
D [15/Jan/2005:19:27:20 -0600] 
start_process("/usr/lib/cups/backend/usb", 0xfefee5c0, 0xfefed930, 12, 
13, 11)
I [15/Jan/2005:19:27:20 -0600] Started backend /usr/lib/cups/backend/usb 
(PID 4459) for job 61.
D [15/Jan/2005:19:27:20 -0600] ProcessIPPRequest: 9 status_code=0
D [15/Jan/2005:19:27:20 -0600] CloseClient: 9
D [15/Jan/2005:19:27:20 -0600] [Job 61] Printer using device file 
"/dev/usb/lp0"...
D [15/Jan/2005:19:27:20 -0600] [Job 61] LPGETSTATUS returned a port 
status of 18...


Thanks
Jay


More information about the samba mailing list