Option USB Devices Driver

  



  1. 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 This page contains the VCP drivers currently available for FTDI devices. For D2XX Direct drivers, please click here.
  2. Upgrading drivers for a pre-existing device. Open the Windows Device Manager. In the Device Manager, locate the device you want to update. Right-click the device and click Properties. In the Properties window, click the Driver tab. Click the Update Driver button.
  3. Step 6: Now, right-click on your USB 3.0 device and select Update Driver Software option. Step 7: On the next screen, select the ‘Browse my computer for driver software’ option. Step 8: Now, select ‘Let me pick from a list of device drivers on my computer’ option.

Step 4: Connect Your Fire Device to Your Computer with a USB Cable. Using a USB cable, connect your Fire tablet to a USB port on your computer. Note that Fire tablets can treat the USB with different transfer options. After connecting the USB cable, swipe down from the top of your tablet to see the USB option used. USB driver is crucial when you want to access your Android device from a Windows computer for file transfer, tethering, rooting, backup or Android data recovery.In most cases, Android USB driver should be automatically installed when you first connect your handset to a Windows 7/8/10 computer.

This page offers six solutions to fix the USB device not recognized issue in Windows 10/8/7/XP. If you get this error message 'The last USB device you connected to this computer malfunctioned, Windows does not recognize it' or you cannot open your device, accessing data, read this article to fix this issue without data loss.

6 Fixes| USB Device Malfunctioned and Not Recognized

This page unveils six solutions to fix the 'USB device malfunctioned and is not recognized' issue. If you are having this USB device error, don't worry. Pick up any method below to make your USB recognizable and work again.

Workable SolutionsStep-by-step Troubleshooting
Fix 1. Unplug ComputerShut down computer > Unplug the power cable > Replug and restart the computer a few minutes later...Full steps
Fix 2. Change USB Cable/PortCheck the available USB cables and ports one by one > If USB cable or ports itself is damaged, change it ...Full steps
Fix 3. Update Device DriverOpen Disk Management > Expand 'Universal Serial Bus Controllers' > Right-click 'Generic USB Hub'...Full steps
Fix 4. Fix Root HubOpen Device Manager > Expand Universal Serial Bus Controllers > Right-click USB Root Hub...Full steps
Fore More FixesChange USB settings and reinstall USB driver to make USB recognized (in Fix 5 and 6)...Full steps

'USB device not recognized' is an error that usually occurs to the Windows computer when you plug in a USB device. Here, the USB device mentioned by Windows is a general concept, not limited to a USB hard drive or flash drive, but other devices using a USB port for connection, including a USB mouse, keyboard, Android phone, camera, printer, etc. When Windows generates such an error, the USB will not show up on your computer. As a result, you can't open your device or access your data. In different situations, the error is followed by different messages.

'The last USB device you connected to this computer malfunctioned, and Windows does not recognize it.'

'One of the USB devices attached to this computer has malfunctioned, and Windows does not recognize it. For assistance in solving this problem, click this message.'

The USB device malfunctioned and not recognized error has frustrated a large number of users. If you are one of the victims, here are some fixes you can try to resolve the issue and make your device detected.

How to Fix USB Device Not Recognized in Windows 10/8/7/XP/Vista

If your device is not recognized at the moment, you can try the below six solutions to make it show up again. You don't have to try every method, but we strongly recommend you follow the sequence, which our experts have tried many times.

Fix 1. Unplug your computer to fix the USB device malfunctioned

It sounds like a piece of cake thing to do, but it works! For most of not recognizing USB gadgets, there is typically nothing wrong. A computer restart could solve it. This way is meant to reboot the motherboard, which has all of the computer hardware connected to, including the USB ports. Rebooting the motherboard usually helps solve the temporary insufficient power supply for outside devices.

Step 1. Cut your computer power at its source, which is unplugging your computer from the wall outlet.

Step 2. Leave the computer alone for a few minutes, and then replug it in the wall outlet for a restart.

Step 3. Now check if the computer is able to detect the USB device and assign a drive letter to it.

If this fix failed, don't panic, the next methods are also doable.

Fix 2. Change the USB cable or USB port to Fix USB device not recognized

Is the computer's USB port working properly? You need to check the available USB ports one by one to see whether it is a computer hardware problem or a problem with the device itself. If changing to another port solves the problem, then there is something wrong with the previous port. You can give up that broken port, or send your computer for repair.

Fix 3. Update/Rollback a device driver if the USB device not recognized

Option USB Devices Driver

Device Manager operation is another widely suggested way to troubleshoot a non-recognizable USB device on Youtube and IT forums. Does this method apply to your situation? Go on to have a check.

Step 1. Type device manager in the search box to open Device Manager.

