Walter Oney Software USB Devices Driver


4 Find your USB Serial Port A799 device in the list and press double click on the hidclass device. Click Reinstall driver button. 5 Choose Install from the specific location and click on the Browse button. Click on the Next and Finish button after that to complete the installation process. 6 After these steps, you should see USB Serial Port. Written for advanced C/C programmers, Walter Oney's Programming the Microsoft Windows Driver Model is a technically astute and clearly presented guide to writing custom Windows 2000 device drivers. The author's command of the details of the new Windows Driver Model (WDM) standard is what makes this book such a clear success. External usb device. There is a ps/2 keyboard attached in my system already. I downloaded ctrl2cap, it works well. And, it could also install the filter driver come from the Walter Oney's book. But it installed the driver as class filter. So, the driver filtered both keyboards. Then, I modified the firefly.inf from the ddk samples and try to. The Microsoft® Windows® driver model (WDM) supports Plug and Play, provides power management capabilities, and expands on the driver/minidriver approach. Written by long-time device-driver expert Walter Oney in cooperation with the Windows kernel team, this book provides extensive practical examples, illustrations, advice, and line-by-line analysis of code samples to clarify real-world. USB Server software. Your extender is detected by the USB Server software when the software is launched. Note: It may take a few minutes for the server to appear in the software. When the extender appears in the list (for example, USB2HDMI), click either the display or media device associated with the server.

  1. Walter Oney Software Usb Devices Driver Download
  2. Walter Oney Software Usb Devices Drivers
  3. Walter Oney Software Usb Devices Driver Updater
  4. Usb Device Driver Download
  5. Usb Driver Device Manager

You must install the Altera® USB-BlasterTM or Altera USB-Blaster IIdownload cable driver before you can use it to program devices with Quartus® Prime software.

The first time the USB-Blaster download cable is plugged in, the Windows Found New Hardware dialog box prompts you to install the driver. (Note: Do not use the Add HardwareWizard from the Control Panel.)

The USB-Blaster II device drivers require manual installation so that the cable will be properly recognized. Refer to the instructions below.


The Altera On-Board USB-Blaster II cable appears as Altera USB-Blaster (unconfigured) when first attached to your system. After it has been configured by the Quartus Prime software, it will appear as Altera USB-Blaster II (JTAG interface) and then Altera USB-Blaster II (SystemConsole interface). You might need to install drivers for each of these interfaces; follow the steps below to install the drivers.

You must have system administration (Administrator) privileges to install the USB-Blaster and USB-Blaster II download cable driver.

Driver Installation for Altera USB-Blaster

  1. Plug the USB-Blaster download cable into your PC. The Found New Hardware dialog box appears.
  2. Select Locate and install driver software (recommended).
  3. Select Don't search online.
  4. When you are prompted to Insert the disc that came with your USB-Blaster, select I don’t have the disc. Show me other options.
  5. Select Browse my computer for driver software (advanced) when you see the Windows couldn’t find driver software for your device dialog box.
  6. Click Browse, and browse to the<Path to Quartus Prime installation>driversusb-blaster directory.
    • Note: Do not select the x32 or x64 directories.
  7. Click OK.
  8. Select the Include subfolders option, and click Next.
  9. If you are prompted Windows can’t verify the publisher of this driver software, select Install this driver software anyway in the Window Security dialog box. The installation wizard guides you through the installation process.
  10. When The software for this device has been successfully installed dialog box appears, click Close.
  11. To complete your installation, set up programming hardware in the Quartus Prime software.

Driver Installation for Altera USB-Blaster II

  1. Plug the USB-Blaster II cable into your PC.
  2. Open the Device Manager, and right-click on the Unknown device under the Other devices branch.
  3. Select Update Driver Software.
  4. Select Browse my computer for driver software.
  5. Enter the location of the Quartus Prime software USB-Blaster II driver files directory (<Path to Quartus Prime installation>driversusb-blaster-ii) in the Search for driver software in this location field.
  6. Click Next.
  7. Click Install in the Would you like to install this device software? Windows security dialog box.
  8. Close the Update Driver Software - Altera USB-Blaster II (Unconfigured) successful installation notification. The Device Manager now shows a new branch called JTAG cables with an Altera USB-Blaster II (Unconfigured) node.
  9. Open the Quartus Prime Programmer. Within a few seconds, the JTAG cables branch displays two nodes: Altera USB-Blaster II (JTAG interface) and Altera-USB Blaster II (System Console interface).

Home > USB Central > The HID Page

For developers of USB devices in the human interface device (HID) class.

Basics Tools My example code Other code



HID webpage from the USB-IF.

Windows programming

You can use Windows' built-in HID (human interface device) drivers to communicate with devices that conform to the USB's HID class specification. There's no need for a custom driver; the device uses the drivers included in Windows. Use any programming language that supports calling API functions. The device doesn't have to have a 'human interface.' Any device that can function within the limits of the HID specification (control and interrupt transfers only) may be able to be designed as a HID.

