Blog: drivers

I recently updated a standalone ESXi 5.5 server through command line patching.  After the ESXi server rebooted and came back online, it showed no datastore and no access to virtual machine disks. 

I found a post about ESXi 6 updates causing similar issue when the HP Storage Array drivers had been removed during the update process. Since I still had my update logs pulled up in console window, I was able to locate a line that said "VIBs Removed: Hewlett-Packard bootbank scsi-hpsa <version>".

I was able to find a link to download drivers and transferred them to the ESXi server's /tmp directory:

The command to install the patch was:

"esxcli software vib install -d /vmfs/volumes/datastore1/hpsa-<version>-offline_bundle-<number>.zip"

After a reboot, I had access to the datastore again and averted potential disaster!



For several months, I dealt with the occasional task of having to restart my laptop (Windows 8.1) because the memory usage would get close to 100%, even with no apps running. There were no processes in Task Manager indicating high memory usage, so I suspected I had a memory leak in a faulty driver.
I first ran rammap.exe from Microsoft Sysinternals ( This tool showed that the non-paged pool memory usage was very high. But this didn’t tell me what process was causing the leak.

Next I downloaded and installed the Windows Driver Kit 10 from Microsoft ( This kit supports Windows 7 through Windows 10. I had to reboot to complete the install then wait until my system was running low on memory before continuing my diagnosis. Once I noticed I was low on memory again, I ran "poolmon –b –p" from C:\Program Files (x86)\Windows Kits\10\Tools\x64. The –p switch enables using Non-paged and Paged pool memory  and the –b switch sorts descending by bytes. At the top of my list was the tag "AVDT".

So how do you figure out what the tag is referring to? I opened an admin command prompt and entered "findstr /s AVDT *.sys". This searched all *.sys files (most driver files are *.sys) in all subdirectories (/s) on the C: drive for the string "AVDT". This returned a screen full of mostly non-readable text which was the contents of *.sys files containing the string "AVDT". It was fairly easy to see a path "\Program Files\WIDCOMM\Bluetooth Software\bin\btwavdt.sys". Looking at the properties of the file indicated what was obvious from the path, it was related to Bluetooth.
Whenever I would connect my iPhone via Bluetooth to my laptop and play music (in order to use my external speakers), the driver would eat up non-paged pool memory to the "tune" of 1 MB every 5 seconds! By opening Task Manager and viewing Memory on the Performance tab, I could literally watch the consumption of non-paged pool memory increase with every measure. Just having the phone connected via Bluetooth didn’t cause this, only when music was playing. At a rate of 1 MB every 5 seconds, it consumed about 2.8 GB of memory to listen to music for half of the day!
I searched to find a solution to this bug but did not not find one. So until I can get an updated driver, I won’t listen to music from my phone on my PC via Bluetooth. Or if I do, I know I only have a few hours before a reboot is needed.


At a bank IT consulting customer, the print spooler on both of print cluster nodes was crashing multiple times a day and posting the following error. The DLL in question was part of the Xerox Global Print Driver package.

Faulting application spoolsv.exe, version 6.0.6002.18294, time stamp 0x4c6a9898, faulting module x2utilGO.dll, version 5185.4100.0.0, time stamp 0x4d46e6ea, exception code 0xc0000005, fault offset 0x0004cf8a, process id 0x778, application start time 0x01cc15d439353ddd. [more]

When looking at the orphaned spool files, I found that some of the files had a .TMP extension. These type of spool files are associated with LPR print jobs. I was able to pull the printer name from the spool file and found the specific printer that sent the job. This printer was added to the network on the evening of the 16th – the print spooler started having issues on the 17.

In looking at the configuration of the printer, the TCP\IP port was set to use the LPR protocol. This was a configuration that we had used on some printers in the past. When the new printer was setup, it was assigned to the port that was used previously (which is a common procedure). Even though the documentation states this printer supports the LPR protocol, it clearly has an issue with this configuration. I set the port back to the Raw protocol and also checked every other Xerox printer port and set it from LPR to Raw where necessary (8 printers total).


I was utilizing a new USB headphone/microphone set instead of my normal devices which plug into the jacks on the side of the computer.  Everything worked great when the computer detected the new USB audio device and installed the driver.  Unfortunately, when I was done with the USB device and attempted to connect the old set of headphones, the computer would not detect them.

Upon further investigation, the computer told me there was no audio jack installed on the computer at all!  Evidently the USB device driver had disabled the audio jack completely to where it could not even be detected.  To regain sound, I had to uninstall the USB audio device driver.  This allowed me to access my audio jack settings again.

Beware of what certain device drivers can do!


I recently worked on a problem where a user had a PC with a network printer added utilizing HP’s Univeral Print Driver. The user RDP’s to a Terminal Server and this “local” network printer is redirected through to their Terminal Server Session. When the user attempted to print to the redirected network printer, they received the following error message:

"The selected printer 'HP Universal Printing PCL6' is not a supported HP device"

Printing from the PC to the network printer as well as printing from the TS directly to the network printer worked. [more]

Knowing that the UPD utilizes bidirectional communication when printing, it is my best guess that this was not working via the TS port that was created when the redirected network printer was auto-generated at login. This behavior does not occur with all model printers.

I enabled and configured SNMP with an established SNMP community name on both the network printer port on the print server as well as through the Web Interface on the network printer. Once that was done, printing via the redirected network printer worked.


One of our Lubbock IT support clients uses both the PS and PCL6 versions of the Xerox Global Print Driver (GPD) in a Windows 2008-x86 clustered print server environment.

To fix an issue that we were having with v5.173 of the GPD, Xerox suggested we upgraded to the current 5.185 version of the driver.

I successfully upgraded the PS language of the v5.185 driver on both print servers without any problems.

The problem appeared after I upgraded the PCL6 driver. I downloaded and installed the PCL6 driver to both print servers. Both servers showed that the update was installed successfully; however, the version of the driver within print management still showed to be v5.173. When I pulled up the printer that was using the driver, the version showed to be the updated version (5.185). When print jobs were sent to printers using the updated PCL6 version of this driver, the print spooler would crash and fail over. This occurred on both print servers. [more]

I was unable to uninstall the driver at this time, because over 40 printers were pointed to this driver. I then modified each printer to use the PS version of the driver. After doing so, I then removed the driver package from the print server through print management. I successfully removed the driver and the package from one print server. On the second print server, I received the following error upon removal: “Failed to remove driver package x2univx.inf. Driver package in use.” The driver itself was no longer listed in the print management window.

I then reinstalled v5.185 of the global print driver on both servers. Printing was successful on the print server on which the driver was removed successfully. However, the print spooler continued to crash on the server which had the error on driver removal. I attempted to remove the driver again, but received the same error. Restarting the print spooler as well as the server after an install but before the removal did not alleviate the issue. At this point, I called Xerox. Unfamiliar with the issue, they suggested I remove some files manually from the print virtual quorum. I completed this process, but the error still occurred upon driver removal.

Finally, I reinstalled v5.173 of the global print driver. After a successful installation, I then attempted to remove the driver.  The driver package was removed successfully and installed the new version of the driver (v5.185). I modified some of the printers to use this new driver and printing was successful.


Windows 7 by default installs the Universal Print Driver for HP device and uses the native Windows scanning options. Which is not as robust as the previous versions that came with the All-In-One systems. The user was complaining that the scanning was not usable and needed the same functionality that was there before Windows 7. This method will allow you to install the same software options previously available on Windows XP and Vista. After installation of the software on a Windows 7 PC in Compatibility Mode the following software components are installed:

  • Print Driver
  • Send Fax
  • Uninstall Utility
  • User Guide
  • Twain and WIA Scan Drivers
To run the Windows Vista software on a Windows 7 PC in Compatibility Mode follow the steps below:
  1. Copy the entire product CD for Windows Vista 32 bit to the hard drive of the Windows 7 PC.
  2. The Windows Vista Full Software Solution on can also be used. Download the Full Software Solution for your product for Windows Vista from Unzip/extract to the hard drive of the Windows 7 PC.

    Uncheck the checkbox "When done unzipping open: autorun.exe" before Unzipping the download bundle. [more]

    Figure 1: WinZip Self-Extractor

  3. There are 4 executable (.exe) files in the full solution software bundle that are included in the copied/extracted software bundle on the Windows 7 PC hard drive that need to be run in Compatibility Mode for a successful install on a Windows 7 PC.

    These 4 files are:

    • Autorun (.exe)
    • Hpzsetup (.exe)
    • Hpzstub (.exe)
    • Setup (.exe)

    Note: These 4 files may not show the file type extensions (.exe) when listed in the Full Software Solution folder.

    Figure 2: Files listed in the Full Software Solution folder

  4. 4. Each of these 4 files (autorun, hpzsetup, HPZstub, and Setup) need to be modified to be run in Compatibility Mode on the Windows 7 PC. Right click on each file and go to Properties. Click on the Compatibility tab and checkmark the box Run in compatibly mode for: and select Windows Vista (Service Pack 2) from the dropdown box. Click on Apply or OK . Repeat this step for EACH of the 4 files listed above.

    Figure 3: Selecting the compatibility mode

After the 4 files have been set to run in Compatibility Mode, double click the autorun.exe file and allow the installation to begin. Click on Install Software from the top of Begin Setup screen and follow the installation prompts.


I installed Intel Turbo Memory driver update - but it also updated the Intel Matrix Storage Manager & Turbo Memory driver.  After the installation there were two entries in Programs and Features - one just for the Turbo Memory driver and one for the Matrix Storage Manager & Turbo Memory.

After this installation, my PGP single sign-on stopped working.  I would enter a pass phrase at boot and then credentials again when Windows started.  I changed my password to get things synched back up and it still didn't work. [more]

I uninstalled the Turbo Memory driver, after which there is only one related Intel entry in Programs and Features and now it doesn't mention Turbo Memory.  Then I rebooted and still had to use the old Windows password in the PGP boot loader and the new one when Windows started up.  However, this time, when booting into Windows, it gave me a password error before asking for the correct one (i.e., PGP had passed the old one through this time - I could have saved a password change).  After I entered the correct password things worked correct at the next boot.


A client recently had a problem where printing to an HP P2035 printer from the network. When the printer was pointed to installed driver, the print spooler on the print server would crash.

The cause of the problem was that the only model specific driver to date (10/21/09) for the P2035 model was a Host-based driver – also known as: Graphic Display Interface (GDI). The driver must NOT be a Host-based printer (AKA GDI or Windows-only Printer) - Host-based Printers, will not function in a Terminal Services Environment (without 3rd party printing software). The only other available driver was the HP universal driver. [more]

In the documentation I found out that the printer does support PCL5 language. However, there is not a model specific driver in this language provided by HP. The P2015 model does have a PCL 5e driver available. I downloaded that model and installed it to the printer server and test servers. I then tested printing and things seemed to function.  However, further testing revealed failure to print images from Adobe and bank specific applications while using the P2015 driver with this printer. Images would come out as black squares. Several modifications were made to the printer settings, but nothing seemed to fix this issue. The problem was not documented on HP’s support site, probably due to the fact that this is a new model of printer.