Or you can press Windows + R keys simultaneously to bring up the Run box, then type devmgmt.msc, and hit Enter.

Step 2. Expand 'Universal Serial Bus Controllers' and you will see the item called 'Generic USB Hub'. Righ-click on the first Generic USB Hub and choose Properties.

Step 3. Now, navigate to the 'Driver' tab, choose 'Update Driver...'.

Step 4. When asked how do you want to search for driver software, there are two options.

1. Search automatically for updated driver software

This way is an automatic update by Windows. When it finished, all you need to do is to disconnect the USB device, restart the computer and reconnect it again. Windows will install the latest driver for you.

2. Browse my computer for driver software

When you choose this option, you need to continue with the other pop up 'let me pick from a list of device drivers on my computer.'

From the list, select Generic USB hub, which normally the only choice. Click 'Next' and then Windows will install the driver for you.

Tip
If updating the driver doesn't help solve the USB device problem, don't suspend though, try to update each Generic USB Hub until updated them all for once.

In the same path to update the driver, you can also try to roll back to the previous driver before the error occurs. Instead of selecting 'Update Driver' in the 'Driver' tab, choose 'Roll Back Driver' this time.

The changes made on the computer power and the device driver should take effect, and your USB device will no longer report issues. Otherwise, try the rest three methods one by one.

Fix 4. Fix USB Root Hub to Fix USB drive not recognized

The USB root hub is the software driver that lets you connect multiple USB peripherals to your computer. Most computers have multiple root hubs so you can share the data bus across multiple devices. So if the computer cannot recognize your USB drive, you can try to fix the USB root hub.

Step 1. Open Device Manager. Find the Universal Serial Bus controllers option and single click it to expand.

Step 2. Find the USB Root Hub option in this category. Right-click it and choose Properties.

Step 3. Go to the Power Management tab and uncheck the 'Allow the computer to turn off this device to save power' option. Then click OK to save your change.

Fix 5. Change the USB Selective Suspend Settings

Another possible reason why your USB got malfunctioned is the hub driver suspends the USB automatically. In this case, change the USB selective suspend settings could help.

Step 1. Right-click on the Windows icon and click Power Options.

Step 2. In the Choose or customize a power plan windows, click Change plan setting

Step 3. In the Edit Plan Settings window, click Change advanced power settings.

Step 4. In the Power Options window, find and expand USB settings, expand USB selective suspend settings and Disable both On battery and Plugged in settings.

Step 5. Then Click Apply and OK to save the settings.

Fix 6. Uninstall USB device driver to make USB recognized

Being different from the options of updating or degrading the driver version, uninstalling the driver could result in a total disability of all the USB ports. So take care of this last-try method.

Step 1. Open Device Manager (Right Click on Windows Logo and Click Device Manager).

Step 2. Now find and expand Universal Serial Bus controllers. Now right-click on USB drivers and click Uninstall. Do for all USB drivers one by one.

Step 3. Now, restart your PC. The USB drivers are automatically re-install and solve the corrupted USB devices problem.

Further Troubleshooting: Data Recovery

Those six ways we mentioned above are all the possible ways said to be helpful to fix the 'USB device malfunctioned and not recognized' error.

If one of the fixes worked, you should be able to access your USB and use the saved data again.

What if you opened the USB drive but find something missing? You need third-party software to retrieve your data. Here, EaseUS disk data recovery can help even when your USB device is listed in disk management but not showing up on your computer. The program works well in Windows 10/8/7/XP and other previous versions.

Step 1. Run USB data recovery software.

Connect the USB flash drive to your computer and launch EaseUS USB data recovery software on your PC. Select your USB drive which marks as a removable disk, and click 'Scan' to start finding your lost files.

Step 2. Scan all lost files from USB.

EaseUS Data Recovery Wizard will thoroughly scan your USB flash drive and find all your lost data on it. After the scanning process, use the Filter feature to filter a specific file type. You can check and preview found USB files in this program.

Step 3. Restore all lost files from USB.

A double-click will allow you to preview the file results. Choose the target files and click 'Recover' to save them to a secure location on your PC or other external storage devices.

To retrieve data from USB devices, we suggest you save retrieved files to another secure location in case of further problems.

Format USB to NTFS/FAT32 and recreate partition on USB

Some people encountered more serious issues than once. They said the same USB device starts malfunctioning again after a short period of time after the repair. If this is the case, formatting and recreating a new partition can help.

  • Connect the USB to the PC, right-click on This PC/My Computer and select Manage.
  • Enter Device Manager, select Disk Management, locate and right-click on your malfunctioned USB, and select Format volume...
  • Complete the Format process and set the file system to NTFS or FAT32.

