Drivers Gennumcorp USB Devices



  1. The package provides the installation files for FTDI USB Serial Port Driver version 2.12.16.0. If the driver is already installed on your system, updating (overwrite-installing) may fix various issues, add new functions, or just upgrade to the available version.
  2. To access a USB device, start by creating a skeleton app based on the WinUSB template included in the integrated environment of Windows Driver Kit (WDK) (with Debugging Tools for Windows) and Microsoft Visual Studio.You can use the template as a starting point.
  3. When you plug the device into your USB, Windows will look for the associated driver, if it cannot find this driver then you will be prompted to insert the driver disc that came with your device. Common USB Device errors are ‘ usb port not working ‘, ‘device descriptor request failed error’ or ‘bugcodeusbdriver’ issues.
-->

Drivers Usb free download - Drivers For Free, CopyTrans Drivers Installer, Adaptec ASPI Drivers, and many more programs.

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

Devices

Drivers Gennumcorp Usb Devices Dongle

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

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.

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.

  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:

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.

Related topics

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

Overview of USB Device Is Not Recognized Error

'My Sandisk USB flash drive is not recognized when I plug it into my laptop. Is there any way to fix USB flash drive not detected and restore the data. I have all my school work on it. Please help if you know any solutions.'

Like the user above, many users, including you now, have encountered the issue 'USB flash drive not recognized or detected' when they connect their USB device to a computer. Actually, many factors could trigger this issue, including:

  • USB connection issue
  • File system errors that make your USB become RAW
  • Drive letter issues
  • USB driver error
  • Hardware damage

Although all the causes can lead to a USB flash drive not being detected by the computer, the USB will show varying status in Disk Management depending on the cause. Thus, to fix a USB flash drive that is not recognized by your computer, you first need to check the device in Disk Management and then repair it according to the reasons.

Check The Causes of USB Flash Drive Not Recognized

Keep your USB flash drive connected and check it in Disk Management.

Step 1. Right-click 'This PC' and choose 'Manage'.

Step 2. Go to 'Disk Management'.

Step 3. Then you will see your USB flash drive in one of the following situations:

  • The USB shows as RAW
  • The USB shows as unallocated space
  • The USB shows without a drive letter
  • The USB is not showing up in Disk Management

After identifying the specific situation, you can now apply the corresponding solutions to fix the USB flash drive that is not recognized.

Fixes for USB Flash Drive Not Recognized/Detected

If you're not in one of the scenarios above, you can also apply the tips detailed below to have a try.

Fix 1. Recover Files from RAW USB Drive before Formatting

Drivers Gennumcorp Usb Devices Wireless Adapter

Applies to: Fix USB becomes RAW.

There must be file system errors on your USB flash drive that make your USB device not recognized as RAW. It could be file system missing, corrupted, or not compatible with Windows.

To repair a RAW USB, all you need to do is to recover data from the USB that is not recognized and then convert RAW to NTFS or FAT32 file system by formatting. Formatting will erase the existing data on your USB stick. That's why you need to perform data recovery first.

To retrieve data from an inaccessible device, you can use the professional disk recovery software - EaseUS Data Recovery Wizard. It perfectly supports deleted file recovery, formatted data recovery, RAW partition recovery, and other data loss situations.

To recover data from the RAW USB:

Step 1. Choose the flash drive to scan.

Launch EaseUS Data Recovery Wizard and choose your flash drive where you lost important files. Click 'Scan' to start.

Step 2. Check and preview found flash drive data.

After the scanning is finished, you can quickly locate a specific type of file by using the Filter feature as well as the Search.

  • Filter: A quick way to your wanted files.
  • Search: e.g. File name/file extension.

Step 3. Restore flash drive data.

After checking and finding lost flash drive files, select them and click Recover to restore. You shall save the found files to a safe location on your PC rather than to your flash drive.

After retrieving all the files, you can now format the USB flash drive and assign a new file system to the device, which will make it usable again.

Fix 2. Update Unallocated USB Driver and Create New Partition

Applies to: Fix USB shows as unallocated space.

If your USB is not recognized by the computer and becomes unallocated space, it probably results from outdated USB driver. Thus, you should try to reinstall the USB device driver.

Step 1. Connect the USB flash drive to the PC

Step 2. Navigate to 'Control Panel' > 'System' > ‘’Device Manager' > 'Disk drivers'.

Step 3. Find and select your USB device, right-click and first choose 'Uninstall' and then choose 'Scan for hardware changes' to refresh the drivers.

