# HP Universal Print Driver

HP Universal Print Driver (UPD) is an intelligent print driver that supports a broad range of HP print devices, such as LaserJet and various MFPs. Developed by Hewlett-Packard, HP UPD combines a general purpose driver (XPSDrv, UniDrv, or PSCRIPT), print control, and HP proprietary extensions. The HP UPD simplifies driver deployment and management across multiple devices and networks via a unified program. This advanced print driver has the ability to discover HP print devices and automatically expose the client to device capabilities (e.g., duplex, color, finishing, etc.).
HP Universal Print Driver is a Microsoft Windows-only solution with two modes: Traditional Mode and Dynamic Mode. In Traditional Mode, HP UPD behaves similarly to traditional print drivers. In Dynamic Mode, it provides discovery, auto configuration, and management features that are particularly well suited for mobile computer users.

## Operating modes

HP’s Universal Print Driver is based on Microsoft’s universal core drivers XPSDrv, UNIDRV, and PSCRIPT. These core drivers are not usable until device specific information is used to inform the core driver of the actual device settings and capabilities. To accomplish this task, a universal printing dialog box is inserted before the standard print setup dialog box. The universal printing dialog box allows users to choose a recently used device, enter a device IP address, search for local print devices, or choose a device from a predefined list.
Regardless of the device discovery method used, the Microsoft core driver is updated accordingly and the new device information is then reflected in the normal print driver user interface.
HP provides two different Universal Print Drivers: PCL 6 and emulation PostScript. PCL is a proprietary HP page description language, thus built in to their printers. Custom default values can be assigned with the HP Driver Configuration Utility. HP UPD is available in 32-bit or 64-bit, with 35 currently supported spoken languages for the interface.

### Dynamic Mode

In Dynamic Mode, searching for devices is accomplished using the mDNS discovery protocol (aka Bonjour). The mDNS protocol performs satisfactorily for devices residing on the same subnet only. Users will need to enter IP addresses for remote devices unless they have been previously discovered or are available on a managed printers list. Whether discovered, entered, or chosen, the HP universal printing dialog box submits SNMP requests to the target device’s IP address.
Using enterprise auto configuration (EAC) and a bidirectional communications port, SNMP requests ascertain a device’s configurations and capabilities. The results are used by HP UPD to update the print driver table in the Windows registry to accurately reflect the target device’s capabilities. The results are also cached (CREG) and the recently discovered device list is updated to provide an easy method for future selection. In Dynamic Mode, HP UPD is considered to be a virtual device. Therefore, the new device instances do not appear in the Printers folder.

### Traditional Mode

In Traditional Mode, HP UPD is bound to a print queue and behaves like a normal printer driver with the addition of bi-directional communications for device queries and real time print job status. This mode can be chosen during driver installation, or on the dynamic mode universal printing dialog box. Traditional Mode bypasses the universal printing dialog box and goes directly into the typical print setup dialog box.
Automatic configuration does not occur in Traditional Mode; but, users can select manual updates to ensure the device’s capabilities are properly represented. The HP UPD can be installed either in Dynamic Mode, Traditional Mode, or both, depending on user requirements.

## Management features

(INSTALL.EXE, MPA, AD, DDU, DCU)
HP UPD includes driver management features allowing IT administrators to pre-configure, deploy, and manage the HP driver software. Management tools within the HP UPD include INSTALL.EXE with command line options, the HP MPA Tool, Active Directory Templates, Driver Configuration Utility, Driver Deployment Utility and HP Web Jetadmin.
INSTALL.EXE
HP UPD installer allows some driver default settings to be modified via command line options. Some of these switches will change the system-wide behavior of the HP UPD, while other changes are specific to a single print queue.
HP MPA Utility
The HP MPA utility pre-configures some driver default settings in a managed HP UPD environment. Settings made within the HP MPA utility control the HP UPD at a user level. The resulting policies are maintained for every printer attached to the HP UPD. They are global user policies that affect HP UPD users.
HP UPD Active Directory Templates
An HP UPD Administrative Template(an Active Directory Template) can be added to create a Group Policy Object to manage the user UPD capabilities. The settings apply to any queue that uses the HP UPD. Care should be taken when locking configuration settings as the user is unable to change a locked setting.
HP Driver Configuration Utility
The HP Driver Configuration Utility (DCU) is a Windows application used to edit the configuration file associated with a particular driver. The configuration file controls the print driver settings and takes effect when the driver is installed.
HP Driver Deployment Utility
DDU is used to pre-configure a print driver for deployment. When the package is run on the client computer, the new configuration file configures the printer driver after it is installed, and does not interfere with WHQL certification. DDU contains the standalone DCU utility inside the package and is launched when Pre-configure driver is selected from the DDU tool.
Beyond driver configuration, HP UPD also employs managed printer lists (MPLs) and managed print policies (MPP) to control access to devices and capabilities. These technologies are used with HP UPD in dynamic mode. If MPLs are used, then searching for devices is unnecessary. Users are presented with a predefined list of devices from which to choose. MPLs are XML files that can be created manually, with the HP MPA utility, or exported from HP Web Jetadmin. When the HP UPD is activated, it begins by searching the network for the MPL file as shown in Figure 6. MPPs are used to control which users have access to device features like color, duplex, etc. By default, HP UPD assumes that the HP MPA is installed on a server named managed-print. As a result, HP UPD searches the network for this server to find HP Managed Print Policies or HP Managed Printer Lists.

### Status Notification Popups (SNPs)

The driver also includes status notification pop-ups during print submission that inform the user on device status, print job status, and consumable levels. This is a graphical popup window that displays a dashboard of toner supply levels, links for reordering consumables, and an instant support landing page for that particular HP device model. When the HP UPD is selected for printing, it will attempt to communicate directly with the printer to gather status and job information during printing. By querying the printer through SNMP get commands, network traffic is kept to a minimum and is only present during printing. If desired, the SNPs can be disabled.