Now you can check if the USB shows up in your computer or not, if not, continue with the steps below:

  • Open Disk Management, right-click on USB and select Delete Volume, complete the process.
  • When USB shows as unallocated, right-click on it and select New Simple Volume, set the drive letter and file system (NTFS/FAT32) for it, and complete the process.

After this, you should access the USB drive on your PC and save data on it again.

-->

In this topic, you will learn about how to select a configuration in a universal serial bus (USB) device.

To select a configuration for a USB device, the client driver for the device must choose at least one of the supported configurations and specify the alternate settings of each interface to use. The client driver packages those choices in a select-configuration request and sends the request to the Microsoft-provided USB driver stack, specifically the USB bus driver (USB hub PDO). The USB bus driver selects each interface in the specified configuration and sets up a communication channel, or pipe, to each endpoint within the interface. After the request completes, the client driver receives a handle for the selected configuration, and pipe handles for the endpoints that are defined in the active alternate setting for each interface. The client driver can then use the received handles to change configuration settings and to send I/O read and write requests to a particular endpoint.

A client driver sends a select-configuration request in a USB Request Block (URB) of the type URB_FUNCTION_SELECT_CONFIGURATION. The procedure in this topic describes how to use the USBD_SelectConfigUrbAllocateAndBuild routine to build that URB. The routine allocates memory for an URB, formats the URB for a select-configuration request, and returns the address of the URB to the client driver.

Alternately, you can allocate an URB structure and then format the URB manually or by calling the UsbBuildSelectConfigurationRequest macro.

Prerequisites

  • In Windows 8, USBD_SelectConfigUrbAllocateAndBuild replaces USBD_CreateConfigurationRequestEx.
  • Before sending a select-configuration request, you must have a USBD handle for your client driver's registration with the USB driver stack. To create a USBD handle call USBD_CreateHandle.
  • Make sure you have obtained the configuration descriptor (USB_CONFIGURATION_DESCRIPTOR structure) of the configuration to select. Typically, you submit an URB of the type URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE (see _URB_CONTROL_DESCRIPTOR_REQUEST) to retrieve information about device configuration. For more information, see USB Configuration Descriptors.

Instructions

Option Usb Devices Driver Download

Step 1: Create an array of USBD_INTERFACE_LIST_ENTRY structures.

  1. Get the number of interfaces in the configuration. This information is contained in the bNumInterfaces member of the USB_CONFIGURATION_DESCRIPTOR structure.

  2. Create an array of USBD_INTERFACE_LIST_ENTRY structures. The number of elements in the array must be one more than the number of interfaces. Initialize the array by calling RtlZeroMemory.

    The client driver specifies alternate settings in each interface to enable, in the array of USBD_INTERFACE_LIST_ENTRY structures.

    • The InterfaceDescriptor member of each structure points to the interface descriptor that contains the alternate setting.
    • The Interface member of each structure points to an USBD_INTERFACE_INFORMATION structure that contains pipe information in its Pipes member. Pipes stores information about each endpoint defined in the alternate setting.
  3. Obtain an interface descriptor for each interface (or its alternate setting) in the configuration. You can obtain those interface descriptors by calling USBD_ParseConfigurationDescriptorEx.

    **About Function Drivers for a USB Composite Device: **

    If the USB device is a composite device, the configuration is selected by the Microsoft-provided USB Generic Parent Driver (Usbccgp.sys). A client driver, which is one of the function drivers of the composite device, cannot change the configuration but the driver can still send a select-configuration request through Usbccgp.sys.

    Before sending that request, the client driver must submit a URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE request. In response, Usbccgp.sys retrieves a partial configuration descriptor that only contains interface descriptors and other descriptors that pertain to the specific function for which the client driver is loaded. The number of interfaces reported in the bNumInterfaces field of a partial configuration descriptor is less than the total number of interfaces defined for the entire USB composite device. In addition, in a partial configuration descriptor, an interface descriptor's bInterfaceNumber indicates the actual interface number relative to the entire device. For example, Usbccgp.sys might report a partial configuration descriptor with bNumInterfaces value of 2 and bInterfaceNumber value of 4 for the first interface. Note that the interface number is greater than the number of interfaces reported.

    While enumerating interfaces in a partial configuration, avoid searching for interfaces by calculating interface numbers based on the number of interfaces. In the preceding example, if USBD_ParseConfigurationDescriptorEx is called in a loop that starts at zero, ends at (bNumInterfaces - 1), and increments the interface index (specified in the InterfaceNumber parameter) in each iteration, the routine fails to get the correct interface. Instead, make sure that you search for all interfaces in the configuration descriptor by passing -1 in InterfaceNumber. For implementation details, see the code example in this section.

    For information about how Usbccgp.sys handles a select-configuration request sent by a client driver, see Configuring Usbccgp.sys to Select a Non-Default USB Configuration.

  4. For each element (except the last element) in the array, set the InterfaceDescriptor member to the address of an interface descriptor. For the first element in the array, set the InterfaceDescriptor member to the address of the interface descriptor that represents the first interface in the configuration. Similarly for the nth element in the array, set the InterfaceDescriptor member to the address of the interface descriptor that represents the nth interface in the configuration.

  5. The InterfaceDescriptor member of the last element must be set to NULL.

