Branch Office Direct Printing renders server-side

JRV 551 Reputation points
2022-03-07T17:37:53.367+00:00

WS2012 print server at main office, W10v21H2 client (desktop) at branch office.

Printing to an HP LaserJet 601n printer shared from the print server. Branch Office Direct Printing initially disabled, but now enabled. First print job didn't print. Subsequent jobs printed, but via print server.

Enabled PrintService/Operational log on the client. I see Event ID 821 with every print job--

The print spooler Client Side Rendering is attempting to render the job 0 on the server (Server Side Rendering), status 0x0. See the event user data for context information.

User Data doesn't tell me much, but maybe I don't know what I'm looking for--

Log Name: Microsoft-Windows-PrintService/Operational
Source: Microsoft-Windows-PrintService
Date: 3/7/2022 10:55:07 AM
Event ID: 821
Task Category: Client Side Rendering reverting to Server Side Rendering
Level: Information
Keywords: Client Side Rendering (CSR)
User: [Redacted]
Computer: [Redacted]
Description:
The print spooler Client Side Rendering is attempting to render the job 0 on the server (Server Side Rendering), status 0x0. See the event user data for context information.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Microsoft-Windows-PrintService" Guid="{747EF6FD-E535-4D16-B510-42C90F6873A1}" />
<EventID>821</EventID>
<Version>0</Version>
<Level>4</Level>
<Task>48</Task>
<Opcode>14</Opcode>
<Keywords>0x4000000000008000</Keywords>
<TimeCreated SystemTime="2022-03-07T16:55:07.389375300Z" />
<EventRecordID>48</EventRecordID>
<Correlation />
<Execution ProcessID="3644" ThreadID="22656" />
<Channel>Microsoft-Windows-PrintService/Operational</Channel>
<Computer>[Redacted]</Computer>
<Security UserID=[Redacted] />
</System>
<UserData>
<CsrStartingSsrJob xmlns="http://manifests.microsoft.com/win/2005/08/windows/printing/spooler/core/events">
<JobId>0</JobId>
<Level>0x1</Level>
<Status>0x0</Status>
</CsrStartingSsrJob>
</UserData>
</Event>

Referring to https://learn.microsoft.com/en-us/windows-hardware/drivers/print/known-issues-with-client-side-rendering--

  • "Client-side rendering is automatically disabled if the printer driver uses a custom print processor but the print processor is not installed on the client computer." I've checked the Print Processor on the print server; the same Print Processor is shown in the Registry;.
  • "Client-side rendering for the print queue is disabled if the print processor returns an error." I don't know how to determine if CSR is disabled for the printer due to an error. Since the 1st print job didn't print, there may have been one, but PrintService/Operational was not enabled at the time. How can I find out if it's disabled (preferably via registry, since I'm remote) and re-enable it?
  • "Printer configuration data might be incomplete for printer drivers that use non-standard configuration data." Not sure how I'd find that out. If it involves SDK documentation, it may be over my head!
  • "Client-side rendering with a driver mismatch." The driver was installed from the Print Server via GPO. The user has, since, installed a direct-print printer via Add Printer in Settings, if that matters.
  • "Beginning with Windows 8, client-side rendering is automatically disabled if the EMFDespoolingSetting value is not present in the registry and client machine profile is Mobile platform." The computer is a desktop.
Windows for business | Windows Client for IT Pros | Networking | Network connectivity and file sharing
Windows for business | Windows Server | User experience | Print jobs
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Alan Morris 1,336 Reputation points
    2022-03-07T19:56:08.553+00:00

    @JRV

    Is the driver for the connection on the client, the exact same driver name for the driver in use on the print server?

    When the client connection needs to render on the server, then it is expected that BODP will not be active.

    If the connection gets created with the MS Point and print compatibility driver, then SSR is the requirement. BODP will be disabled.

    Just so you know, BODP will take precedence over SSR code path when the machine has a battery. BODP will work for laptops.

    What is the exact driver name you are using and is this a Type 3 or Type 4?

    Thanks


  2. Alan Morris 1,336 Reputation points
    2022-03-08T14:11:00.863+00:00

    I know at one point, there was an issue when flipping the HP Universal from CSR to SSR. it would work in either mode but once either the spooler or something in the driver reverted to SSR, it would not change back to CSR.

    There are a few things I do not like about the HP Universal driver but the main one are all the Print Processors. There is just one for any HP Universal driver but each version of the driver has a different print processor.

    Please change the Print Processor on the server for this printer. Printer properties / Advanced, to winprint.

    I would remove the connection on the client, then remove the print driver and driver package from the client. You can't remove the package when other connections use the same driver.

    Now add the connection to the share and test again.

    If multiple conections use the same driver name that could be part of the problem but let's see if the print processor is getting in the way.

    Thanks


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.