[Samba] Samba can't spool to CUPS. Data not sent to printer

Peter sw98234 at hotmail.com
Wed Nov 1 01:38:20 GMT 2006


I waited three days to post this while googling, reading, testing. I can't
figure this out, so am hoping someone here has had a similar problem and
can recommend a solution.

System and versions:
Kernel 2.6.17.13
Slackware-11
Sambe 3.0.23c
CUPS 1.2.4
Printer HP Photosmart 7550 on usb.
Samba guest account=ftp (I read that the account nobody can cause trouble).

$ lpstat -s
system default destination: Brother
device for Brother: smb://pc/Brother (printing from linux box to WXP works)
device for HPPhoto: usb://hp/photosmart%207550?serial=CN2CG410HV7E

Cups configured this printer fine, and files -- both graphical and text --
print perfectly from the local machine on which it was installed.
Curiously, the only thing which does not print locally is the test page,
but I think that has something to do with borders and margins.

Samba is configured simply as a share server so our local Windows PCs can
share common directories. Since this is a closed network, security is not
a priority (I can hear all the sysadmins groaning...but I don't feel
threatened by my wife and kids!).

Installation of the printer drivers on the satellite PCs worked fine (all
with XP SP2 and latest updates), and the PCs can all see and use the
printer. They can even print to the printer without an error.
Unfortunately, after the printer spins up and feeds in a page, it stops.
Then after around a minute an error is displayed on the printer saying
that data was not received. Pressing OK on the printer spits out one line
of garbage. FWIW file sharing and access work as expected with guest
permissions provided the dirs have proper write permissions.

I have enabled the raw setting in Cups Options, and looking at the cups
log it indeed is processing the job as intended. However, the data never
seems to get to cups.

Cups spools the job but I can't see any files in /var/spool/cups/tmp to
check.

I have /var/spool/samba world writable. I also did the same with
...spool/cups. I tried changing the mime* files in /etc/cups to permit raw
printing, but reading the latest samba conf file, this is not really
necessary anymore. Indeed, whether raw printing was permitted as a mime
type or not made no difference.

I need help to debug this. Is there a way to preserve the spooled data so
I can analyze it? Is there a way to see if there is some other permissions
problem?

[global]
	security = SHARE
	guest account = ftp
	log level = 3
	printcap name = cups (printing is cups by default and not shown)
	disable spoolss = Yes (this was suggested but makes no diff)
	ldap ssl = no
	hosts allow = 192.168.2., 172.16.27. (local networks)

[HPPhoto]
	comment = HP Photosmart via CUPS
	path = /var/spool/samba
	guest ok = Yes
	printable = Yes
	cups options = raw
	use client driver = Yes

The cupsd.conf file is the default since the doc said that if only the
local machine is accessing cups, then it does not need to be browasable or
shareable. Like I say, cups starts a job. It just doesn't print anything!

I am pretty sure the problem lies with Samba, but I must be missing what
and why!

There are three things I would like to accomplish.
1) Obviously allow for remote printing
2) Preserve spooled print file sent from client to Samba
3) Preserve spooled print file sent from Samba to Cups

Thanks very much.

In case this is useful, here is a snippet from the cups
error_log which shows the beginning of a print job. Nowhere
is there an error saying the job did not conclude! As you can
see, it is processing the raw mimetype as desired. Also, you
can see that the user = root which means permissions should
not be a problem and that samba was properly communicating
to cups.

[Job 44] argv[0]="HPPhoto"
[Job 44] argv[1]="44"
[Job 44] argv[2]="ftp"
[Job 44] argv[3]="smbprn.00000037 Remote Downlevel Document"
[Job 44] argv[4]="1"
[Job 44] argv[5]="job-uuid=urn:uuid:4a3994ce-9af4-361b-67ce-68d236e2c908"
[Job 44] argv[6]="/var/spool/cups/d00044-001"
[Job 44] envp[0]="CUPS_CACHEDIR=/var/cache/cups"
[Job 44] envp[1]="CUPS_DATADIR=/usr/share/cups"
[Job 44] envp[2]="CUPS_DOCROOT=/usr/share/doc/cups"
[Job 44] envp[3]="CUPS_FONTPATH=/usr/share/cups/fonts"
[Job 44] envp[4]="CUPS_REQUESTROOT=/var/spool/cups"
[Job 44] envp[5]="CUPS_SERVERBIN=/usr/lib/cups"
[Job 44] envp[6]="CUPS_SERVERROOT=/etc/cups"
[Job 44] envp[7]="CUPS_STATEDIR=/var/run/cups"
[Job 44] envp[8]="PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
[Job 44] envp[9]="SERVER_ADMIN=root at mars.peter"
[Job 44] envp[10]="SOFTWARE=CUPS/1.2.4"
[Job 44] envp[11]="TMPDIR=/var/spool/cups/tmp"
[Job 44] envp[12]="USER=root"
[Job 44] envp[13]="CUPS_SERVER=/var/run/cups/cups.sock"
[Job 44] envp[14]="CUPS_ENCRYPTION=IfRequested"
[Job 44] envp[15]="IPP_PORT=631"
[Job 44] envp[16]="CHARSET=iso-8859-1"
[Job 44] envp[17]="LANG=en_US"
[Job 44] envp[18]="PPD=/etc/cups/ppd/HPPhoto.ppd"
[Job 44] envp[19]="RIP_MAX_CACHE=8m"
[Job 44] envp[20]="CONTENT_TYPE=application/vnd.cups-raw"
[Job 44] envp[21]="DEVICE_URI=usb://hp/photosmart%207550?serial=CN2CG410HV7E"
[Job 44] envp[22]="PRINTER=HPPhoto"
Started backend /usr/lib/cups/backend/usb (PID 21152) for job 44.
Discarding unused job-state event...
cupsdProcessIPPRequest: 8 status_code=0 (successful-ok)

-- 
Peter
+++++
Do not reply to this email, it is a spam trap and not monitored.
I can be reached via this list, or via 
jabber: pete4abw at jabber.org
ICQ: 73676357



More information about the samba mailing list