Microsoft's WDK has documentation for the HID functions and an overview of how to use them. The WDK also includes the header files to use with Visual C++ programs that access HID-class devices (hidsdi.h, hidusage.h, hidpi.h).

Human Input Devices. The Windows HID API from Microsoft.

Microsoft's DirectX technology includes DirectInput, which supports communications with HID-class game controllers (in both directions, in spite of the name), without requiring custom drivers. Developing Games from Microsoft has more information.

Use Raw Input to read data from a specific keyboard, mouse, or game controller.

A Usenet discussion about using HIDs under Windows CE.



HIDs Up by Jan Axelson, Embedded Systems Programming. From Embedded Systems Programming.

Using the HID class eases the job of writing USB device drivers by Stuart Allman. From EDN.

Making USB C# friendly. Article by Ashley Deakin in VSJ.


USB Complete includes three chapters on HID firmware and application programming.

Chapter 13: Human Interface Devices. From Programming the Microsoft Windows Driver Model, Second Edition by Walter Oney.



HIDMaker creates device firmware and a Windows application from information you provide. Also available are the AnyHID test program and the USBWatch software-only protocol analyzer. From Trace Systems Inc.

The SimpleHIDWrite utility tests HID-class devices. The HidTest utility also tests HIDs with a variety of API calls. HidTest.zip contains the application and HidTestSource.zip contains the source files in Delphi. All from Robert Marquardt.

USB HID API Function Library. From Kadtronix.

HID API for Linux, Mac OS X, and Windows. From Alan Ott.

USB HID driver for Windows. From embedded24.net.

YAT: USB HID based serial communication. From Matthias.


Walter Oney Software USB devices driver

MouseWarrior, KeyWarrior, JoyWarrior, IO-Warrier, and moreavailable as programmed chips or kits. From Code Mercenaries.

My example code

Host applications and device firmware to work with them. Thank you to everyone who has helped by contributing bug reports and often the fixes along with them.

Host applications

My HID applications below communicate with generic (custom) HIDs. Each supports exchanging Input, Output, and Feature reports and shows how to search for devices that use a particular interface GUID. All except the Visual Basic 6 code show how to use RegisterDeviceNotification and WM_DEVICE_CHANGE messages to detect when a device is attached or removed.

There are two versions of the application. One uses Filestreams; the other uses ReadFile and WriteFile.

Discussion about using Filestreams vs. ReadFile and WriteFile.

For Windows 10

To use my generic_hid project in Windows 10, open the .csproj file in Notepad or another text editor and delete this information, which relates to the signing certificate:

Visual C# (C Sharp)

generic_hid_cs_62. Created with Visual Studio 2012 for the .NET Framework 4.5 or later. Uses v4.5's Filestream ReadAsync and WriteAsync methods. Uses System.Management class (WMI) to detect device arrival and removal. Requires Windows Vista or later and an attached USB generic Human Interface Device (HID). This application does not run on Windows XP or earlier because the .NET 4.5 Framework will not install on these OSes. Created 11/12/13.

generic_hid_cs_60. Created with Visual Studio 2012 for the .NET Framework 4.5 or later. Uses v4.5's Filestream ReadAsync and WriteAsync methods. Requires Windows Vista or later and an attached USB generic Human Interface Device (HID).This application does not run on Windows XP or earlier because the .NET 4.5 Framework will not install on these OSes. Created 2/11/13.

generic_hid_cs_50. Created with Visual Studio 2008 for the .NET Framework 2.0 or later. Uses Filestreams. Updated 4/1/11.

generic_hid_cs_46. Created with Visual Studio 2008 for the .NET Framework 2.0 or later. Uses ReadFile and WriteFile.

usbhidio_V2.3.cs. My VB HIDClass application ported to C#. From Gordon Vance. (Bug report: change: if (MyEnvironment.Version >= Version98SE) to if (MyEnvironment.Version <= Version98SE).

Visual Basic .NET

generic_hid_vb_50. Created with Visual Studio 2008 for the .NET Framework 2.0 or later. Uses Filestreams. Updated 4/1/11.

generic_hid_vb_46. Created with Visual Studio 2008 for the .NET Framework 2.0 or later. Uses ReadFile and WriteFile.

Visual Basic 6

Visual C++ 6

Usbhidio_vc6. This project will load into and run in Visual Studio. The project requires the header files hid.lib, hid.h, and hidsdi.h from the WDK.

1. If you get this errror on attempting to compile:


Set WINVER = 0x0500 or higher in stdafx.h

For more info, go to groups.google.com and search on:

'DEV_BROADCAST_DEVICEINTERFACE' 'undeclared identifier'

2. HidD_GetInputReport and HidD_SetInputReport require Windows XP or later.


