Download USB Mass Storage Device for Windows to uSB driver. Download USB Mass Storage Device for Windows to uSB driver. Join or Sign In. Sign in to add and modify your software.
Unknown Device Identifier 9.01 on 32-bit and 64-bit PCs. This download is licensed as freeware for the Windows (32-bit and 64-bit) operating system on a laptop or desktop PC from drivers without restrictions. Unknown Device Identifier 9.01 is available to all software users as a free download for Windows. The Fluke 1735 Three-Phase Power Logger comes with two different USB options, the first is an external RS232/USB converter, the second is the built in USB interface (started shipping April 2010). USB driver for Vista (.exe) USB driver for Windows XP (.zip) USB drivers for external RS232/USB interface. Fluke 1735 345 drivers (.exe). Go to the device manager to verify what the driver assignment given, look in the Ports directory. After selecting the com you will want to click on the icon to the right of the drop down “download recorded data”. You should then see the download window and your data should appear. Be sure to save the data by selecting file and save as. Download drivers to communicate with NI products or third-party. NI-DAQmx provides support for customers using NI data acquisition and signal conditioning devices. Serial, USB, and other types of instruments. NI-488.2 provides support for customers using NI GPIB controllers and NI embedded controllers with GPIB ports.
- 2Drivers
- 6FAQ
- 7Building from source
Windows installers
We provide nightly Windows installers for sigrok-cli and PulseView (require Windows XP or higher). Please test and report any issues you encounter.
Downloads:
- pulseview-NIGHTLY-32bit-static-release-installer.exe (debug build)
- pulseview-NIGHTLY-64bit-static-release-installer.exe (debug build)
- sigrok-cli-NIGHTLY-32bit-static-release-installer.exe (debug build)
- sigrok-cli-NIGHTLY-64bit-static-release-installer.exe (debug build)
Drivers
In order to use libsigrok (via a sigrok frontend) on Windows, you need to install the proper driver for the respective device.
COM/serial/RS232 driver
If your device is connected through a (virtual) COM port, libsigrok generally doesn't need a special driver. Please install the driver as provided by the manufacturer. If you are unsure, you can check if your device appears at the 'Ports (COM&LPT)' section of the Windows Device Manager.
Exception: If the libsigrok driver uses the chip, for example an FTDI chip, in a special mode (i.e., not as a plain COM port), the Zadig steps outlined below will be required. One example for that is the 'ftdi-la' libsigrok driver.
Device specific USB driver
The device specific USB driver shipped with the vendor software is not going to work in almost all cases. You will need to install the WinUSB driver.
For installing the WinUSB driver you can use the Zadig executable. There are two versions, one for Windows XP (zadig_xp.exe), and another one for all other (Vista or higher) supported Windows versions (zadig.exe). Both 32 and 64 bit Windows versions are supported.The sigrok-cli and PulseView installers ship with both Zadig executable files for convenience and they're available from the Windows 'Start' menu (the Zadig *.exe files themselves are located in the installation directory of the respective application).
If you already installed the vendor driver previously, you need to run Zadig and switch to the WinUSB driver (see above). There's no need to uninstall or deactivate the vendor driver manually, Zadig will handle all of this.
Note: For some devices (such as the Hantek 6022BE, for example) you might have to assign the WinUSB driver via Zadig twice: the first time for the initial USB VID/PID the device has when attaching it via USB, and a second time after the firmware has been uploaded to the device and the device has 'renumerated' with a different VID/PID pair.
See also the Zadig wiki page for more information.
Firmware
The Windows installers ship with all firmware files that are either open-source or where we have permission from the vendor to distribute them. Some devices will need other firmware which we cannot redistribute though. See the wiki page for the respective device on how you can extract those firmware files from the vendor's software.
You'll need to copy the extracted files into one of the directories where libsigrok will search for firmware files. The list of those directories can be found in PulseView's 'Settings->About' dialog in the 'Firmware search paths' section, or in the sigrok-cli '-l 5' log output.
Example paths on 64bit PulseView on 64bit Windows 10 (might vary on other systems):
- C:UsersxxxxAppDataLocalsigrok-firmware (where xxxx is your username)
- C:ProgramDatasigrok-firmware
- C:UsersPublicDocumentssigrok-firmware
- C:Program Files (x86)sigrokPulseViewsharesigrok-firmware
Example files
The Windows installers ship with example dump files (from our sigrok-dumps repository), which are located in the examples subdirectory of the install directory of sigrok-cli and PulseView.
These files can be used to conveniently test various frontend features and protocol decoders, and so on.
Limitations and TODOs
See the list of currently known Windows issues in Bugzilla.
FAQ
I cannot start sigrok-cli or PulseView: error Oxc0150002
This happens if you don't have the
- Microsoft Visual C++ 2010 Redistributable Package (x86) or
installed. Usually this is already installed on most machines since various other software packages also need this. If you didn't yet install it (or no other software package automatically installed it for you) you will see the Oxc0150002 error and sigrok-cli and/or PulseView will not start.
The root cause for this is that the above download will install the otherwise missing file msvcr100.dll (and possibly others) which is required for running sigrok frontends. The requirement is imposed by python34.dll to be more specific, which we use/need for running protocol decoders.

