Drivers Eumus Design



Driver Provider: EuMus Design HW Accel Level: Basic Cap Flags: 0xF1F Min/Max Sample Rate: 100, 200000 Static/Strm HW Mix Bufs: 1, 0 Static/Strm HW 3D Bufs: 0, 0 HW Memory: 0 Voice Management: No EAX(tm) 2.0 Listen/Src: No, No I3DL2(tm) Listen/Src: No, No Sensaura(tm) ZoomFX(tm): No Description: Headset (Sound Blaster Tactic(3D) Alpha). The drivers are layered in a stack, and the conventional way to visualize the stack is with the first driver at the top and the last driver at the bottom. The stack has one function driver and can also have filter drivers. For a discussion about function drivers and filter drivers, see What is a driver? And Device nodes and device stacks. I have been having issues with my CPU not functioning properly lately, but whenever I open the task manager or process explorer, I see the CPU usage jump from 50-80% down to a normal 5-10%. I heard this can be a virus that hides when task manager is open. I have run Avira, SUPERantiSpyware, and M.

-->

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.

Designer

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.

Design

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 codeDevice setup classMicrosoft-provided driver and INFWindows supportDescription
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)

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)
USBUsbstor.sysWindows 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)

Related topics

VAC driver has many configuration parameters. Some of them concern the entire driver and others are cable-specific, their value can be different for each cable.

Full version of VAC can be configured to create any valid number of Virtual Cables. Trial version is restricted.

Use the VAC Control Panel to easily configure driver and cable parameters.

VAC driver parameter tree is stored in the registry under the following key:

Designjet

HKLMSOFTWAREEuMus DesignVirtual Audio Cable4

Driver parameter values are stored immediately under this key, cable-specific parameter values are stored under 'Cable N' subkeys. All parameters are specified as DWORD values unless explicitly specified. If a value is absent or zero, it means a default/automaric settings unless stated explicitly. Value names are the following (literally, all spaces are meaningful, but case insensitive):

Drivers Eumus Design Software

Driver parameters

  • Number of cables (1..256).
  • Maximum worker threads (0..32 in 32-bit systems, 0..64 in 64-bit systems).
  • Maximum worker thread priority (0..31).
  • Maximum number of channels (1..32) supported by the driver, for all Virtual Cables.
  • Event log level (0..9).
  • Timer resolution in percents of event period (10..100).
  • Number of cables to restrict KMixer thread affinity - number of cables beginning from which VAC will restrict affinity of System Audio Engine worker threads. If actual number of cables is greater or equal than this value, thread affinity will be restricted to run only on a first (number zero) CPU/core. It eliminates concurrent PortCls request processing in WavePci mode and will solve some problems like this. This parameter is ignored if PortCls engine is not used.
  • Number of cables to restrict client thread affinity - number of cables beginning from which VAC will restrict thread affinity of any client process (including System Audio Engine). It may be useful to solve problems like this. This parameter is ignored if PortCls engine is not used.
  • Format attribute support policy - code of globalformat attibute policy: 0 - default, 1 - process, 2 - ignore.