Generic HID example using libusb-1.0.

Generic HID device firmware

HID firmware for communicating with the Windows host code above.

Microchip PIC18F4550

device-hid-generic-lvr.zip is a modification of Microchip's USB example titled Device - HID - Custom Demos. My code adds support for vendor-defined control transfers. Written for the PIC 18F4550 and Microchip's MPLAB mcc18 compiler v3.44 with the Microchip Libraries for Applications v2012-10-15. Tested with MPLAB v8.88 and MPLAB X v1.60. Updated 1/20/13.

Older versions

Use the newest Framework and firmware unless you have a compelling reason not to.

Fir the Framework V2.6a. pic_usb_device_hid_generic_10.zip

For the Framework V2.5. generic_hid_fsusb_fw2-5.zip
For the Framework V2.3. Generic_HID_c18_fsusb_fwv2-3.zip
For the Framework. V2.1. Generic_HID_C18_FSUSB
For the Framework V1.x. mchpfsusb_ghid.zip

Cypress Semiconductor EZ-USB FX2

fx2hid.zip runs on Cypress' FX2 EZ-USB chips at full and high speeds. It's adapted from Cypress' frameworks examples and requires the full version of the Keil C compiler.

Cypress Semiconductor Encore

Enchid.zip for Cypress Encore chips (CY637xx). Assembly code.

Cypress Semiconductor EZ-USB

fwhid.zip for Cypress EZ-USB chips. In C. More information.

Cypress Semiconductor EZ-USB Buttons and Lights

A version of John Hyde's buttons and lights code for the USBSimm module. (The module is no longer available.) My code supports interrupt Out transfers for Output reports.

Cypress Semiconductor CY63000

Usbhidio.zip (61k) contains assembly-code firmware and host software for communicating with a Cypress CY7C63000 microcontroller (obsolete). The code runs on Cypress' 3650 Developer's Kit and CY3640 Starter Kit. Cypress has discontinued the Starter Kit. The Hi-Lo EPROM programmer included in the Starter Kit was Cypress part CY3649. The host software is Visual Basic 6 code. Bug list and fixes for usbhidio.

Cypress Semiconductor CY63000 firmware plus Visual Basic code using an ActiveX Exe server

HIDDemo2.zip (70k) is an enhanced version of usbhidio. Like usbhidio that uses an ActiveX Exe server to handle reading from the device.

Other code

Code from other sources.

Device firmware for use with my .NET HID applications

These firmware examples are designed to work with my PC HID applications above.

Cypress Semiconductor 66113

Hidhub1.zip contains a version of my generic HID-class firmware for Cypress' CY7C66113 hub & peripheral chip. The firmware enumerates as a compound device made up of a 4-port hub and my usbhidio device. It runs on the 3652 development kit and will communicate with my hidvb and usbhidioc software. This code is provided by Mat Laibowitz.

Microchip PIC

Firmware for the PIC16C745/765 to enable using my HID .NET and usbhidioc software. From Microchip. For more PIC advice, see USB and PIC Microprocessors 16C745 and 18F2455 from Alan Macek.

The PICBasic Pro Basic compiler includes instructions to perform HID communications, for use with PICMicros with USB support. From microEngineering Labs Inc.

My Very First USB Peripheral. A description of a PIC16C745 HID project. From Technology Stir Fry.

More HID firmware


Atmel's AT90USBKey demonstration board for the AT90USB AVR microcontroller has generic HID, keyboard, and mouse applications.

Cypress Semiconductor

Walter Oney Software Usb Devices Driver Download

I have a version of John Hyde's buttons and lights firmware that supports interrupt Out transfers.

The MO1002 USB to UART is a HID device that translates between asynchronous serial data and USB using Windows' HID drivers. Includes schematics, firmware, and a Visual C++ application. The chip used is Cypress' CY7C63001. From Moto Development Group.

HCC Embedded

Walter Oney Software Usb Devices Drivers

Embedded host and device HID support.


Microchip's Microchip Libraries for Applications includes HID examples..

ST-Ericsson (formerly NXP Semiconductors/Philips)

Interfacing a Game Boy Advance to a PC using a PIC16F877 and PDIUSBD12. From Rob Meerman.

Walter Oney Software Usb Devices Driver Updater

Host code

Cross platform C# library for talking to connected devices such as USB and HID-class devices. Supports .NET, Android, UWP, Linux. From Christian Findlay.

HIDSharp. A multiplatform library for USB HID devices. Allows use by VB6 and MS Access programs. From Zer's Programming Page.

HID USB Driver / Library. A C# DLL. From Florian Leitner.

HidLibrary for .NET. From Mike O'Brien.

Usb Device Driver Download

HID component for C# .NET. A project from the Avans Hogeschool in The Netherlands.

Usb Driver Device Manager

Controlling the Logitech iFeel Mouse. Experiments with force feedback. Daniel C. Moore