USB device identification/Serial String of Device Instance ID changes on Windows 10 Virtual machine ( Azure/AWS) lead a Device Enumeration problem on Windows

sandip patidar 0 Reputation points
2023-11-06T16:53:51.4433333+00:00

Problem Statement: We have a USB-based device that is plugged in on a Windows 10 machine.

below is the Device Instance ID of the plugged-in USB device under Device Manager. USB\VID_XXXX&PID_XXXX`SSSSSSSSS-SSSSSSSSS` Where SSSSSSSSS-SSSSSSSSS is Device Serial Number String.

Now create an Azure virtual Desktop machine( Windows 10) and enable the RemoteFx feature on machines to enable USB device redirection from Local Windows 10 machine to Azure Virtual Desktop machine.

Connect local Windows 10 machine with Azure Virtual Desktop machine using RDP (RemoteFx).

The USB redirection is successful. USB Device is detected under Device Manager but on Virtual machine, USB Device Serial String is changed, Very strange behaviour.

New Device Instance ID: USB\VID_XXXX&PID_XXXX&REV_000X\\3&XXXXXXX&0&TSUSB-SESSION2-XXXXXXXXXX&3&XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

Do you know why USB device identification/Serial String changes of Device Instance ID on Windows 10 Virtual machine ( Azure/OpenStack)?

I appreciate it if someone could help with this issue.

Read RemoteFX feature and Windows Virtual USB Redirection document but there is no explanation for this behaviour.

Read same issue on other sites but no solution available?

Azure Virtual Machines
Azure Virtual Machines
An Azure service that is used to provision Windows and Linux virtual machines.
7,385 questions
Azure Virtual Desktop
Azure Virtual Desktop
A Microsoft desktop and app virtualization service that runs on Azure. Previously known as Windows Virtual Desktop.
1,411 questions
Remote Desktop
Remote Desktop
A Microsoft app that connects remotely to computers and to virtual apps and desktops.
4,336 questions
{count} votes

2 answers

Sort by: Most helpful
  1. KarishmaTiwari-MSFT 18,652 Reputation points Microsoft Employee
    2023-11-20T18:49:28.94+00:00

    @sandip patidar On discussion with the internal team, it was shared that USB device identification/Serial String changes of Device Instance ID is needed to provide sessions isolation for redirected USB devices.

    Hope that helps.


    Let me know in the comments if you have further questions. Comment is the fastest way to reach the experts for any questions or help you need.
    If it helped, please Accept as Answer so that it can help others in the community who are looking for help on the same.


  2. Yang Deping 0 Reputation points
    2024-06-13T02:17:03.4166667+00:00

    USB instance ID has been changed after USB redirection

    Article | Created: 22 Mar 2023 | Modified: 06 May 2023

    Applicable Products

    Citrix Virtual Apps and Desktops Service Citrix DaaS

    Symptoms or Error

    Orignal USB device instance ID has been modified when USB device has been redirected to VDA server.

    Solution

    Please configure below registry key to use the serial number as the instance ID:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\icausbb\Parameters

    Name: DeviceInstanceIDOption

    Type: REG_DWORD

    Value: 2

    Restart VDA for changes to take effect.

    Problem Cause

    An additional suffix will be added to the USB device instance after redirection, it's expected behavior.

    The USB device instance path might have additional characters at the end of the path name

    when the device is redirected on 7.6.300 and later version of the VDA. To change this behavior, add the

    Product ID (PID) or Vendor ID (VID) to the following registry key:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\icausbb\Parameters

    Name: DeviceInstanceIDOption

    Type: REG_DWORD

    Value: 0 (default value), 1, 2.

    If “DeviceInstanceIDOption” is configured to “0” (0 being the default value), devices whose VID/PID pairs are configured to “UsingSerialNumberDevices” use the serial number as the instance ID. Other devices use “serial_number+Bus_number+port_number” as the instance ID.

    If “DeviceInstanceIDOption” is configured to “1,” devices whose VID/PID pairs are configured to “UsingSerialNumberDevices” use “serial_number+Bus_number+port_number” as the instance ID. Other devices use the serial number as the instance ID.

    If “DeviceInstanceIDOption” is configured to “2,” all devices use the serial number as the instance ID.

    All other values are invalid and treated as “0.”

    0 comments No comments