Knowledgebase
Knowledgebase: PaperCut > Troubleshooting
Bidirectional Support in Windows
Last modified on 13 August 2020 11:55 PM

What does the Bidirectional Support checkbox do?

The setting, found on the Ports tab when looking at the Printer Properties menu in Windows, controls whether a print driver will communicate with the physical printer to determine the printer’s state and find out details like whether a finishing unit is attached. The exact function will vary depending on the make and model of printer. Some print drivers, like the PaperCut Global PostScript driver don’t use this feature at all so the option is greyed-out.

There are some situations where this setting is helpful, but in our experience this setting can also cause instability or can trigger the ‘sent to printer’ status for jobs in the print queue. If you identify a particular print queue as problematic (for example, jobs always seem to hang in the queue) then consider turning off the port’s bidirectional support as follows using one of the methods below.

Managing Bidirectional Support for an individual printer

  1. Open Print Management by pressing Windows key + R, then type printmanagement.msc and hit the enter key.
  2. Right-click on the printer in question and select Properties…
  3. Select the Ports tab
  4. Uncheck Enable bidirectional support.

Managing Bidirectional Support for an entire print server

This method should first come with a dose of caution. If you’ve tested this change on a few printers and decided you want to apply this to all of your printers now, then use the following PowerShell script to disable Bidirectional Support for all printers automatically. If running PowerShell commands on your production print server makes you a bit nervous, then follow our guide to backup your print server.

Open an elevated PowerShell window on your print server and run the following commands:

$printers = Get-Printer -Name *
     foreach ($p in $printers) {
          cscript c:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs -t -p $p.name -enablebidi
}

To do the opposite and enable Bidirectional support on all queues, you can run the script again but change the switch from minus -enablebidi to plus +enablebidi.