Windows Printer spooler problem? samba 3.0.10

nishihara nishihara at silexamerica.com
Thu Jul 7 06:16:35 GMT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> | Hello,
> |
> | I have the one problem on the printing function.
> |
> | Sometimes I print out the job, then donot erase the
> | printer job information from the spooler automatically.

> What "state" is the job being listed as in the
> Windows print queue monitor ?

"state" means "status"? It is empty.

> | The job information has been deleted from the tdb of
> | /locks/printing/*.tdb, while the print job data is
> | received. Normally, deleting packet(RRPCN request) send
> | from the samba server to  client in 1 or 2 minute after
> | print out.  I don't know why the samba server delete
> | the record before the printer job dose not printed out.

> The internal code removes a print job from the tdb
> if the job has been marked as already having been handed
> off to the print system (in the OS) and does not appear
> in the lpq output.

I checked the packet. Samba server already has been received the 
print data. The packets flow as follow.

I think strangely that the deleted status packet is send before the 
spooled status packet.

Samba server   : 192.168.3.1
Windows Client : 192.168.3.200

Ethereal packet structure
[Time][source IP][Distination][Protocol]
[Info]

2326.589171 192.168.3.1     192.168.3.200  SPOOLSS  
WritePrinter response, 41798 bytes written

2326.589390 192.168.3.200   192.168.3.1    SPOOLSS  
EndPagePrinter request, OpenPrinterEx(\\192.168.3.1\Canon LASER SHOT LBP-1420)

2326.594215 192.168.3.1     192.168.3.200  SPOOLSS  
EndPagePrinter response

2326.696753 192.168.3.200   192.168.3.1    SPOOLSS  
WritePrinter request, OpenPrinterEx(\\192.168.3.1\Canon LASER SHOT LBP-1420), 2952 bytes[Short Frame]

2326.696851 192.168.3.200   192.168.3.1    TCP
[Continuation to #3758] 1628 > microsoft-ds [ACK] Seq=128564 Ack=30002 Win=16143 Len=1460

2326.696879 192.168.3.200   192.168.3.1    TCP
[Continuation to #3758] 1628 > microsoft-ds [PSH, ACK] Seq=130024 Ack=30002 Win=16143 Len=172

2326.705227 192.168.3.1     192.168.3.200  TCP
microsoft-ds > 1628 [ACK] Seq=30002 Ack=130024 Win=62780 Len=0

2326.706898 192.168.3.1     192.168.3.200  SPOOLSS
WritePrinter response, 2952 bytes written

2326.707081 192.168.3.200   192.168.3.1    SPOOLSS
EndDocPrinter request, OpenPrinterEx(\\192.168.3.1\Canon LASER SHOT LBP-1420)

2326.743743 192.168.3.1     192.168.3.200  TCP    
microsoft-ds > 1628 [ACK] Seq=30094 Ack=130328 Win=62780 Len=0

2328.489334 192.168.3.1     192.168.3.200  SPOOLSS
EndDocPrinter response

2328.492041 192.168.3.200   192.168.3.1    SPOOLSS
ClosePrinter request, OpenPrinterEx(\\192.168.3.1\Canon LASER SHOT LBP-1420)

2328.502351 192.168.3.1     192.168.3.200  TCP    
microsoft-ds > 1628 [ACK] Seq=30182 Ack=130460 Win=62780 Len=0

2328.504779 192.168.3.1     192.168.3.200  SPOOLSS
ClosePrinter response

2328.696088 192.168.3.200   192.168.3.1    TCP    
1628 > microsoft-ds [ACK] Seq=130460 Ack=30290 Win=17324 Len=0

/* <<<<< DELETED JOB INFORMATION (JOB ID 9) >>>>>>>>>> */
2328.852641 192.168.3.1     192.168.3.200  SPOOLSS
RRPCN request, changeid 1, 1 notification

2328.853828 192.168.3.200   192.168.3.1    SPOOLSS
RRPCN response

2328.856123 192.168.3.1     192.168.3.200  TCP    
32773 > netbios-ssn [ACK] Seq=2256 Ack=1336 Win=7504 Len=0 TSV=149237 TSER=44903

/* <<<<< DELETED JOB INFORMATION  (ONE MORE SAME PACKET) (JOB ID 9)>>>>>>>>>> */
2328.857261 192.168.3.1     192.168.3.200  SPOOLSS
RRPCN request, changeid 1, 1 notification

2328.858190 192.168.3.200   192.168.3.1    SPOOLSS
RRPCN response


2328.892209 192.168.3.1     192.168.3.200  TCP    
32773 > netbios-ssn [ACK] Seq=2446 Ack=1428 Win=7504 Len=0 TSV=149241 TSER=44903

/* <<<<< JOB IS SPOOLED STATUS 1 (JOB ID 9)>>>>>>> */
2329.856017 192.168.3.1     192.168.3.200
SPOOLSS  RRPCN request, changeid 1, 8 notifies

2329.884671 192.168.3.200   192.168.3.1    SPOOLSS
RRPCN response

2329.888132 192.168.3.1     192.168.3.200  TCP    
32773 > netbios-ssn [ACK] Seq=2888 Ack=1520 Win=7504 Len=0 TSV=149340 TSER=44913

/* <<<<< JOB IS SPOOLED STATUS 2 (JOB ID 9)>>>>>>> */
2329.889717 192.168.3.1     192.168.3.200  SPOOLSS
RRPCN request, changeid 1, 8 notifies

2329.890073 192.168.3.200   192.168.3.1    SPOOLSS
RRPCN response

2329.932243 192.168.3.1     192.168.3.200  TCP    
32773 > netbios-ssn [ACK] Seq=3330 Ack=1612 Win=7504 Len=0 TSV=149345 TSER=44913

2359.884476 192.168.3.200   192.168.3.1    SMB    
Close Request, FID: 0x7030

2359.889656 192.168.3.1     192.168.3.200  SMB    
Close Response

2359.889877 192.168.3.200   192.168.3.1    SMB    
Close Request, FID: 0x7031

2359.893004 192.168.3.1     192.168.3.200  SMB    
Close Response

2360.086526 192.168.3.200   192.168.3.1    TCP    
1628 > microsoft-ds [ACK] Seq=130550 Ack=30368 Win=17246 Len=0

2385.992742 192.168.3.1     192.168.3.200  ICMP   
Echo (ping) request 

2385.992792 192.168.3.200   192.168.3.1    ICMP   
Echo (ping) reply 

2386.200228 192.168.3.200   192.168.3.1    SPOOLSS
FCPN request

> | /*
> |  * Invalidate the queue for 3 reasons.
> |  */
> | Isn't there problem in this requirement? Can I escape
> | this problem by change the lpq cache time?

> What problem?
I write this problem more detail.
I printed out the test page each one from the Windows XP Professional.
Usually the printed job information deleted 1 - 2 minute automatically.


In this problem, it remains for one hour or more. But it disappears if 
Printer spooler is renewed(Pushed F5) after one hour.


When the "update_monitored_printq_cache" function is called bud timing, 
the record in the tdbfile is deleted on "lpq cache time".

Is there a method of correcting something?

Thank you for your support.

----
Kenta Nishihara
silex technology america, Inc.
E-mail: nishihara at silexamerica.com
[Phone] 801-748-1199  [Fax] 801-748-0730




More information about the samba-technical mailing list