lists@sumpfralle.de
2006-May-31 14:29 UTC
[Samba] printing fails for SPOOLSS OpenPrinterEx request
Hi,
I have a problem with my printing setup of a windows XP client with a samba
server.
The windows driver seems to use different ways of smb/printer communication for
printing in normal/duplex mode and for printing brochures. The latter failes
silently.
normal/duplex printing uses: SMB Open Print File Request
brochure printing starts with: SPOOLSS OpenPrinterEx request
I recorded the network transmission during printing and received the following
for brochure printing (which fails):
Source Dest Protocol Info
client server SMB Session Setup AndX Request, NTLMSSP_NEGOTIATE
server client SMB Session Setup AndX Response, NTLMSSP_CHALLENGE, Error:
STATUS_MORE_PROCESSING_REQUIRED
client server SMB Session Setup AndX Request, NTLMSSP_AUTH, User: \
server client SMB Session Setup AndX Response
client server SMB Tree Connect AndX Request, Path: \\JACKDAW\IPC$
server client SMB Tree Connect AndX Response
client server SMB NT Create AndX Request, Path: \spoolss
server client SMB NT Create AndX Response, FID: 0x7168
client server DCERPC Bind: call_id: 1 UUID: SPOOLSS
server client SMB Write AndX Response, FID: 0x7168, 72 bytes
client server SMB Read AndX Request, FID: 0x7168, 1024 bytes at offset 0
server client DCERPC Bind_ack: call_id: 1 accept max_xmit: 4280 max_recv:
4280
client server SPOOLSS OpenPrinterEx request, \\jackdaw\test
server client SPOOLSS OpenPrinterEx response
client server SPOOLSS GetPrinter request, level 2
server client SPOOLSS GetPrinter response, level 2, Insufficient buffer
client server SPOOLSS GetPrinter request, level 2
server client SPOOLSS GetPrinter response, level 2
client server SPOOLSS OpenPrinterEx request, \\jackdaw\test
server client SPOOLSS OpenPrinterEx response
client server TCP [TCP segment of a reassembled PDU]
client server TCP [TCP segment of a reassembled PDU]
client server SPOOLSS GetPrinter request, level 2
server client TCP netbios-ssn > plato-lm [ACK] Seq=1621 Ack=5111
Win=32767 Len=0
server client SMB Pipe TransactNmPipe Response, FID: 0x7168
client server SMB Read AndX Request, FID: 0x7168, 3112 bytes at offset 0
server client TCP [TCP segment of a reassembled PDU]
server client TCP [TCP segment of a reassembled PDU]
client server TCP plato-lm > netbios-ssn [ACK] Seq=6498 Ack=5625
Win=65535 Len=0
server client SPOOLSS GetPrinter response, level 2
client server SPOOLSS OpenPrinterEx request, \\jackdaw\test
server client SPOOLSS OpenPrinterEx response
client server SPOOLSS GetPrinter request, level 0
server client SPOOLSS GetPrinter response, level 0
client server SPOOLSS GetPrinter request, level 2
server client SPOOLSS GetPrinter response, level 2, Insufficient buffer
<snip - the same goes on ...>
Successful printing in normal (or duplex) modes results in the following
traffic:
Source Dest Protocol Info
client server SMB Open Print File Request
server client SMB Open Print File Response, FID: 0x1be7
client server TCP [TCP segment of a reassembled PDU]
client server TCP [TCP segment of a reassembled PDU]
client server TCP [TCP segment of a reassembled PDU]
client server TCP [TCP segment of a reassembled PDU]
client server TCP [TCP segment of a reassembled PDU]
client server TCP [TCP segment of a reassembled PDU]
client server SMB Write Request, FID: 0x1be7, 9274 bytes at offset 0
server client TCP netbios-ssn > plato-lm [ACK] Seq=41 Ack=2974
Win=32767 Len=0
server client TCP netbios-ssn > plato-lm [ACK] Seq=41 Ack=5894
Win=32767 Len=0
server client TCP netbios-ssn > plato-lm [ACK] Seq=41 Ack=8814
Win=32767 Len=0
server client SMB Write Response, 9274 bytes
client server TCP plato-lm > netbios-ssn [ACK] Seq=9380 Ack=82
Win=64664 Len=0
client server TCP [TCP segment of a reassembled PDU]
client server TCP [TCP segment of a reassembled PDU]
client server TCP [TCP segment of a reassembled PDU]
client server TCP [TCP segment of a reassembled PDU]
client server TCP [TCP segment of a reassembled PDU]
client server SMB Write Request, FID: 0x1be7, 8223 bytes at offset 9274
server client TCP netbios-ssn > plato-lm [ACK] Seq=82 Ack=12300
Win=32767 Len=0
server client TCP netbios-ssn > plato-lm [ACK] Seq=82 Ack=15220
Win=32767 Len=0
server client TCP netbios-ssn > plato-lm [ACK] Seq=82 Ack=17655
Win=32767 Len=0
server client SMB Write Response, 8223 bytes
client server SMB Close Print File Request, FID: 0x1be7
server client SMB Close Print File Response
client server TCP plato-lm > netbios-ssn [ACK] Seq=17696 Ack=162
Win=64584 Len=0
<printing is finished here (successfully)>
The failing brochure printing reaches cups, but gets ignored without an error
message (even for "debug" loglevel). There is no job in the cups queue
afterwards.
My setup:
SuSE: 10.0
Samba: Version 3.0.20b-3.1-SUSE
Cups: 1.1.23-21.2
Printer: Brother HL-5150D
smb.conf contains the following printing options:
[printer]
path = /var/tmp
printable = Yes
create mask = 0600
browseable = Yes
In windows client(s) the printer is configured to be connected to a local port
("\\servername\printername") and works without problems for anything
except brochure printing.
I tried to turn on "default devmode" and "use client driver"
in smb.conf. None of these changed the behaviour.
This setup was known to work with the previous server machine, I used. It was a
debian sarge woody installation. But this machine is not available for testing
anymore ...
Does anyone have any ideas, what I could try, to get brochure printing to work
again?
thanks,
Lars
Gerald (Jerry) Carter
2006-Jun-01 01:51 UTC
[Samba] printing fails for SPOOLSS OpenPrinterEx request
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 lists@sumpfralle.de wrote:> I have a problem with my printing setup of a windows XP > client with a samba server. > > The windows driver seems to use different ways of > smb/printer communication for printing in normal/duplex > mode and for printing brochures. The latter failes > silently. > > normal/duplex printing uses: SMB Open Print File Request > brochure printing starts with: SPOOLSS OpenPrinterEx requestThis doesn't make sense to me. Are you serving the driver from the Samba box? or installing it locally?> In windows client(s) the printer is configured to be > connected to a local port ("\\servername\printername") and > works without problems for anything except brochure printing.Sounds like you are trying to force lanman printing. I would recommend against this if possible. But if you really want it, you can disable MS-RPC printing globally on the Samba server using 'disable spoolss = yes'> I tried to turn on "default devmode" and "use client > driver" in smb.conf. None of these changed the behaviour. > > This setup was known to work with the previous server > machine, I used. It was a debian sarge woody installation. > But this machine is not available for testing anymore ... > > Does anyone have any ideas, what I could try, to get > brochure printing to work again?cheers, jerry ====================================================================Samba ------- http://www.samba.org Centeris ----------- http://www.centeris.com "What man is a man who does not make the world better?" --Balian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org iD8DBQFEfkglIR7qMdg1EfYRAofDAJ9SpsKM3mK+8nu/5NLFiM8m6JCxGACg0OSL /RAAzMc4vd5Q68bXHwM+Ajo=E8aA -----END PGP SIGNATURE-----
Maybe Matching Threads
- smbd uses 10 to 15% CPU w/Vista client
- debugging really high network usage with no apparent cause
- smbclient 4.0.7 fails transfer with STATUS_INVALID_PARAMETER and SMB2 but not with NT1
- internalDNS more TCP connections without closing
- Poor performance getting lots of small files with WinXP/Win2k vs OS2