Bug 6559 - Connecting to printer with Windows Server 2008 throws out 0x000006d1 on Windows machine
Summary: Connecting to printer with Windows Server 2008 throws out 0x000006d1 on Windo...
Status: REOPENED
Alias: None
Product: Samba 3.4
Classification: Unclassified
Component: Printing (show other bugs)
Version: 3.4.0
Hardware: x86 Windows 2008
: P3 critical
Target Milestone: ---
Assignee: Guenther Deschner
QA Contact: Samba QA Contact
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-17 06:50 UTC by Philipp Schubert (dead mail address)
Modified: 2021-03-22 16:06 UTC (History)
12 users (show)

See Also:


Attachments
log.smbd with debug level 10 (246.44 KB, application/octet-stream)
2009-07-17 06:56 UTC, Philipp Schubert (dead mail address)
no flags Details
for Bug6559 used PostScript driver (deleted)
2009-07-20 01:54 UTC, Philipp Schubert (dead mail address)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Schubert (dead mail address) 2009-07-17 06:50:25 UTC
When using server side PostScript drivers for printers on a samba server and connecting with Windows Server 2008, everytime I get an error message 0x000006d1 at the Windows machine.
With Windows XP it works perfectly.

Please find attached my debug level 10 output from smbd.log.

Best regards,
Philipp
Comment 1 Philipp Schubert (dead mail address) 2009-07-17 06:56:05 UTC
Created attachment 4436 [details]
log.smbd with debug level 10
Comment 2 Guenther Deschner 2009-07-17 09:29:07 UTC
Can you share some more info where you got that "edv1" driver from ?

I see that w2k8 is trying some unimplemented GDI specific spoolss calls and I need to be able to reproduce this error locally.
Comment 3 Philipp Schubert (dead mail address) 2009-07-20 01:54:19 UTC
Created attachment 4447 [details]
for Bug6559 used PostScript driver
Comment 4 Philipp Schubert (dead mail address) 2009-07-20 01:56:02 UTC
Used printer drivers are Ricoh Aficio AP2700.
Comment 5 Guenther Deschner 2009-08-04 15:33:25 UTC
Note to myself: First research indicates that this is related to failing backchannel connections (failing with access denied) for printer change notify when talking to w2k8.
Comment 6 IT Service Group D-PHYS, ETH Zurich 2009-08-27 04:08:26 UTC
We have this problem also here in a production environment since installing SP2 on our W2K8 terminal server and therefore would be very happy if this could be solved, too. :-)

We can also help to debug this if help is needed.

Kind regards, Axel Beckert and Patrick Frei from the IT Service Group of the Dept. of Physics at ETH Zürich.
Comment 7 The Loeki 2009-10-01 16:32:47 UTC
Confirmed on CentOS 5.3 x64 up-to-date (Samba 3.0.33, presumably with a bunch of backports), in combination with Win2k8 Enterprise x64's. 
Used drivers are a bunch of different latest Ricoh models/PCL5e drivers.