Step 2: Get a pointer to an URB allocated by the USB driver stack.

Option Usb Devices Drivers

Next, call USBD_SelectConfigUrbAllocateAndBuild by specifying the configuration to select and the populated array of USBD_INTERFACE_LIST_ENTRY structures. The routine performs the following tasks:

  • Creates an URB and fills it with information about the specified configuration, its interfaces and endpoints, and sets the request type to URB_FUNCTION_SELECT_CONFIGURATION.

  • Within that URB, allocates a USBD_INTERFACE_INFORMATION structure for each interface descriptor that the client driver specifies.

  • Sets the Interface member of the nth element of the caller-provided USBD_INTERFACE_LIST_ENTRY array to the address of the corresponding USBD_INTERFACE_INFORMATION structure in the URB.

  • Initializes the InterfaceNumber, AlternateSetting, NumberOfPipes, Pipes[i].MaximumTransferSize, and Pipes[i].PipeFlags members.

    Note In Windows 7 and ealier, the client driver created an URB for a select-configuration request by calling USBD_CreateConfigurationRequestEx. In Windows 2000 USBD_CreateConfigurationRequestEx initializes Pipes[i].MaximumTransferSize to the default maximum transfer size for a single URB read/write request. The client driver can specify a different maximum transfer size in the Pipes[i].MaximumTransferSize. The USB stack ignores this value in Windows XP, Windows Server 2003, and later versions of the operating system. For more information about MaximumTransferSize, see 'Setting USB Transfer and Packet Sizes' in USB Bandwidth Allocation.

Step 3: Submit the URB to the USB driver stack.

To submit the URB to the USB driver stack, the client driver must send an IOCTL_INTERNAL_USB_SUBMIT_URB I/O control request . For information about submitting an URB, see How to Submit an URB.

After receiving the URB, the USB driver stack fills the rest of the members of each USBD_INTERFACE_INFORMATION structure. In particular, the Pipes array member is filled with information about the pipes associated with the endpoints of the interface.

Step 4: On request completion, inspect the USBD_INTERFACE_INFORMATION structures and the URB.

After the USB driver stack completes the IRP for the request, the stack returns the list of alternate settings and the related interfaces in the USBD_INTERFACE_LIST_ENTRY array.

Option Usb Devices Driver Downloads

  1. The Pipes member of each USBD_INTERFACE_INFORMATION structure points to an array of USBD_PIPE_INFORMATION structures that contains information about the pipes associated with each endpoint of that particular interface. The client driver can obtain pipe handles from Pipes[i].PipeHandle and use them to send I/O requests to specific pipes. The Pipes[i].PipeType member specifies the type of endpoint and transfer supported by that pipe.

  2. Within the UrbSelectConfiguration member of the URB, the USB driver stack returns a handle that you can use to select an alternate interface setting by submitting another URB of the type URB_FUNCTION_SELECT_INTERFACE (select-interface request). To allocate and build the URB structure for that request, call USBD_SelectInterfaceUrbAllocateAndBuild.

    The select-configuration request and select-interface request might fail if there is insufficient bandwidth to support the isochronous, control, and interrupt endpoints within the enabled interfaces. In that case, the USB bus driver sets the Status member of the URB header to USBD_STATUS_NO_BANDWIDTH.

The following example code shows how to create an array of USBD_INTERFACE_LIST_ENTRY structures and call USBD_SelectConfigUrbAllocateAndBuild. The example sends the request synchronously by calling SubmitUrbSync. To see the code example for SubmitUrbSync, see How to Submit an URB.

Remarks

Disabling a Configuration for a USB Device:

Option Usb Devices Driver Windows 10

To disable a USB device, create and submit a select-configuration request with a NULL configuration descriptor. For that type of request, you can reuse the URB that you created for request that selected a configuration in the device. Alternately, you can allocate a new URB by calling USBD_UrbAllocate. Before submitting the request you must format the URB by using the UsbBuildSelectConfigurationRequest macro as shown in the following example code.

Option USB Devices Driver

Related topics

Configuring Usbccgp.sys to Select a Non-Default USB Configuration
USB device configuration
Allocating and Building URBs