How to get DeployAnywhere (DA) to work with USB 3.0 based drivers

book

Article ID: 157911

calendar_today

Updated On:

Products

Deployment Solution

Issue/Introduction

USB 3.0 based drivers are not properly installed by DeployAnywhere
After rebooting a machine into production the USB 3.0 based drivers are not installed.

Cause

Because USB 3.0 drivers consist of multiple parts, when they are imported into the Driver Database, they are imported into separate folders. (typical USB 3.0 drivers have a controller and a root hub driver)  When DA executes in automation, it only detects the controller drivers and copies only these drivers to the system. Because the root hub drivers aren't seen the drivers are never copied down to the system.

Resolution

Ensure that Deploy Anywhere is the version from the latest Hotfix.
 
This issue has been fixed in 8.0 HF1
 
DeployAnywhere now adds a second instance of dpinst to the rundpinst.bat file.  No additional workarounds are needed.
 
Starting with 8.0 HF4, when a USB 3.0 driver is tagged, it will be copied to the \retarget\directcopy folder. The driver will be installed via the critical driver process of Windows instead of using dpinst.

 

Steps to use USB 3.0 drivers in DS 7.6

 

 
  1. Import the driver using DriverManager.  Depending on the USB 3.0 based driver, at least two folders are created.  Close the Driver Management page in the console.
  2. Boot a system into automation and deploy an image with a Deploy Image task that has DA selected
  3. DA Scans the system and copies the appropriate drivers to the non-critical directory
  4. Reboot to production
  5. Windows setup runs and installs the controller driver using DPinst
  6. Create a 'Run Script' task that contains the line 'c:\Drivers\Symantec\NonCritical1\run_dpinst.bat' and schedule it against the system.  Because the controller driver is present because of step 5, DPinst can now see the root hub driver and installs it.

 

 Please follow the steps below to workaround the issue for DS 7.1 and DS 7.5:

 

 
  1. Import the driver using DriverManager.  Depending on the USB 3.0 based driver, at least two folders are created.  Close the Driver Management page in the console.
  2. On the Notification Server (changes made on NS should replicate down to other site servers) browse to the appropriate directory based on version of DS being used:
    1. DS 7.5 Path: ':\Program Files\Altiris\Altiris\Deployment\Driversdb and sort the directory by date.
    2. DS 7.1 Path: ':\Program Files\Altiris\Altiris Agent\Agents\Deployment\Task Handler\DriversDB' and sort the directory by date.
  3. The driver that was just imported should have created at least two folders.  These folders will have the newest dates in the directory.
  4. Open the two folders mentioned in Step 3 and delete the 'drivers.manifest.txt' file that is present in both directories
  5. In the main 'DriversDB' folder rename 'drivers.manifest.txt' to 'drivers.manifest.old'
  6. Create a new folder in the 'DriversDB' directory.   Name it any name that is appropriate.
  7. Copy the contents of the two directories mentioned in Step 3 to the new folder.  Delete the two directories mentioned in Step 3.
  8. Open up Driver Management page in the console.  When this page is accessed, Driver Manager regenerates the 'drivers.manifest.txt' file in the 'DriversDB' directory and creates a 'drivers.manifest.txt' file for the folder created in Step 6. Close the Driver Management page in the console.
  9. Open 'drivers.manifest.txt' for the folder created in Step 6.
  10. Verify that the line that starts with 'Files=' contains a list off all INF, cat, oem, sys files.  E.g.  If the root hub controller and driver files are combined for a Dell 7240 system into one folder, the 'files=' line should be: 'files=("iusb3hub.inf" "iusb3hub.sys" "iusb3hub.cat" "iusb3xhc.inf" "iusb3xhc.sys" "iusb3xhc.cat").  If all 6 files are not present in the 'Files=' line then they will need to be manually written in and added.  After all 6 files are present on that line proceed to step 11.
  11. Open up Driver Management page in the console.  When this page is accessed, Driver Manager regenerates the 'drivers.manifest.txt' file in the 'DriversDB' directory with the changes that may have been made in step 10.
  12. Boot a system into automation and deploy an image with a Deploy Image task that has DA selected.
    • DA Scans the system and only sees the controller; however DA copies the controller drivers AND the root hub driver because the root hub driver is in the same directory as the controller driver.  (the root hub drivers comes along for the ride)
  13. Reboot to production
  14. Windows setup runs and installs the controller driver using DPinst
  15. Create a 'Run Script' task that contains the line 'c:\Drivers\Symantec\NonCritical1\run_dpinst.bat' and schedule it against the system.  Because the controller driver is present because of steps 13, DPinst can now see the root hub driver and installs it.

Applies To

 All build of DS up to and including DS 7.6 HF7