USB Device vendors use co-installers to update device firmware for devices that use inbox USB device drivers. However, co-installers are not supported by the new 'Universal INF' standard, which is a requirement on Windows 10. This poses a challenge to existing USB device firmware update process. This topic outlines a recommend way to update USB device firmware without a co-installer.
Requirements
Data input devices Data storage Networking Print & Scan Projectors Smart wearables Software Telecom & navigation TVs & monitors Warranty & support other → Top brands Acer AEG Aeg-Electrolux Bosch Canon Dell Electrolux Fujitsu Hama HP LG Panasonic Philips Samsung Sony other →. Below, we are sharing the links to USB drivers for most of the popular Android device manufacturers like Samsung, LG, Sony, Google, HTC, Motorola, Dell, etc. These USB drivers are safe to use as they are from their respective manufacturers. All the links are valid and official. We recommend you to download the latest USB drivers.
The primary requirements from the USB device firmware update process are:
Seamless firmware update with no user interaction
Reliable recovery mechanism (for example, no bricking of devices)
Works on Windows 7 and later
Overview
USB devices like UVC cameras are released with in-field updatable firmware. There is no standard way to update the firmware today. One thing that is common to all existing update mechanism is that some custom software suite runs on the client and downloads the firmware to the device. Typically, as part of the device installation process, the firmware updating software suite is installed. The co-installer kick starts the firmware update process. The absence of co-installers on Windows 10 prevents device vendors from updating the firmware on these devices in the field.
The recommended way to circumvent the absence of a co-installer for the USB device firmware update scenario is to use a lower filter driver to the USB device that will kick start the firmware update process. During the AddDevice call, the filter driver will check the device firmware version and update the firmware if necessary.
Firmware update overview
When a USB device is plugged in to the system, the generic inbox driver is installed for the device. After the installation of the generic driver, the OS queries the Windows Update server for any vendor specific driver package availability and downloads it and installs the driver. The installed driver package will perform the firmware update.
There are two ways the firmware could be updated.
Firmware Update Filter Driver
- A vendor supplied lower filter driver that performs the firmware update.
Firmware Update Device Driver Scanner maker cameras wireless.
A vendor supplied lower filter driver that puts the device in 'firmware update mode'.
The device enumerates as a firmware update device.
Vendor supplied firmware update driver will load against this device and updates the firmware.
Method 1: Firmware Update Filter Driver
In this method, a lower filter driver to the USB device driver will be installed as part of driver update process. This filter driver will perform the firmware update.
The driver update package on the Windows Update server will contain:
A firmware update WDF lower filter driver
An extension INF to install the firmware update WDF lower filter driver
The 'firmware.bin' file
While installing the driver update package, the firmware update WDF filter driver’s AddDevice routine will be called. From this routine, the WDF filter driver will get for the device firmware version from the device HW registry key. The device firmware should have placed the firmware version using the MSOS descriptor onto the device HW registry key.
If the device firmware version and the filter driver expected firmware version are different, or
The firmware version is not available in the device HW registry key
- Then, the filter driver will insert itself into the device stack by returning success to AddDevice callback.
Else, the filter driver will not insert itself into the device stack
- Because there is no necessity for updating the firmware as the device has the expected firmware.
When the EVT_WDF_DEVICE_D0_ENTRY callback of the WDF filter driver is called at a later point, the filter driver must register for device interface change notifications using CM_Register_Notification or IoRegisterPlugPlayNotification (UMDF or KMDF) to listen to the device interface class the USB device will register the device into. E.g. The firmware update filter driver for a RGB camera would register for KSCATEGORY_VIDEO_CAMERA. On receiving the notification, the filter driver should post a work-item that would perform the firmware update.
UMDF based firmware update drivers can use the device specific APIs or issue the control transfers directly to access the USB device to perform the firmware update. For example, the UMDF based filter driver for a camera would use Camera APIs to perform the firmware update.
KMDF based firmware update drivers can send the vendor specific commands to perform the firmware update.
On completion of flashing the firmware, the device must disconnect and reconnect to the bus. The device will be re-enumerated with new firmware.
The method of using a 'firmware update filter driver', is recommended for devices that have enough resources to hold two full firmware images (the update image and a backup image) on the device memory. The reason is if there were failures during downloading the updated firmware, the device can abandon the update and boot into its original firmware. Thus, not bricking the device. Option port devices driver device.
Method 2: Firmware Update Device Driver
In this method, a lower filter driver to the USB device will be installed as part of the driver update process. This filter driver will send a command to the device to restart in firmware update mode, where the device exposes a firmware update interface. The driver for the firmware update interface will load and perform the firmware update.
The driver update package on Windows Update server for the device will contain:
A WDF lower filter driver that will place the device in firmware update mode
An extension INF to install the WDF lower filter driver
In addition to the driver update package, a separate Firmware Update Device Driver package will be present on Windows Update, with:
A WDF firmware update device driver and its INF, and
The 'firmware.bin' file.
While installing the driver update package, the WDF lower filter driver’s AddDevice routine will be called. From this routine, the filter driver will query for the device firmware version from the device HW registry key. The device firmware should have placed the 'firmware version', using the MSOS descriptor or the USB device’s extension INF, onto the device HW registry key.
If the device firmware version and the filter driver expected firmware versions are different or
The firmware version is not available in the device HW registry key
Then, the WDF filter driver will insert itself into the device stack.
Else, the WDF filter driver will not insert itself into the device stack
When the EVT_WDF_DEVICE_D0_ENTRY callback of the WDF filter driver is called at a later point, the filter driver will issue a vendor specific command to the device which will place it in firmware update mode. i.e. The device will disconnect and reconnect, exposing the firmware update interface.
The system will enumerate the firmware update device interface. A custom firmware update WDF driver supplied by the vendor, in the firmware update package, will be load for this firmware update interface. This driver will update the firmware.
When the EVT_WDF_DEVICE_D0_ENTRY callback of the WDF firmware update driver is called at a later point, the driver must post a work-item that would perform the firmware update.
On completion of flashing the firmware, the device must disconnect and reconnect to the bus. The device will be re-enumerated with new firmware.
This method is recommended for devices that cannot hold the updated and original firmware images due to shortage of memory on the device. The reason is if there were failures during downloading the updated firmware, the device can abandon the update and boot the device into its firmware update mode again and the firmware update can be retried. Thus, not bricking the device.
Recovery
The firmware update process can fail for various reasons. If that happens, when the device is enumerated again, the firmware update driver may try to update the firmware again and may fail again and this update process could end up in a loop. The firmware update driver must put an upper limit to the number of retries it can perform. When the firmware update retries gets beyond a threshold (for example, 3 retries) then the filter driver should not attempt to update the firmware again, until a new version of the driver is downloaded from WU. The firmware update driver may use the registry to persist the retry states.
At the end of device firmware update, we recommended the device reset itself and re-enumerate.
Both methods of firmware update, the device function must be stopped before performing the firmware update. This ensures there are no open handle to the device and avoids any OS restart requirement.
Sample INF
You need a USB repair tool when your USB flash drive is corrupted or unrecognized by your computer. Symptoms such as that you can't access data in the drive or you are seeing errors like 'please insert the disk into removable disk', 'you need to format the disk before using it', 'raw drive', 'flash drive not formatted' all indicate that the USB drive is corrupted and needs to be repaired.
The most important task in USB drive repairing is to recover data from the corrupted or damaged drive. Therefore, this post will start with USB drive data recovery tool to extract files from the problematic flash drive, then cover 3 flash drive repair tools to fix your drive back to normal. Here we go.
You May Also Like:
Before USB Repair: Recover Data from USB Drive
Some USB flash drive repair tools will format your USB drive(which will erase everything) to fix its software problem. Therefore, if the files in the flash drive matter to you, before applying a USB repair utility to the drive, you may want to recover all your data from the broken drive.
Since you can't access what's inside the pen drive right now, you need to use FonePaw Data Recovery, a software utility that can recover files from a corrupted flash drive and save them on a computer. Pictures, videos, documents(.doc, .pdf, .xls, etc.), audio files can all be extracted from the USB drive with FonePaw Data Recovery.
It takes 4 steps to get back files from a USB drive with the FonePaw utility.
Step 1 Run Broken USB Data Recovery Tool
Download FonePaw Data Recovery to your Windows or Mac computer.
After installation, run the utility.
DownloadDownload
Step 2 Recognize the USB Flash Drive
Plug the corrupted flash drive to your computer. The FonePaw tool will recognize the connected storage device and show it under Removable Device.
Drivers Shopbot Tools Usb Devices 3.0
Drivers Shopbot Tools USB Devices
Tick the checkbox before the USB drive and tick the types of files to recover.
Click Scan.
Step 3 Restore Data from Corrupted USB Drive
The utility will scan the corrupted USB drive to restore data from it. If your needed files can't be found after a quick scan, click Deep Scan to get more files detected from the flash drive.
Step 4 Save USB Data to Computer
The files from USB drive will be organized in different categories.
Select the files and click Recover to save them on your computer.
With all your data back to your computer, you can use a flash drive repair utility to fix the corrupted USB drive.
USB Drive Repair Tool: Windows Disk Error Checking
The first tool you can use to repair a USB flash drive is the built-in disk repair tools in Windows and Mac computer.
USB Repair Tool on Windows
To use Windows' built-in USB repair software, follow these 5 steps.
Step 1Plug the USB drive into your computer.
Step 2 Find the USB drive in File Explorer, right click on it and select Properties.
Step 3 Under the Tools tab, click Check in Error Checking section.
Step 4 A new pop-up window appears. Click Scan and repair drive.
Step 5 The tool will scan the USB drive and repair USB drive errors if it can find any.
USB Repair Tool on Mac
First Aid on recovery mode can serve as a computer flash drive repair tool on Mac.
Step 1 Restart your Mac and press Command + R during the reboot until the Mac boots into recovery mode.
Step 2 Click Disk Utilities(Utilities) > Disk Utility.
Step 3 Select the connected USB drive under External and click First Aid to run it.
Step 4 Wait until the repair to complete. Click Done.
USB Drive Repair Tool: CHKDSK Utility
CHKDSK, short for check disk, is a Windows utility that can be used to check and fix errors on a drive. Therefore, you can use the utility to repair a corrupted USB drive.
Step 1 Open Command Prompt on Windows XP, Vista, 7, 8, 10. You can find it from Start menu and search 'cmd' in the search bar.
Step 2 Remember the drive letter of the corrupted USB drive.
Step 3 Enter chkdsk f: /f /r /x. F is the USB drive letter on my computer. Replace f with the drive letter of yours.
Drivers Shopbot Tools Usb Devices Adapters
Understand the CHKDSK commands
/f: fix errors in the USB drive.
/x: Dismount the USB drive.
/r: Locate bad sector on the flash drive and recover data from it.
If the USB repair tools fail to fix the corrupted USB drive, you will need to format the USB drive to get the problem fixed. Before formatting the drive, try FonePaw Data Recovery to extract your data from the damaged USB drive and then get corrupted flash drive fixed.