The 2 types of monitors that may be listed here are Port Monitors and/or Language Monitors. As a general rule, Language Monitors will not have any printer ports defined in the Ports subkey and may be removed without causing a problem. Port Monitors such as HP Standard TCP/IP, however, may have active printers using this port type. PJL Language Monitor Missing from Registry. Hi Having a lot of problems with my canon 610 which works ok on another computer. In the regisry I seem to be missing PJL Language Monitor uner the Monitors. Have BJL Language Monior Local Ports Standard TCP/IP Port USB Monitor.
Many a times after a fail over occurs on a print server, moving the resources to the passive node, a chill runs down the spine when you notice most of the print queues missing.
Today we will discuss a few basic things that you could look into before you decide to call for help.
First things first, do take a backup of the print server using PrintMigrator tool before making any modifications to the server.
- Microsoft provides a language monitor, Pjlmon.dll, which supports printer job language (PJL), and provides bidirectional communication for PJL printers. For more information see, Sample language monitor. Customized language monitors can be written to support other job control languages, for unidirectional or bidirectional printers.
- Printer Job Language (PJL) was developed by Hewlett-Packard to provide a method for switching printer languages at the job level, and for status readback between the printer and the host computer. PJL offers application programs an efficient way to remotely control Hewlett-Packard printers. Using PJL, developers can provide.
- Windows: spoolsv.exe Using 99% CPU December 18, 2006 Posted by devhen in Windows. I don't find myself interested in Windows very often, or any proprietary operating system for that matter, but I ran into this problem on one of the computers in our office and thought I would share the solution.
Note: The information below applies to Windows 2003 server clusters only as there are significant differences between the functioning of a Windows 2003 and windows 2000 print cluster'.
Okay, before we begin let us get familiar with some of the file and registry locations where the print cluster stores it configuration information:
Registry locations:
Windows Server 2003 cluster service stores all printer and port information inside the cluster registry: HKLMClusterResources
Each GUID entry below represents a clustered resource.
You can look at the 'Type' value of a given resource to identify a Print resource; it should have the value data: 'Print Spooler'
HKLMClusterResourcesParameters key contains the print spooler configuration information of our interest.
All printer, driver and port information is stored in separate keys under the Parameters key.
From this key onwards the registry structure is mostly the same as that of the local spooler at: HKLMSYSTEMCCSControlPrint
HKLMClusterResourcesParameters
This key contains all printer specific information, spool directory information and job completion timeout information.
HKLMClusterResourcesParametersEnvironments
This key contains the structure necessary for other Windows based print clients (such as Windows NT 4.0, Windows 2000 and IA64-based Windows Clients).
The list of installed drivers and related information is stored under the subkeys of appropriate print clients.
HKLMClusterResourcesParametersMonitors
This key is where the cluster will store Port monitor information; only supported Port monitors on a cluster are the TCP/IP and LPR standard port monitors.
Information regarding the TCP/IP ports, such as the port address, name and SNMP information, is stored here. All other monitor information (other port monitor + language monitor) is located in the local node key (SYSTEMCCSControlPrintMonitors).
HKLMClusterResourcesParametersPrinters
In this key all print queue information is stored. This key lists the Print Processor in use by each print queue.
File locations:
The clustered print spooler files are stored separately from that of the local spooler.
The start of the tree for file storage is here: C:windowssystem32spooldrivers
Beyond this the folder structure is same as that of the local spooler.
The drivers, print processors and color profiles are stored here under appropriate folders:
C:windowssystem32spooldriversDrivers
-Contains driver files installed on the clustered print spooler
-This key contains the structure necessary for other Windows based print clients (such as Windows NT 4.0, Windows 2000 and IA64-based Windows Clients).
E.g. For x86 print clients the drivers are stored under C:windowssystem32spooldriversDriversw32x86
C:windowssystem32spooldriversDriversPRTPROCS
-This is the store for the 3rd party print processor DLLs used by the clustered printers
The same information is replicated in the shared disk under the folder named PrinterDrivers
S:PrinterDriversPRTPROCS -> Print Processors
S:PrinterDriversDrivers -> Driver files under the appropriate client folder structure
S:PrinterDriversMonitors -> Monitor DLLs if any
It also contains the Spool folder where the print jobs are spooled.
S:Spool -> Spool folder where print jobs are spooled
I guess this is enough theory for the day, now into the practical part of the discussion.
———————————————–********************———————————————–
Let us try to classify the major reasons for missing print queues, major reasons I see are:
Missing Print Processor DLLs
Missing Print Processor Registry Entries
Missing Print Monitor Registry entries
Corrupt/Missing Driver Files
Missing Driver Files
Now we need to see if you are lucky; try to find out the commonality between the missing printers.
Do they belong to the same driver?
Do they use the same print processor?
Do they rely on a specific Print Monitor?
You can look this up from the working node or if it is down, from the Cluster registry.
Unless luck has run out on you, you will be able to put the failure in one of these groups.
This does mean that at least 90% of the failures are because of the reasons listed above.
Missing Print Processor Registry Entries / Missing Print Processor DLLs
Pjl Language Monitor Meaning
Aah! My favorite
You can look this up from the working node or if it is down, from the Cluster registry.
Go to the following key which will contain the list of all print queues that are installed, to your surprise you should be able to see the print queues that are missing.
HKLMClusterResourcesParametersPrinters
Once inside the print queue of interest, look for a value named 'Print Processor' which will tell you the name of the Print processor in use. You can also find the driver being used by the printer in the 'Printer Driver' value data.
Are other printers that are missing using the same print processor?
If yes, look inside the following key for an x86 based print driver:
HKLMClusterResources< GUID>ParametersEnvironmentsWindows NT x86Print Processors
Is the Printer Processor listed here? If not then we have a missing print processor entry or an invalid print processor for what so ever reason.
First thing you can try is reinstalling the driver or upgrading to a newer version of the driver if available.
You can check if it is a missing registry issue by verifying it with the working node in which case the missing registry entry can be imported or you can set the print queue to use the default print processor – 'Winprint' by setting the 'PrintProcessor' value for the queue to ='Winprint'.
If the registry entry is in place, we need to check if it is a missing DLL issue. How do we do that?
Inside the Print processor registry key, you'll find the print processor 'Driver' entry which will point to the Print Processor DLL.
Verify if it is existent under the correct path, which is: C:windowssystem32spooldriversDriversPRTPROCS
If it is missing, copy the DLL from the working node.
Setting the print queue to use 'Winprint' as above will also relieve the printer of the dependency on the OEM print processor.
The Silver Bullet:
• Compare the contents of the C:windowssystem32spooldriversDriversPRTPROCS folder on a working cluster node with the failing node. You should have the same number of DLLs in there; else you will probably miss some print queues.
Solution: Copy it over from the working node.
• Compare the following registry key with that of a working node, if anything is missing you will probably miss some of your print queues.
HKLMClusterResources< GUID>ParametersEnvironmentsWindows NT x86Print Processors
Solution: Import the missing print processor registry keys from the working node
• Easiest and recommended way is to force all the print queues to use the default Print Processor-WinPrint.
You can either set it from the printer properties or you can use WMIC or the SetPrinter utility,
Use the following command to set all printers to WinPrint on a XP/2003 box:
wmic printer set PrintProcessor = WinPrint
On windows 2000/2003/XP boxes you can also use the setprinter.exe utility to set printers to winprint.
SetPrinter.exe Servername 2 pPrintProcessor='Winprint'
Missing Print Monitor Registry entries
Unlike the Print Processors, Language Monitors are set on a per driver basis rather than on a per print queue basis.
So first find out the driver that the printer is using from the 'Driver' value of the affected print queue.
With this information go to the appropriate driver under
HKLMClusterResources< GUID>ParametersEnvironmentsWindows NT x86DriversVersion-3
And note down the monitor listed in the 'Monitor' value.
The default language monitors are PJL Language Monitor and BJ Language Monitor.
If the driver is using some other 3rd party monitor, you can safely modify the data for 'Monitor' to NULL or no value (blank).
In this scenario you might see printers using different drivers fail to load when they use the same monitor. Again reinstalling or using a newer version of the driver is something that you can always try first.
Missing Driver Files / Corrupt Driver Files
If the missing print queues are using the same printer driver and everything else look fine, there might be something wrong with the driver.
Test by using a Generic driver, you can also try reinstalling the affected driver or try a newer version of the affected driver if available.
Compare the size of the GUID folder: C:windowssystem32spooldrivers on each node of the print cluster,
The size of the folders should match on all nodes of the cluster after a successful failover. Many a times a small difference is tolerable however huge difference definitely needs to be looked into.
If the GUID folder on one of the Cluster nodes is corrupt, there are several options, The recommended methods to recover from this state are:
Restore the GUID folder from a Tape Backup.
Remove and re-add the problematic node from the 'Possible Owners' list. This cause the Spooler Resource to re-create the drivers on the local node.
Silver Bullet:
Star Wars Episode VII - The Force Awakens (2015) TombDoc » video movie hd 2 years 4630 MB 2 1 Star Wars The Rise Of Skywalker 2019 Worldfree4u.Vin 720p HDRip x264 ESub Dual Audio Hindi. Star Wars The Force Awakens (2015) Hindi Dubbed Reviews Movie Name: Star Wars The Force Awakens (2015) Hindi Dubbed Size: 605.97 MB. Download Star Wars: The Force Awakens (2015) Movie in 480p, 720p & 1080p Qualities in HD. Star Wars: The Force Awakens (2015) is a Hollywood Movie with Hindi audio, download in Full HD Free. Star Wars: Episode VII – The Force Awakens (2015) 720p Bluray – 1GB – MKV (Download) Embedupload. Download Free Star Wars: Episode VII - The Force Awakens 2015 filmyzilla Hollywood Hindi Dubbed Mp4 HD Full Movies. Star Wars: Episode VII - The Force Awakens dual audio 300Mb From FilmyZilla.Com. Star wars the force awakens hindi dubbed download.
After you have confirmed a driver corruption, rename the existing GUID folder and copy the GUID folder from a working node. Simple aint it!
Quorum Replication and missing print queues:
Sometimes after you add a lot of printers and fail over to the secondary node, not all printers seem to replicate as expected; here is something that you should know:
Printer information is replicated to all nodes in the cluster by means of the cluster registry.
As you already know the cluster registry is located at HKEY_LOCAL_MACHINECluster. It is instantiated in each node in a file called ClusDB under the %systemroot%Cluster directory.
Updates to the cluster registry are replicated from the local ClusDB to a checkpoint file (chkxxx.tmp) and quorum log file (quolog.log) in the MSCS directory on the quorum disk.
If there are a large number of changes to the ClusDB (for example, adding a large number of printers), it is possible that the quorum log may wrap and changes will be lost on failover if its log size is set too small.
A common outcome is that after failover, printer queues or ports may be lost.
Because clustered print servers store a large amount of information in the cluster registry, it is important that the quorum log change size is larger than the ClusDB. To do this, view the file size of %SystemRoot%ClusterClusDB, and within Cluster Administrator ensure that the Reset Quorum log at value is larger than the ClusDB.
By default, the quorum log change size in Windows Server 2003 is 4096 KB. But if you have a large print server with hundreds of print queues, this is one maintenance task that should be checked periodically.
Pjl Language Monitor Definition
BEST PRACTICES:
Disable Printer Redirection on the print server to avoid inadvertent driver installation –Whenever an admin logs in from another box, the drivers for the redirected printers are automatically installed,
Exclude the SPOOL folder from AV scanning
Exclude the Quorum from AV scanning
Use only Version-3 user mode drivers
Try to use an Inbox user mode driver wherever possible: The preference should be:
Inbox PostScript Driver
Inbox PCL 6 Driver
Inbox PCL 5E/C Driver
VISTA/Longhorn server compatible Driver
OEM Universal driver
OEM mini driver
OEM PostScript, OEM PCL 6, OEM PCL 5E/C, OEM PCL 5
Use a Unidrv based driver wherever possible.
Avoid Version 2 or version 0 drivers, they run in the kernel mode.
Use the WinPrint print processor for your printer as much as possible unless you have specific printing needs like watermark printing etc.
Some printers get some additional functionality from these; however the default print processors and monitors are sufficient for normal printing functionality.
Last but not the least, some of the steps given above may be used as a quick workaround to bring the server back up, however once you identify a driver as the cause of the issue, you should report it to the appropriate vendor. Only if you report the bug will they be able to track and fix it.
If yes, look inside the following key for an x86 based print driver:
HKLMClusterResources< GUID>ParametersEnvironmentsWindows NT x86Print Processors
Is the Printer Processor listed here? If not then we have a missing print processor entry or an invalid print processor for what so ever reason.
First thing you can try is reinstalling the driver or upgrading to a newer version of the driver if available.
You can check if it is a missing registry issue by verifying it with the working node in which case the missing registry entry can be imported or you can set the print queue to use the default print processor – 'Winprint' by setting the 'PrintProcessor' value for the queue to ='Winprint'.
If the registry entry is in place, we need to check if it is a missing DLL issue. How do we do that?
Inside the Print processor registry key, you'll find the print processor 'Driver' entry which will point to the Print Processor DLL.
Verify if it is existent under the correct path, which is: C:windowssystem32spooldriversDriversPRTPROCS
If it is missing, copy the DLL from the working node.
Setting the print queue to use 'Winprint' as above will also relieve the printer of the dependency on the OEM print processor.
The Silver Bullet:
• Compare the contents of the C:windowssystem32spooldriversDriversPRTPROCS folder on a working cluster node with the failing node. You should have the same number of DLLs in there; else you will probably miss some print queues.
Solution: Copy it over from the working node.
• Compare the following registry key with that of a working node, if anything is missing you will probably miss some of your print queues.
HKLMClusterResources< GUID>ParametersEnvironmentsWindows NT x86Print Processors
Solution: Import the missing print processor registry keys from the working node
• Easiest and recommended way is to force all the print queues to use the default Print Processor-WinPrint.
You can either set it from the printer properties or you can use WMIC or the SetPrinter utility,
Use the following command to set all printers to WinPrint on a XP/2003 box:
wmic printer set PrintProcessor = WinPrint
On windows 2000/2003/XP boxes you can also use the setprinter.exe utility to set printers to winprint.
SetPrinter.exe Servername 2 pPrintProcessor='Winprint'
Missing Print Monitor Registry entries
Unlike the Print Processors, Language Monitors are set on a per driver basis rather than on a per print queue basis.
So first find out the driver that the printer is using from the 'Driver' value of the affected print queue.
With this information go to the appropriate driver under
HKLMClusterResources< GUID>ParametersEnvironmentsWindows NT x86DriversVersion-3
And note down the monitor listed in the 'Monitor' value.
The default language monitors are PJL Language Monitor and BJ Language Monitor.
If the driver is using some other 3rd party monitor, you can safely modify the data for 'Monitor' to NULL or no value (blank).
In this scenario you might see printers using different drivers fail to load when they use the same monitor. Again reinstalling or using a newer version of the driver is something that you can always try first.
Missing Driver Files / Corrupt Driver Files
If the missing print queues are using the same printer driver and everything else look fine, there might be something wrong with the driver.
Test by using a Generic driver, you can also try reinstalling the affected driver or try a newer version of the affected driver if available.
Compare the size of the GUID folder: C:windowssystem32spooldrivers on each node of the print cluster,
The size of the folders should match on all nodes of the cluster after a successful failover. Many a times a small difference is tolerable however huge difference definitely needs to be looked into.
If the GUID folder on one of the Cluster nodes is corrupt, there are several options, The recommended methods to recover from this state are:
Restore the GUID folder from a Tape Backup.
Remove and re-add the problematic node from the 'Possible Owners' list. This cause the Spooler Resource to re-create the drivers on the local node.
Silver Bullet:
Star Wars Episode VII - The Force Awakens (2015) TombDoc » video movie hd 2 years 4630 MB 2 1 Star Wars The Rise Of Skywalker 2019 Worldfree4u.Vin 720p HDRip x264 ESub Dual Audio Hindi. Star Wars The Force Awakens (2015) Hindi Dubbed Reviews Movie Name: Star Wars The Force Awakens (2015) Hindi Dubbed Size: 605.97 MB. Download Star Wars: The Force Awakens (2015) Movie in 480p, 720p & 1080p Qualities in HD. Star Wars: The Force Awakens (2015) is a Hollywood Movie with Hindi audio, download in Full HD Free. Star Wars: Episode VII – The Force Awakens (2015) 720p Bluray – 1GB – MKV (Download) Embedupload. Download Free Star Wars: Episode VII - The Force Awakens 2015 filmyzilla Hollywood Hindi Dubbed Mp4 HD Full Movies. Star Wars: Episode VII - The Force Awakens dual audio 300Mb From FilmyZilla.Com. Star wars the force awakens hindi dubbed download.
After you have confirmed a driver corruption, rename the existing GUID folder and copy the GUID folder from a working node. Simple aint it!
Quorum Replication and missing print queues:
Sometimes after you add a lot of printers and fail over to the secondary node, not all printers seem to replicate as expected; here is something that you should know:
Printer information is replicated to all nodes in the cluster by means of the cluster registry.
As you already know the cluster registry is located at HKEY_LOCAL_MACHINECluster. It is instantiated in each node in a file called ClusDB under the %systemroot%Cluster directory.
Updates to the cluster registry are replicated from the local ClusDB to a checkpoint file (chkxxx.tmp) and quorum log file (quolog.log) in the MSCS directory on the quorum disk.
If there are a large number of changes to the ClusDB (for example, adding a large number of printers), it is possible that the quorum log may wrap and changes will be lost on failover if its log size is set too small.
A common outcome is that after failover, printer queues or ports may be lost.
Because clustered print servers store a large amount of information in the cluster registry, it is important that the quorum log change size is larger than the ClusDB. To do this, view the file size of %SystemRoot%ClusterClusDB, and within Cluster Administrator ensure that the Reset Quorum log at value is larger than the ClusDB.
By default, the quorum log change size in Windows Server 2003 is 4096 KB. But if you have a large print server with hundreds of print queues, this is one maintenance task that should be checked periodically.
Pjl Language Monitor Definition
BEST PRACTICES:
Disable Printer Redirection on the print server to avoid inadvertent driver installation –Whenever an admin logs in from another box, the drivers for the redirected printers are automatically installed,
Exclude the SPOOL folder from AV scanning
Exclude the Quorum from AV scanning
Use only Version-3 user mode drivers
Try to use an Inbox user mode driver wherever possible: The preference should be:
Inbox PostScript Driver
Inbox PCL 6 Driver
Inbox PCL 5E/C Driver
VISTA/Longhorn server compatible Driver
OEM Universal driver
OEM mini driver
OEM PostScript, OEM PCL 6, OEM PCL 5E/C, OEM PCL 5
Use a Unidrv based driver wherever possible.
Avoid Version 2 or version 0 drivers, they run in the kernel mode.
Use the WinPrint print processor for your printer as much as possible unless you have specific printing needs like watermark printing etc.
Some printers get some additional functionality from these; however the default print processors and monitors are sufficient for normal printing functionality.
Last but not the least, some of the steps given above may be used as a quick workaround to bring the server back up, however once you identify a driver as the cause of the issue, you should report it to the appropriate vendor. Only if you report the bug will they be able to track and fix it.
I guess this is good amount of information for a day folks! Thanks for taking the time to read through this.
Until next time, Good Bye….
References:
Creating and Configuring a Highly Available Print Server
http://download.microsoft.com/download/2/a/9/2a9c5a6b-472a-40b0-942f-3ba50240ccd9/ConfiguringAHighlyAvailablePrintServer.doc
Choosing the Right Printer Drivers
http://www.microsoft.com/downloads/details.aspx?familyid=D8EA9B96-EF8F-4B0D-95D0-073754A2DB31&displaylang=en
How to Troubleshoot Printing Issues on a Windows Server 2003 Cluster
http://support.microsoft.com/kb/302539
Pjl Language Monitor Software
MSCS printer shares may not come online if quorum log is too small
http://support.microsoft.com/kb/257897
Hello kuttichathan full episodes. -Sumesh P
Pjl Language Monitor App
Having a lot of problems with my canon 610 which works ok on another computer.
In the regisry I seem to be missing PJL Language Monitor
uner the Monitors.
Have BJL Language Monior
Local Ports
Standard TCP/IP Port
USB Monitor
Does anyone know how to get the missing PJL Language Monitor and then how do you re install it, I think I must have deleted it accidentally trying to get the printer to work properly.
I have searched through google but cannot find any real help
Thanks
Robert