This article helps to fix an issue in which Windows 10 doesn't install specific drivers for USB audio devices on the first connection.
The CP2102N devices are highly integrated USB-to-UART bridge controllers in packages as small as 3 mm x 3 mm. These devices include a USB 2.0 full-speed function controller with integrated USB transceiver and clock, voltage regulator, and Universal Asynchronous Receiver/Transmitter (UART) reducing BOM costs and simplifying the design. The USB chapter. Writing a Simple USB Driver by Greg Kroah-Hartman is illuminating. The USBTMC kernel driver is a character device driver for USBTMC compliant instruments and can be downloaded here. This is an attractive solution for low speed communication, but since there is no Python module you will have to use ctypes and read and write to. PyUSB can run on any platform with Python 2.4 and later version. Communicating with a USB device has never been so easy. USB is a complex protocol, but PyUSB has all the necessary functions needed to configure a USB-supported device. PyUSB modules have two sub-modules: usb.core as the main module and usb.util containing utility functions. Universal in-system and parallel device programmers for production, test equipment and development support microcontrollers, flash memory and PLD devices.
Original product version: Windows 10, version 1703
Original KB number: 4021854
Symptom
When you connect a USB audio device to a Windows 10 Version 1703-based computer the first time, the operating system detects the device but loads the standard USB audio 2.0 driver (usbaudio2.sys) instead of the specific device driver.
Cause
This issue occurs because the USB audio 2.0 driver (usbaudio2.sys) isn't classified as a generic driver in Windows 10 Version 1703. Therefore, the system assumes that a compatible, nongeneric driver is installed for the device even though the driver is generic.
This issue also causes Windows 10 Version 1703 to postpone the search for other compatible drivers through Windows Update that typically occurs immediately after you install a new device.
Resolution
To fix this issue, use one of the following methods.
Method 1
To resolve this issue, install update 4022716.
Method 2
If the device-specific driver is distributed through Windows Update, you can manually update the driver by using Device Manager. For more information about how to do this, see update drivers in Windows 10.
Method 3
If the device is not yet connected, first install the device-specific driver, such as by using the appropriate installer. After the device-specific driver is installed, Windows 10 will select that driver instead of the standard USB audio 2.0 driver when you first connect the device.
Note
See the device manufacturer's user guide for specific instructions about how to install the driver.
Method 4
If the driver isn't distributed through Windows Update, you can manually reinstall the driver. To do this, follow these steps:
- Install the device-specific driver (see Method 2).
- Open Device Manager.
- Right-click (or tap and hold) the name of the device, and then select Uninstall.
- Restart the computer.
When it restarts, Windows will try to reinstall the device by using the device-specific driver.
PyVISA is a Python package that enables you to control all kinds of measurementdevices independently of the interface (e.g. GPIB, RS232, USB, Ethernet). Asan example, reading self-identification from a Keithley Multimeter with GPIBnumber 12 is as easy as three lines of Python code:
(That’s the whole program; really!) It works on Windows, Linux and Mac;with arbitrary adapters (e.g. National Instruments, Agilent, Tektronix,Stanford Research Systems).
General overview¶
The programming of measurement instruments can be real pain. There are manydifferent protocols, sent over many different interfaces and bus systems(e.g. GPIB, RS232, USB, Ethernet). For every programming language you wantto use, you have to find libraries that support both your device and its bussystem.
In order to ease this unfortunate situation, the Virtual Instrument SoftwareArchitecture (VISA) specification was defined in the middle of the 90ies.VISA is a standard for configuring, programming, and troubleshootinginstrumentation systems comprising GPIB, VXI, PXI, Serial, Ethernet, and/orUSB interfaces.
Drivers Python Usb Devices 3.0
Today VISA is implemented on all significant operating systems. A coupleof vendors offer VISA libraries, partly with free download. These librarieswork together with arbitrary peripherical devices, although they may belimited to certain interface devices, such as the vendor’s GPIB card.
The VISA specification has explicit bindings to Visual Basic, C, and G(LabVIEW’s graphical language). Python can be used to call functions from aVISA shared library (.dll, .so, .dylib) allowing to directly leverage thestandard implementations. In addition, Python can be used to directly accessmost bus systems used by instruments which is why one can envision to implementthe VISA standard directly in Python (see the PyVISA-Py project for moredetails). PyVISA is both a Python wrapper for VISA shared libraries butcan also serve as a front-end for other VISA implementation such asPyVISA-Py.
Python Usb Devices
- User guide
- Advanced topics
- FAQ
- API Documentation