Cable parameters

  • Maximum instances (1..100).
  • Milliseconds per interrupt (1..20).
  • Minimum sampling rate (1000..384000).
  • Maximum sampling rate (1000..384000).
  • Minimum bits per sample (8..32).
  • Maximum bits per sample (8..32).
  • Minimum number of channels (1..8).
  • Maximum number of channels (1..32).
  • Stream format limiting (0 - 'None', 1 - 'Cable range', 2 - 'Cable format').
  • Volume control (0 or not present - disabled, nonzero - enabled).
  • Source line types mask - a bit mask that represents cable source line set. Bit 0 (value 1) means a microphone line, bit 1 (value 2) means an analog line connector, and bit 2 (value 4) means a digital line connector. You can combine them by the addition (1+2=3, Mic and Line inputs). This source line set means which lines are exposed by the cable's topology filter. Default value is 7 (all three line types).
    Don't change this parameter unless really needed.
    Under Windows 6.x, you need to restart System Audio Service or even reboot the system after changing this parameter. Driver restart is not enough to propagate it.
  • Connected source lines mask - a bit mask that represents currently connected source lines. Unlike the 'Source line types mask' parameter, this bit mask means which exposed lines are reported as 'connected' (plugged in) and must be a subset of the line types mask (all bits set in this value must be also set in the 'Source line types mask' value). Default value is 2 (only the Line Input is connected).
  • Clock correction - cable clock correction ratio multiplied by 1000000000 (10E9). Default value is 1000000000 that represents 1.0 ratio. Note: VAC versions prior to 4.11 use a different multiplier format that is not accepted by later versions so a default value is loaded if an old-format multiplier is found.
  • Enable channel mixing (0 - disabled, nonzero or not present - enabled).
  • Use standard PortCls engine (0 or not present - disabled, nonzero - enabled). Applicable to WavePci mode only.
  • Enable speaker pin type (0 or not present - disabled, nonzero - enabled).
  • PortCls capture port type, PortCls render port type - PortClsport/miniport types for capture (recording) and render (playback) pins (0 - auto, 1 - WaveRT, 2 - WavePci, 3 - WaveCyclic).
  • Disable cable signal level (0 or not present - cable signal level calculation/display is enabled, nonzero - disabled).
  • Disable stream signal level (0 or not present - stream signal level calculation/display is enabled, nonzero - disabled).
  • Restrict client thread affinity (0 or not present - disabled, nonzero - enabled).
  • Restrict KMixer thread affinity (0 or not present - disabled, nonzero - enabled).
  • Format attribute support policy - code of per-cableformat attibute policy: 0 - default, 1 - process, 2 - ignore.

Almost all of these parameters can be controlled by VAC Control Panel and are explained there. Some parameters that are rarely used, can be added, modified or deleted manually. For this, you can use standard Windows tools (RegEdit application, or 'reg' console command) or helper scripts provided in the 'tools' subfolder of VAC installation package. All these tools must be ran under an administrative account.

Drivers Eumus Designjet

After creating, modifying or deleted some parameters manually, you need to restart VAC driver to propagate them.

When parameter value is changed by VAC Control Panel, its value is automatically copied to the HKLMSYSTEM CurrentControlSetServicesEuMusDesignVirtualAudioCableWdmParameters key to allow driver boot-time access. If you create/change a parameter under 'Software' branch manually, you should ensure its creation/changing under 'System' branch. Otherwise, the driver will be incorrectly configured on a next boot because there is no access to the 'Software' branch at a boot time.

Eumus

However you could propagate parameter change to 'System' branch by hand, it's better to simply restart the driver that propagates parameter values automatically.

Saving and restoring VAC driver configuration

You can save VAC driver configuration by simply exporting the 'Software' registry subtree (the main key with all subkeys) mentioned above, using interactive RegEdit utility or the following console command (can be issued from a non-privileged account):

reg export 'HKLMSOFTWAREEuMus DesignVirtual Audio Cable4' '%HOMEPATH%documentsvaccfg.reg'

This command exports VAC driver configuration subtree to the 'vaccfg.reg' file located in your 'My Documents' folder.

To restore VAC driver configuration, first close VAC Control Panel if it is open, and delete both 'Software' and 'System' settings subtrees, using 'delsettings' command file located in VAC installation folder (usually 'C:Program FilesVirtual Audio Cable'). Locate VAC installation folder in File Explorer, right-click 'delsettings' and select 'Run as administrator'.

Drivers Eumus Designer

Then import previously saved .reg file, using RegEdit or the following console command executed under an administrative account:

reg import '%SystemDrive%users<user>documentsvaccfg.reg'

replacing the '<user>' with actual user account name under which settings were exported.

After that, open VAC Control Panel and restart the driver to propagate boot-time parameters.

You can create as many configurations as you want, keeping them in different files.

To reset all VAC driver settings to their defaults, just delete configuration subtrees without importing any configuration.

Design

Please be careful with registry manipulations, any mistake would cause serious system malfunction.

Please don't confuse VAC driver settings shown in VAC Control Panel with Audio Repeater application settings that can be specified in its command line.