Foresight Sports USB Device Issues
Two separate issues have been found relating to the Foresight Sports USB Drivers which affect Windows users. This document is provided in order to assist with diagnosing these issues and provide instructions to resolve them so that normal functionality can be restored to the affected systems.
Issue #1: USB Driver Access Denied
On certain installations of Windows an issue has been introduced which prevents communication with the USB Device Driver and thus prevents all associated software from functioning. This is caused by some, as of yet unknown, Windows Kernel component over-writing the default Security attributes of our Device handle.
Symptoms
Software and Driver will install correctly but communication with the device will fail with an error “Access Denied”
Diagnosis
- Open Device Manager
- Find the “NGLM MSC Interface Device” entry
- Double click to open the “Properties” dialog and click on the “”Details” tab
- From the “Property” dropdown select “Physical Device Object Name”
- Note the value (ex \Device\USBPDO-10)
- Download the “exe” tool from https://technet.microsoft.com/en-us/sysinternals/bb896657.aspx
- Extract and execute exe with Administrator privileges and navigate to “Device” tree
- Double click the entry which corresponds to the previously noted “Physical Device Object Name”
- If you see an error “Access is Denied” than proceed to work around steps
Workaround
- Uninstall Device Instance Software
- Unplug NGLM USB Device
- Open Device Manager and select “View -> Show Hidden Devices”
- This Uninstall Device Instance (Right Click -> Uninstall) Note on Windows 10 you must check "Delete the driver software for this device"
- Uninstall Device Setup Class Software
- Run "Regedit" with Administrator privileges
- Navigate to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{78A1C341-4539-11d3-B88D-00C04FAD5171}
- Take ownership of this key (Right Click -> Permissions -> Security -> Advanced -> Owner : Change)
- Explicitly add full permissions (Right Click -> Permissions -> Security -> Add : Full Permissions)
- Repeat previous 2 steps for all subkeys
- Delete the registry key
- ReInstall Drivers
- Verify Proper Functionality
Issue #2: USB Driver Failed to Load
On certain installations of Windows an issue has been introduced which prevents the USB drivers from correctly loading. This is caused by using the default value for the Setup Class Guid (78A1C341-4539-11d3-B88D-00C04FAD5171) present in the WinUsb sample from Microsoft instead of generating a unique value. The result is interoperability issue with other software which uses this default value which manifests as an incomplete and corrupted Drive Package being staged to the Windows Driver Repository.
Symptoms
During Software Installation, the Driver Software will fail to load with an error “The Path Could not be Found”.
Diagnosis
Open Regedit and navigate to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{78A1C341-4539-11d3-B88D-00C04FAD5171} key. If it is present without our driver correctly loading, then proceed to the work around steps.
Workaround
- Uninstall the software which is using this key.
- Currently only McAfee Antivirus software has been found to use this value. But potentially other products may be making the same mistake.
- This can be verified by examining the Class node under this Registry key. Find the corresponding entry under the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Services hive and it will indicate which software is using this value.
- Uninstall the Device Setup Class
- Follow workaround instructions Step 2 of Issue 1: USB Driver Access
- Uninstall Corrupted ForeSightSports Driver Package
- Start a “cmd” prompt session with Administrator privileges
- Execute “pnputil –e” to list all installed 3rd Party Driver Packages
- Find the entry corresponding to “Driver Package Provider” equals ForesightSports and note “Published Name” value in the format “inf”
- Execute “pnputil –f –d <Published Name> with the name noted earlier to force deletion of this package
- Install ForeSightSports Software
- Verify Proper Functionality