Please download the respective Microsoft Visual C++ 2010 Redistributable Package and install it, that should fix the issue and allow you to start sigrok-cli and/or PulseView.
My device is not found or usable (USB/driver/firmware/hardware issues)
If a libsigrok frontend such as sigrok-cli or PulseView doesn't seem to find your device, that could have multiple reasons:
- You need to place the proper firmware and/or FPGA bitstream file(s) for your device (if any) into the respective directory where the frontend expects them. See above for details.
- You need to install the correct vendor driver and/or use Zadig to assign the WinUSB driver to your device. See above for details.
- Be careful into which USB port you plug the device. Windows assigns drivers to USB devices based on their serial number, and as a fallback (if the device doesn't have a USB serial number) it assigns drivers per USB port. That means (for example) that if you assigned the WinUSB driver using Zadig while your device was attached to a certain physical USB port, that assignment will not be available when you plug the same device into another USB port! You'll have to do the WinUSB driver assignment again (using Zadig) for that new USB port!
- For some devices (e.g. FX2-based ones) you might have to assign the WinUSB driver via Zadig twice: the first time for the initial USB VID/PID the device has when attaching it via USB, and a second time after the firmware has been uploaded to the device and the device has 'renumerated' with a different VID/PID pair (run PulseView or sigrok-cli --scan to upload the firmware). Because of the different VID/PID pair, Windows will be unable to tell that it's actually the same USB device and only assign WinUSB to the device it saw first.
- If you use certain inexpensive FX2-based logic analyzers, please do not use the USB cable that they shipped with. Those USB cables seem to be of a consistently very bad quality and cause all kinds of strange issues. Use another USB cable of which you are sure that it is working well.
(FX2 based) logic analyzer terminates acquisition before the specified limit.
Got trouble getting captures with an FX2 based logic analyzer at higher samplerates. Acquisition terminates before the specified amount of samples or time. Logs contain a message that the device '.. only sent [a smaller amount of data]'.
That's a known constraint of the ubiquitous FX2 chips which are found in many cheap and thus rather popular logic analyzers (and also in some oscilloscopes). The high rates of 24MSa/s for up to 8 logic channels, or 12MSa/s for up to 16 channels, are near the theoretical bandwidth limit of the USB 2.0 connection when communication overhead gets considered. In addition the FX2 chip only has little memory for to-get-transmitted data (covering the fraction of a millisecond). That's why successful communication heavily depends on the PC's capability to process the data which the FX2 chip provides. The slightest hiccup causes a FIFO overflow in the FX2. Lost data cannot get recovered, and it's uncertain which period of acquisition time was affected. So the only remaining option is to terminate the acquisition.
Things to check:
- Sample data at lower rates when possible.
- Pick proper cables, those shipped with the cheap devices often are not up to their task.
- Make sure USB bandwidth for the logic analyzer is not shared with other devices. Ideally put the logic analyzer on a separate port so that nothing else occupies that bus. Avoid USB hubs in that acquisition setup.
- Disable features which could stall the acquisition. Separate the phase of data acquisition from the phase of processing that data.
- Reduce the PC's workload during the time of acquisition (if it causes the communication to stall ocassionally).
- Past reports suggest that some operating systems are said to suffer more often from that issue than others.
How do I see debug output from PulseView on Windows?
Because of the division between console and graphical subsystems in Windows, debugging output is not directly visible in console like it would be on Linux.Instead, in normal Windows builds, debugging output can be seen in PulseView settings window 'Logging' tab.
The default log level is 2 (errors only). To capture full debug output, PulseView can be started with option `-l 5`, which is done by the `PulseView (debug)` shortcut created by the installer.
However, if the whole PulseView application crashes, the debug log in settings window disappears also. For these cases you should download the debug build from above. It will open a separate console window that will show log messages.
Building from source
Note: This should generally not be necessary for users, please just use the provided nightly installers (see above).
Get the sigrok-util git repository, which contains instructions as well as scripts to help in the below steps.
Cross-compile using MXE
If you really want to build from source, we recommend you use the sigrok-cross-mingw script from the sigrok-util repository (that uses MXE) to cross-compile the Windows binaries on a Linux system.
Native builds are generally not supported by us! Yes, they can work in theory (see below), but it means a lot of hassle compared to a cross-compile using the above script, and native builds are not really well-tested by us.
Native build using MSYS2
If you do want to build the sigrok subprojects natively on a Windows system (instead of using the cross-compile method, see above) we recommend you use MSYS2. More information is available on the MSYS2 introduction and the MSYS2 installation pages.
Please read our README for details on how to set up MSYS2 in general, how to install the sigrok dependencies, and so on.
Then, use our sigrok-native-msys2 script to build all required software components.
Status:
- This is still work in progress, not all parts are fully working, tested, or supported yet. Patches welcome!
- Working: libusb (special branch), libserialport, libsigrok, libsigrokcxx, libsigrokdecode, sigrok-firmware, sigrok-firmware-fx2lafw.
- NOT yet working: libsigrok Python/Ruby/Java bindings, sigrok-cli, sigrok-cli NSIS installer, PulseView, PulseView NSIS installer.
- Currently, the main missing parts in MSYS2 are static builds for libzip and Python. Once those are available, we should be able to build all sigrok subprojects natively via MSYS2.
Native build using the old MinGW+MSYS
Not supported by us. Please use one of the methods described above.
Native build using Cygwin
Not supported by us. Please use one of the methods described above.
Native build using Borland/Embarcadero C++ Builder
Not supported by us. Please use one of the methods described above.
Native build using Microsoft Visual Studio
Not supported by us. Please use one of the methods described above.
Important
This topic is for programmers. If you are a customer experiencing USB problems, see Troubleshoot common USB problems
This topic lists the Microsoft-provided drivers for the supported USB device classes.
- Microsoft-provided drivers for USB-IF approved device classes.
- For composite devices, use USB Generic Parent Driver (Usbccgp.sys) that creates physical device objects (PDOs) for each function.
- For non-composite devices or a function of a composite device, use WinUSB (Winusb.sys).
If you are installing USB drivers: You do not need to download USB device class drivers. They are installed automatically. These drivers and their installation files are included in Windows. They are available in the WindowsSystem32DriverStoreFileRepository folder. The drivers are updated through Windows Update.
If you are writing a custom driver: Before writing a driver for your USB device, determine whether a Microsoft-provided driver meets the device requirements. If a Microsoft-provided driver is not available for the USB device class to which your device belongs, then consider using generic drivers, Winusb.sys or Usbccgp.sys. Write a driver only when necessary. More guidelines are included in Choosing a driver model for developing a USB client driver.
USB Device classes
USB Device classes are categories of devices with similar characteristics and that perform common functions. Those classes and their specifications are defined by the USB-IF. Each device class is identified by USB-IF approved class, subclass, and protocol codes, all of which are provided by the IHV in device descriptors in the firmware. Microsoft provides in-box drivers for several of those device classes, called USB device class drivers. If a device that belongs to a supported device class is connected to a system, Windows automatically loads the class driver, and the device functions with no additional driver required.
Hardware vendors should not write drivers for the supported device classes. Windows class drivers might not support all of the features that are described in a class specification. If some of the device's capabilities are not implemented by the class driver, vendors should provide supplementary drivers that work in conjunction with the class driver to support the entire range of functionality provided by the device.
For general information about USB-IF approved device classes see the USB Common Class Specification
The current list of USB class specifications and class codes is documented in the USB-IF Defined Class Code List.
Device setup classes
Windows categorizes devices by device setup classes, which indicate the functionality of the device.
Microsoft defines setup classes for most devices. IHVs and OEMs can define new device setup classes, but only if none of the existing classes apply. For more information, see System-Defined Device Setup Classes.
Two important device setup classes for USB devices are as follows:
USBDevice {88BAE032-5A81-49f0-BC3D-A4FF138216D6}: IHVs must use this class for custom devices that do not belong to another class. This class is not used for USB host controllers and hubs.
USB {36fc9e60-c465-11cf-8056-444553540000}: IHVs must not use this class for their custom devices. This is reserved for USB host controllers and USB hubs.
The device setup classes are different from USB device classes discussed earlier. For example, an audio device has a USB device class code of 01h in its descriptor. When connected to a system, Windows loads the Microsoft-provided class driver, Usbaudio.sys. In Device Manager, the device is shown under is Sound, video and game controllers, which indicates that the device setup class is Media.
Microsoft-provided USB device class drivers

USB-IF class code | Device setup class | Microsoft-provided driver and INF | Windows support | Description |
---|---|---|---|---|
Audio (01h) | Media {4d36e96c-e325-11ce-bfc1-08002be10318} | Usbaudio.sys Wdma_usb.inf | Windows 10 for desktop editions (Home, Pro, Enterprise, and Education) Windows 10 Mobile Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides support for the USB audio device class by means of the Usbaudio.sys driver. For more information, see 'USBAudio Class System Driver' in Kernel-Mode WDM Audio Components. For more information about Windows audio support, see the Audio Device Technologies for Windows website. |
Communications and CDC Control (02h) | ||||
Ports {4D36E978-E325-11CE-BFC1-08002BE10318} | Usbser.sys Usbser.inf | Windows 10 for desktop editions Windows 10 Mobile | In Windows 10, a new INF, Usbser.inf, has been added that loads Usbser.sys automatically as the function driver. For more information, see USB serial driver (Usbser.sys) | |
Modem {4D36E96D-E325-11CE-BFC1-08002BE10318} Note Supports Subclass 02h (ACM) Repeat the PSR-800 driver installation steps 10 - 14 for each physical USB port on your computer. You can verify the driver installation by checking in the device manager that now your scanner shows up under 'Ports (COM&LPT)' as 'GRECOM PSR-800 Serial Device'. These instructions come from this thread Psr 800 Firmware Update. GRE PSR-800: EZ ScanDG Utility Manager Version 1.08. User Manual English/US French/ Canadian GRE PSR-700: EZ ScanSD Utility Manager. In the 'Ports (COM & LPT)' section of Device Manager you should see an entry that reads something like 'Serial on USB Port (COM 15)'. The actual text will vary with the driver's documentation Select the Serial Device Entry in the list Right click on it and select Properties. Virtual COM port (VCP) drivers cause the USB device to appear as an additional COM port available to the PC. Application software can access the USB device in the same way as it would access a standard COM port. This software is provided by Future Technology Devices International Limited “as is” and any express or implied warranties. Grecom port devices driver. Repeat the PSR-800 driver installation steps 10 - 14 for each physical USB port on your computer. You can verify the driver installation by checking in the device manager that now your scanner shows up under 'Ports (COM&LPT)' as 'GRECOM PSR-800 Serial Device'. These instructions come from this thread. | Usbser.sys Custom INF that references mdmcpq.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | In Windows 8.1 and earlier versions, Usbser.sys is not automatically loaded. To load the driver, you need to write an INF that references the modem INF (mdmcpq.inf) and includes [Install] and [Needs] sections. Starting with Windows Vista, you can enable CDC and Wireless Mobile CDC (WMCDC) support by setting a registry value, as described in Support for the Wireless Mobile Communication Device Class. When CDC support is enabled, the USB Common Class Generic Parent Driver enumerates interface collections that correspond to CDC and WMCDC Control Models, and assigns physical device objects (PDO) to these collections. | |
Net {4d36e972-e325-11ce-bfc1-08002be10318} Note Supports Subclass 0Eh (MBIM) | wmbclass.sys Netwmbclass.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 | Starting in Windows 8, Microsoft provides the wmbclass.sys driver, for mobile broadband devices. See, MB Interface Model. | |
HID (Human Interface Device) (03h) | HIDClass {745a17a0-74d3-11d0-b6fe-00a0c90f57da} | Hidclass.sys Hidusb.sys Input.inf | Windows 10 for desktop editions Windows 10 Mobile Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the HID class driver (Hidclass.sys) and the miniclass driver (Hidusb.sys) to operate devices that comply with the USB HID Standard. For more information, see HID Architecture and Minidrivers and the HID class driver. For further information about Windows support for input hardware, see the Input and HID - Architecture and Driver Support website. |
Physical (05h) | - | - | - | Recommended driver: WinUSB (Winusb.sys) |
Image (06h) | Image {6bdd1fc6-810f-11d0-bec7-08002be2092f} | Usbscan.sys Sti.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the Usbscan.sys driver that manages USB digital cameras and scanners for Windows XP and later operating systems. This driver implements the USB component of the Windows Imaging Architecture (WIA). For more information about WIA, see Windows Image Acquisition Drivers and the Windows Imaging Component website. For a description of the role that Usbscan.sys plays in the WIA, see WIA Core Components. |
Printer (07h) | USB Note Usbprint.sys enumerates printer devices under the device set up class: Printer {4d36e979-e325-11ce-bfc1-08002be10318}. | Usbprint.sys Usbprint.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the Usbprint.sys class driver that manages USB printers. For information about implementation of the printer class in Windows, see the Printing - Architecture and Driver Support website. |
Mass Storage (08h) | ||||
USB | Usbstor.sys | Windows 10 for desktop editions Windows 10 Mobile Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the Usbstor.sys port driver to manage USB mass storage devices with Microsoft's native storage class drivers. For an example device stack that is managed by this driver, see Device Object Example for a USB Mass Storage Device. For information about Windows storage support, see the Storage Technologies website. | |
SCSIAdapter {4d36e97b-e325-11ce-bfc1-08002be10318} | SubClass (06) and Protocol (62) Uaspstor.sys Uaspstor.inf | Windows 10 for desktop editions Windows 10 Mobile Windows 8.1 Windows 8 | Uaspstor.sys is the class driver for SuperSpeed USB devices that support bulk stream endpoints. For more information see: | |
Hub (09h) | USB {36fc9e60-c465-11cf-8056-444553540000} | |||
Usbhub.sys Usb.inf | Windows 10 for desktop editions Windows 10 Mobile Windows 8.1 Windows 8 Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the Usbhub.sys driver for managing USB hubs. For more information about the relationship between the hub class driver and the USB stack, see USB host-side drivers in Windows. | ||
Usbhub3.sys Usbhub3.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 | Microsoft provides the Usbhub3.sys driver for managing SuperSpeed (USB 3.0) USB hubs. The driver is loaded when a SuperSpeed hub is attached to an xHCI controller. See USB host-side drivers in Windows. | ||
CDC-Data (0Ah) | - | - | - | Recommended driver: WinUSB (Winusb.sys) |
Smart Card (0Bh) | SmartCardReader {50dd5230-ba8a-11d1-bf5d-0000f805f530} | |||
Usbccid.sys (Obsolete) | Windows 10 for desktop editions Windows 7 Windows Server 2008 Windows Vista | Microsoft provides the Usbccid.sys mini-class driver to manage USB smart card readers. For more information about smart card drivers in Windows, see Smart Card Design Guide. Note that for Windows Server 2003, Windows XP, and Windows 2000, special instructions are required for loading this driver because it might have been released later than the operating system. Note Usbccid.sys driver has been replaced by UMDF driver, WUDFUsbccidDriver.dll. | ||
WUDFUsbccidDriver.dll WUDFUsbccidDriver.inf | Windows 8.1 Windows 8 | WUDFUsbccidDriver.dll is a user-mode driver for USB CCID Smart Card Reader devices. | ||
Content Security (0Dh) | - | - | - | Recommended driver: USB Generic Parent Driver (Usbccgp.sys). Some content security functionality is implemented in Usbccgp.sys. See Content Security Features in Usbccgp.sys. |
Video (0Eh) | Image {6bdd1fc6-810f-11d0-bec7-08002be2092f} | Usbvideo.sys Usbvideo.inf | Windows 10 for desktop editions Windows Vista | Microsoft provides USB video class support by means of the Usbvideo.sys driver. For more information, see 'USB Video Class Driver' under AVStream Minidrivers. Note that for Windows XP, special instructions are required for loading this driver because it might have been released later than the operating system. |
Personal Healthcare (0Fh) | - | - | - | Recommended driver: WinUSB (Winusb.sys) |
Audio/Video Devices (10h) | - | - | - | - |
Diagnostic Device (DCh) | - | - | - | Recommended driver: WinUSB (Winusb.sys) |
Wireless Controller (E0h) Note Supports Subclass 01h and Protocol 01h | Bluetooth {e0cbf06c-cd8b-4647-bb8a-263b43f0f974} | Bthusb.sys Bth.inf | Windows 10 for desktop editions Windows 10 Mobile Windows 8.1 Windows 8 Windows 7 Windows Vista | Microsoft provides the Bthusb.sys miniport driver to manage USB Bluetooth radios. For more information, see Bluetooth Design Guide. |
Miscellaneous (EFh) | Net {4d36e972-e325-11ce-bfc1-08002be10318} Note Supports SubClass 04h and Protocol 01h | Rndismp.sys Rndismp.inf | Windows 10 for desktop editions Windows 8.1 Windows 8 Windows 7 Windows Vista | Prior to Windows Vista, support for CDC is limited to the RNDIS-specific implementation of the Abstract Control Model (ACM) with a vendor-unique protocol (bInterfaceProtocol) value of 0xFF. The RNDIS facility centers the management of all 802-style network cards in a single class driver, Rndismp.sys. For a detailed discussion of remote NDIS, see Overview of Remote NDIS. The mapping of remote NDIS to USB is implemented in the Usb8023.sys driver. For further information about networking support in Windows, see the Networking and Wireless Technologies website. |
Application Specific (FEh) | - | - | - | Recommended driver: WinUSB (Winusb.sys) |
Vendor Specific (FFh) | - | - | Windows 10 for desktop editions Windows 10 Mobile | Recommended driver: WinUSB (Winusb.sys) |
Fluke Usb Devices Driver Download For Windows 10 64-bit
Related topics