The issue occurs after applying KB958741 (http://support.microsoft.com/kb/958741)
Comment 8 Åke Holmlund 2010-02-02 10:54:47 UTC
We also get 0x000006d1 when trying to connect to a printer from Win 2k8 R2 64-bit (Samba 3.3.10). We also get a similar (?) error, 0x0000052e, when trying to connect to the same priter/server from Win 7 64-bit.
Comment 9 Klaus Steinberger 2010-02-26 01:23:22 UTC
We get this error from W2k8R2 connecting to a samba server with the latest 3.4 version (3.4.6).

Comment 10 Klaus Steinberger 2010-02-26 01:31:28 UTC
A log with level 10 could be found here:

http://homepages.physik.uni-muenchen.de/~Klaus.Steinberger/bug6559/log.192.168.160.106

We use the CUPS Windows Printer driver

Windows Side:  Windows Server 2008R2
Samba Side:  3.4.6 (from sernet) on Scientific Linux (aka RHEL) 5.4
Comment 11 Guenther Deschner 2010-02-26 04:30:20 UTC
(In reply to comment #10)
> A log with level 10 could be found here:
> 
> http://homepages.physik.uni-muenchen.de/~Klaus.Steinberger/bug6559/log.192.168.160.106
> 
> We use the CUPS Windows Printer driver
> 
> Windows Side:  Windows Server 2008R2
> Samba Side:  3.4.6 (from sernet) on Scientific Linux (aka RHEL) 5.4

hm, isn't the CUPS Windows Printer driver 32bit only ?
http://cups.org/software.php#USING_WINDOWS

if so, it will hardly work with 64bit Windows 2008 R2.
> 

Comment 12 Klaus Steinberger 2010-02-26 04:42:16 UTC
There is also a 64 bit Version, though you could not find it so easily on the cups website. We do have both 32bit and 64bit driver installed on the samba server and Windows 2003 64bit works very well.
Comment 13 Guenther Deschner 2010-02-26 10:15:31 UTC
Ok, took a deeper look here:

The log you uploaded shows that the client starts to call out for non-implemented spoolss calls which are used for GDI printing (server side printing) which we do no support right now. Inside the spoolss server we try very hard to convice the client that we only can accept RAW printjobs (already rendered at the client - which is btw. the new default since I think Vista). Why the client still tries server side rendering is hard to tell. Samba just fails with RPC_S_PROCNUM_OUT_OF_RANGE error (windows displays that as 0x000006d1).

What I did to reproduce your failure is to get a w2k8r2 box, setup one 3.4.6 samba installation, installed (via cupsaddsmb) the cups windows 64bit drivers, double clicked on one of the exported printers and w2k8r2 happily installed the 64bit driver w/o any problem and I could print.

My theory is that your print client (your w2k8r2 box) has one of the printer specific group policies applied, notably: "Always render printjobs on the server". This would explain that behavior. Could you check if that is set in your environment ?
Comment 14 Guenther Deschner 2010-02-26 11:01:02 UTC
Ok, fully reproduced that failure with the same error code and the same logfile pattern.

It is most probably related to having:

"Computer Configuration/Policies/Administrative Templates/Always render printjobs on the server"

enabled.
Comment 15 Klaus Steinberger 2010-03-01 05:28:34 UTC
The Policy was not set (unconfigured), but setting it to disabled changed the behavior. Now I get a different error:  0x000003e6

Also a I side note: The printer is in the active directory published with the flag "Render on client side" set.

But as I had to get it working, I reverted now back to samba-3.3.11, this works again very fine.

I will setup somewhere in the next days a test print server and will send you more debug logs.
Comment 16 IT Service Group D-PHYS, ETH Zurich 2010-03-01 05:47:28 UTC
My client is a x86 W2k8 server with terminal server role installed. With servicepack 1 installed there is no problem, it works fine. If I update it to servicepack 2 it gets the error 0x000006d1.

The group policy setting was set to unconfigured, I changed it to disabled but get the same error as before: 0x000006d1.
Comment 17 IT Service Group D-PHYS, ETH Zurich 2010-03-01 09:34:27 UTC
I could resolve the problem for me. I configured both GPO settings to "disabled" and then it works fine:
"Computer Configuration/Policies/Administrative Templates/Printers/Always render
print jobs on the server"
and
"Computer Configuration/Policies/Administrative Templates/Printers/Point and Print Restrictions"
No 0x000006d1 error anymore.
Comment 18 Orion Poplawski 2010-03-15 17:41:15 UTC
I'm seeing the 0x000003e6 error trying to connect a Windows 7 32-bit machine to samba 3.4.6.  Driver is for Ricoh Aficio CL7200 and is installed on server.
Comment 19 Stijn Hoop 2010-08-04 04:52:12 UTC
Also seeing the 0x000003e6 error, trying to connect Windows 7 64-bit to both sernet samba 3.5.4 and sernet samba 3.4.8 on centos 5.5, using the 64-bit cups driver from SVN. I copied pscript5.dll, ps5ui.dll, pscript.ntf and pscript.hlp from the Windows 7 machine. I also tried setting both local group policies to disabled, but that does not help either. Anything I can provide to try and pinpoint the problem?
Comment 20 Stijn Hoop 2010-08-04 06:06:25 UTC
The exact same Windows 7 64-bit client (no reinstall) connects fine using the samba3x package from current EPEL repositories, which is based on 3.3.8, both with and without the local group policies explicitly set to 'disabled' instead of 'not configured'. Not sure if this information helps, but it can't hurt either.
Comment 21 Orion Poplawski 2010-11-24 13:11:35 UTC
Still seeing the 0x000003e6 error with Samba 3.5.6.  Anything needed to help trouble shoot.  Also, is this now a duplicate of bug 7567?
Comment 22 Martin von Wittich 2013-08-23 20:09:56 UTC
If anyone is still experiencing this issue - changing the following registry value on the affected clients fixes it:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers]
"ForceCSREMFDespooling"=dword:00000000

(Simply deleting the "ForceCSREMFDespooling" value should also work, because AFAIK Windows assumes a value of 0 if it doesn't exist.)

This issue is not a Samba bug, but a faulty configuration on the client. Setting "ForceCSREMFDespooling" to 1 means "force print jobs to be rendered on the server", and Samba simply doesn't support this. As long as this value is either set to 0 or doesn't exist, everything should work fine, but if something sets it to 1, printing on Samba printers will fail with the 0x000006d1 error.
Comment 23 Sam Peterson 2015-02-08 23:46:49 UTC
A very big thank you to Commenter 22 as this solved my issue.  However, I think he/she is wrong about one thing, and that's that Windows assumes a value of 0 if the registry key is not present.  I did not have this registry key and I was experiencing this issue (on both Windows 7 and 8.1 workstations).

Adding the registry key and rebooting solved the issue on both workstations. My printer was able to to be installed via the Point N' Print mechanism.

My printer is a Canan MF-4350d.  I wonder if the problem is printer driver specific as I don't see many other people complaining about the issue.
Comment 24 Björn Jacke 2020-09-08 13:01:33 UTC
The content of attachment 4447 [details] has been deleted for the following reason:

no need to have this binary driver here
Comment 25 Björn Jacke 2020-09-08 13:03:08 UTC
closing as WORKSFORME as the right GPO or registry key setting mentioned here fixes the problem
Comment 26 Ralph Böhme 2021-03-22 16:06:08 UTC
Alas, I'm again seeing this with Windows 10.

"Computer Configuration/Policies/Administrative Templates/Always render printjobs on the server" is disabled (which sets [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Printers] "ForceCSREMFDespooling"=dword:00000000) but the goddamn client still calls 
CreatePrinterIC.