Step 4. Restart your computer.

After all the operations, you may find USB not recognized issue is fixed and the flash drive is detected. If reinstalling the USB driver doesn't help, you can recover data from the unallocated space with EaseUS Data Recovery Wizard introduced above and then create a new volume to make it ready for data storage. (The unallocated space will show up as 'lost partition' in EaseUS data recovery software. Choose the right partition to scan and then recover your data.)

To create a new volume on unallocated space:

Step 1. Go to 'This PC', right-click it and choose 'Manage' > 'Disk Management'.

Step 2. Right-click the unallocated space and choose 'New Simple Volume'.

Step 3. Follow the wizard to finish the remaining process.

Drivers Gennumcorp USB Devices

Fix 3. Change USB Driver Letter to Make It Detectable

Applies to fix: USB shows without driver letter.

Another reason for USB flash drive not detected issue is that the drive letter assigned to the USB drive is occupied by another drive on the computer (or the drive letter on the USB is missing). To solve this problem, you just need to try EaseUS free partition software to assign an unused drive letter to the USB flash drive. It will help you fix the 'USB flash drive not recognized' issue and recover all the inaccessible data with ease.

You can also assign a drive letter to your USB in Disk Management.

Drivers Gennumcorp USB DevicesDrivers Gennumcorp USB Devices

Step 1. Keep your USB connected. Right-click 'This PC' and choose 'Manage' > 'Disk Management'.

Step 2. Right-click the volume on your USB flash drive and select 'Change Drive Letter and Paths'.

Step 3. In the new window, click 'Change'.

Step 4. Assign a new drive letter to your USB and click 'OK'.

Fix 4. Check USB Port and Change Connection to Make USB Recognized

Applies to: Fix USB isn't showing up in Disk Management

If your USB flash drive is not detected by Disk Management at all, it's likely that:

  • The USB is not connected properly
  • There are driver issues
  • Your USB device is physically damaged

Therefore, you can first connect your USB connection including:

  • Change the USB port/cable
  • Connect your external hard drive or other storage devices to another computer and check whether the problem remains
  • Connect your USB drives to the rear port which provides a more stable power supply compared to the front ones

Then reinstall drivers (detailed above). If these tips don't help, you should consider sending the USB flash drive for repair.

The Bottom Line

When a USB flash drive is not recognized by the computer, there are varying causes. Once you can find the reason, you can easily make the decision on how to fix it. Besides, this issue also reminds you of the importance of growing a good habit of using your USB stick, like ejecting the device before disconnecting it and backing the device up regularly. I hope one of the solutions above could help to fix your USB flash drive that is not recognized or detected.

FAQs About USB Flash Drive Not Recognized or Detected

Besides fixing USB flash drive is not recognized error and bring lost files back, some users may also want to know the causes of USB flash drive not showing up, and how to repair the USB drive, etc.

If you are interested in these questions, follow on and you will find a satisfying answer below:

1. Why is my USB flash drive not showing up?

If a driver is missing, outdated, or corrupted, your computer won't be able to load your USB drive. USB driver issue, drive letter conflicts, and file system errors, etc. may all cause your USB flash drive not showing up on Windows PC.

You can update USB driver, reinstall the disk driver, recover USB data, change USB drive letter, and format USB to reset its file system. For a detailed guide, you can refer to USB Not Showing Up in Windows 10/8/7 for help.

2. How can I repair my USB flash drive?

USB flash drives can become corrupt or damaged for a variety of reasons. Luckily you can fix your USB for free.

Windows chkdsk and Windows disk error checking are able to repair errors on your disk from the command line. Afterward, with EaseUS data recovery software, you can get your data back from a failed pen drive without losing files.

For a detailed guide, you may refer to USB Flash Drive Repair Tool for help.

3. How can I recover my USB flash drive that is not recognized?

As recommended on this page, when your USB flash drive, pen drive or external hard drive becomes unrecognized, you can get rid of this issue with the following steps:

Step 1. Check USB status in Disk Management:

  • The USB shows as RAW
  • The USB shows as unallocated space
  • The USB shows without a drive letter
  • The USB is not showing up in Disk Management

Step 2. Fix related error on the USB drive and make it recognized:

  1. 1. Recover files and format RAW USB.
  2. 2. Update unallocated USB drivers and create a new volume.
  3. 3. Change the USB drive letter.
  4. 4. Check USB port, change USB connection
  5. 5. If none of the above fixes work, take USB to a local device repair center for manual repair.




Comments are closed.