VMware Horizon Community
Douglas42Adams
Enthusiast
Enthusiast

uemFlags USB reg entry Fix :

Sorry - i couldn't find a ton of info on the below Fix.

Anyone know if this only applies to Horizon agent 7.4 / 7.5 ?.. we are on 7.6 atm.

also- if we were being affected by it any idea if just USB Redirection plain doesnt work ?

HKLM\Software\VMware, Inc.\VMware VDM\Agent\USB (if the key is not present, create it)

uemFlags (DWORD) to 1

thanks .

28 Replies
DEMdev
VMware Employee
VMware Employee

Hi Douglas42Adams,

That particular setting should be supported in Horizon agent 7.6 as well. But, what problem are you experiencing, exactly?

Reply
0 Kudos
KjellO
Enthusiast
Enthusiast

Hi,

I have a case with VMware regarding issues with USB Redirection and Horizon Agent 7.9 (also tested Horizon Agent 7.8). We also use UEM 9.7.

The solution was to add this registry key:

[HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware VDM\USB]

"WaitForSessionIdTimeout"=dword:000000c8

Where 000000c8 is HEX for 200 in Decimal.

In our case, UEM disabled USB because of a default timeout of 60 seconds:

DEBUG (0C88-1588) <MessageFrameWorkDispatch> [ws_vhub] USB is allowed by GPO

DEBUG (0C88-1588) <MessageFrameWorkDispatch> [ws_vhub] UEM is installed

DEBUG (0C88-1588) <MessageFrameWorkDispatch> [ws_vhub] Can't get a valid sessionId within 60 seconds for channel 0x000002878977E5C0. Already closed?

INFO  (0C88-1588) <MessageFrameWorkDispatch> [ws_vhub] USB policy set to disallowed

The registry increases this timeout to 200 seconds, which was enough for us in this case.

/Kjell

VDINinja311
Enthusiast
Enthusiast

KjellO

You might have just helped me solve our random USB redirection issues that we have been having as well. Horizon 7.6/AV 2.16/UEM 9.5. I have been struggling to pin down the exact issue here in the last week or two. I am seeing these same messages in my Debug VDM client logs when the client says "USB Redirection is not available". Going to test this and let you know.

Douglas42Adams
Enthusiast
Enthusiast

@UEMdev

The issues we are seeing w/ some users is On reboot the personal printer will no longer show up on the users machine .

If the user unplugs the printer and plugs it back into the Zero Client the printer will show back up .

It's not really a solution.. but more of a workaround.. but we just put the printer on the Network.. which is probably easier to support / more reliable anyhow .

thanks .

Reply
0 Kudos
Douglas42Adams
Enthusiast
Enthusiast

Thanks KjellO

Did you apply this to the Gold Image ?... Probably not a good idea to apply via UEM Manager right ?

Any thoughts on applying this Fix if we are not yet fully seeing these problems ?... think it would hurt anything ?

thanks

Reply
0 Kudos
KjellO
Enthusiast
Enthusiast

Hi Douglas,

Every change like this needs to be applied on the GM and you should also do a reboot  of the GM after applying registry keys like these.

I do not know if this registry key will resolve your problem, you should probably open a SR and have VMware examine the logs to be sure.

Good luck!

Kind regards

Kjell

Reply
0 Kudos
DEMdev
VMware Employee
VMware Employee

Hi Douglas42Adams,

That symptom doesn't sound like the typical USB redirection issues, that usually boil down to "USB redirection does not work at logon, but works after reconnecting to an existing session".

As for the Horizon agent's WaitForSessionIdTimeout workaround that KjellO mentioned: that would only be applicable in case you get those <MessageFrameWorkDispatch> [ws_vhub] Can't get a valid sessionId within 60 seconds log messages.

And, if you would like to configure that setting, you would indeed not be able to do that via UEM itself. For two reasons: it's an HKLM setting (so UEM can't apply it), but even if it could, it would be too late – for the Horizon agent to pick up this setting, it needs to be there before UEM even gets to run at logon.

Reply
0 Kudos
matthewgONCU
Enthusiast
Enthusiast

what log would that be in? We are having the issue where "USB redirection is not available for this desktop", but if we disconnect and reconnect it's there. I just want to verify the logs before I make any major changes to our golden image.

Reply
0 Kudos
matthewgONCU
Enthusiast
Enthusiast

I found the log file. I did find the error:

2019-08-29T15:03:55.183-07:00 DEBUG (0B34-0BE4) <MessageFrameWorkDispatch> [ws_vhub] Can't get a valid sessionId within 60 seconds for channel 0x000001F307D7C170. Already closed?

2019-08-29T15:03:55.183-07:00 INFO  (0B34-0BE4) <MessageFrameWorkDispatch> [ws_vhub] USB policy set to disallowed

I changed the regkey for both UEMtimeouts in hklm/software/vmware, inc.\vmware vdm\agent\usb  to 120 and waitforsessionidtimeout to 200 in hklm/software/vmware, inc.\vmware vdm\agent\usb

2019-08-29T15:40:37.917-07:00 INFO  (0B34-1FB4) <MessageFrameWorkDispatch> [ws_vhub] vhublib: Effective configuration setting, name: uemTimeouts, value: 120

2019-08-29T15:40:37.917-07:00 DEBUG (0B34-1FB4) <MessageFrameWorkDispatch> [ws_vhub] vhublib: Uem timeout is 120 seconds

2019-08-29T15:40:37.917-07:00 INFO  (0B34-1FB4) <MessageFrameWorkDispatch> [ws_vhub] vhublib: Effective configuration setting, name: HorizonUSBVersion, value: 2

2019-08-29T15:40:37.917-07:00 DEBUG (0B34-1FB4) <MessageFrameWorkDispatch> [ws_vhub] vhublib: Usb UEM intf version is 2

2019-08-29T15:40:37.917-07:00 DEBUG (0B34-1FB4) <MessageFrameWorkDispatch> [ws_vhub] Usb is allowed by UEM. sessionId=2

2019-08-29T15:40:37.917-07:00 INFO  (0B34-1FB4) <MessageFrameWorkDispatch> [ws_vhub] USB policy set to allowed

This was from the UEMTimeout key for 2 minutes.

However I think we have an environment issue. We have an interactive login message with a company policy message that the users has to click okay to. If they don't click okay right away, I think it times out so when they log in the USB redirection doesn't work.

2019-08-29T16:05:47.859-07:00 DEBUG (0B34-0A2C) <MessageFrameWorkDispatch> [ws_vhub] USB is allowed by GPO

2019-08-29T16:05:47.859-07:00 DEBUG (0B34-0A2C) <MessageFrameWorkDispatch> [ws_vhub] UEM is installed

2019-08-29T16:05:47.859-07:00 INFO  (0B34-0A2C) <MessageFrameWorkDispatch> [ws_vhub] vhublib: Effective configuration setting, name: uemFlags, value: 1

2019-08-29T16:05:47.859-07:00 DEBUG (0B34-1CE4) <MessageFrameWorkDispatch> [MessageFrameWork] System::CreateRemoteSessionChannel

2019-08-29T16:05:47.859-07:00 DEBUG (0B34-1CE4) <MessageFrameWorkDispatch> [wsnm_desktop] DesktopManager got a FindVirtualChannelTicket message

2019-08-29T16:06:14.874-07:00 DEBUG (0B34-0BB4) <TimerService> [ws_perfmon] System CPU use: 40%

2019-08-29T16:06:14.874-07:00 DEBUG (0B34-0BB4) <TimerService> [ws_perfmon] Physical memory use: 20%

2019-08-29T16:06:14.999-07:00 DEBUG (0B34-124C) <MessageFrameWorkDispatch> [wsnm_helpdesk] Failed to get data from counter, error: 0xc0000bc6, perf counter path \PCoIP Session Network Statistics(PCoIP Session -1)\Round Trip Latency ms

2019-08-29T16:06:14.999-07:00 DEBUG (0B34-124C) <MessageFrameWorkDispatch> [wsnm_helpdesk] Erase the failure counter, metrics count: 1

2019-08-29T16:06:33.202-07:00 DEBUG (0B34-124C) <MessageFrameWorkDispatch> [wsnm_desktop] DesktopManager got a SendSessionReport message

2019-08-29T16:06:33.342-07:00 DEBUG (0B34-124C) <MessageFrameWorkDispatch> [wsnm_desktop] session::pendingSessionDuplicateCount(): final duplicate count = 0

2019-08-29T16:06:33.342-07:00 DEBUG (0B34-124C) <MessageFrameWorkDispatch> [wsnm_desktop] SessionCounts: total=1, pen=0, con=0, dis=0, por=1, lgf=0

2019-08-29T16:06:33.342-07:00 INFO  (0B34-124C) <MessageFrameWorkDispatch> [wsnm_desktop] USB over Virtual Channel is installed.

2019-08-29T16:06:33.342-07:00 INFO  (0B34-124C) <MessageFrameWorkDispatch> [wsnm_desktop] Agent configuration for Usb over virtual channel: disabled, Usb Collaboration: enabled, Usb Collaboration VC for primary session: enabled

2019-08-29T16:06:33.342-07:00 INFO  (0B34-124C) <MessageFrameWorkDispatch> [wsnm_desktop] Send the USB virtual channel flag 0 to broker.

2019-08-29T16:06:33.342-07:00 DEBUG (12B8-138C) <Thread-113> [ComponentResponse] Message is <?xml version="1.0"?>

<TERMINALRESPONSE><ID></ID><SERVERDN>cn=50fa3e74-5d4c-4725-a70f-bead105491d3,ou=servers,dc=vdi,dc=vmware,dc=int</SERVERDN><SERVERPOOLDN>cn=win10_dr,ou=server groups,dc=vdi,dc=vmware,dc=int</SERVERPOOLDN><SERVERDNSNAME>Win10VDI-2-DR.nevadafederal.int</SERVERDNSNAME><DYNAMICIPADDRESS>10.0.1.181</DYNAMICIPADDRESS><MACADDRESSIPV4>00:50:56:ba:29:f8</MACADDRESSIPV4><PREFIXLENGTHIPV4>24</PREFIXLENGTHIPV4><PLATFORM>WINDOWS</PLATFORM><OSVERMAJOR>10</OSVERMAJOR><OSVERMINOR>0</OSVERMINOR><AGENTVERSION>7.9.0</AGENTVERSION><AGENTBUILDNUM>13938590</AGENTBUILDNUM><REAVERSION></REAVERSION><REABUILDNUM>13938590</REABUILDNUM><UEMVERSION>9.8.0.895</UEMVERSION><VPENABLED>false</VPENABLED><PROTOCOL><NAME>RDP</NAME><PORT>3389</PORT><STATUS>ready</STATUS></PROTOCOL><PROTOCOL><NAME>PCOIP</NAME><PORT>0</PORT><STATUS>negotiate</STATUS></PROTOCOL><PROTOCOL><NAME>BLAST</NAME><PORT>0</PORT><STATUS>negotiate</STATUS></PROTOCOL><AGENTREADY>true</AGENTREADY><ACCEPTINGCONNECTIONS>true</ACCEPTINGCONNECTIONS><ERROR-CODE>AGENT_ERR_OK</ERROR-CODE><USBVIRTUALCHANNELENABLED>false</USBVIRTUALCHANNELENABLED><STARTTIME>1567114919</STARTTIME><MAXSESSIONS>1</MAXSESSIONS><SESSIONCOUNT>1</SESSIONCOUNT><PENDINGSESSIONCOUNT>1</PENDINGSESSIONCOUNT><CONNECTEDSESSIONCOUNT>0</CONNECTEDSESSIONCOUNT><DISCONNECTEDSESSIONCOUNT>0</DISCONNECTEDSESSIONCOUNT><TERMINALSERVICESENABLED>false</TERMINALSERVICESENABLED><MULTISESSIONENABLED>false</MULTISESSIONENABLED><VDIAPPMODESUPPORTED>true</VDIAPPMODESUPPORTED><UNAUTHENTICATEDACCESSENABLED>false</UNAUTHENTICATEDACCESSENABLED><LISTENERS><LISTENER>FRAMEWORKCHANNEL:32111</LISTENER></LISTENERS><LISTENERS><LISTENER>VDPSERVICECHANNEL:9427</LISTENER></LISTENERS><DOMAIN><NAME>NEVADA</NAME></DOMAIN><DOMAIN><NAME>NFCU</NAME></DOMAIN><DOMAIN><NAME>WIN10VDI-2-DR</NAME></DOMAIN><SESSION><SESSIONGUID>15560eab-9c0c-484c-abeb-54c804cf311f</SESSIONGUID><STATICSESSIONGUID>81f8e252-16d9-4a25-a1f9-bdd8211abe21</STATICSESSIONGUID><USERDN>cn=s-1-5-21-1740064666-1385770315-930774774-32114,cn=foreignsecurityprincipals,dc=vdi,dc=vmware,dc=int</USERDN><BROKERUSERSID>S-1-5-21-1740064666-1385770315-930774774-32114</BROKERUSERSID><CONNECTIONID>6F2670D0_15FE_465C_B440_DD2C48BFA439</CONNECTIONID><LOCATIONID>c20e44d3f6c892fd159381f74422634bf72b0dcf38ecd6e5799efc109c005d92</LOCATIONID><USERNAME>MatthewG</USERNAME><DOMAINNAME>NFCU</DOMAINNAME><BROKERINGENDPOINTID>PodEndpoint/a6323095-8ad8-4b63-b3f2-c6e808feee9e/ONCU-CS2-VDI-DR</BROKERINGENDPOINTID><HOSTPODID>a6323095-8ad8-4b63-b3f2-c6e808feee9e</HOSTPODID><SECURITYGATEWAYID>ONCU-CS2-VDI-DR.nevadafederal.int</SECURITYGATEWAYID><SESSIONTYPE>DESKTOP</SESSIONTYPE><APPIDHISTORY></APPIDHISTORY><CLIENTADDRESS></CLIENTADDRESS><CLIENTNAME></CLIENTNAME><CLIENTVERSION></CLIENTVERSION><CLIENTTYPE>Windows</CLIENTTYPE><SECURITYGATEWAYIPADDRESS>10.230.128.69</SECURITYGATEWAYIPADDRESS><SECURITYGATEWAYLOCATION>Internal</SECURITYGATEWAYLOCATION><SESSIONID>-1</SESSIONID><STATE>ConnectPending</STATE><PROTOCOL></PROTOCOL></SESSION></TERMINALRESPONSE>

2019-08-29T16:06:33.342-07:00 DEBUG (12B8-0CE8) <pool-3-thread-3> [AbstractTopicPublishingManager] (DesktopControlPublishingManager-agent) Message published.

2019-08-29T16:06:45.014-07:00 DEBUG (0B34-0BB4) <TimerService> [ws_perfmon] System CPU use: 2%

2019-08-29T16:06:45.014-07:00 DEBUG (0B34-0BB4) <TimerService> [ws_perfmon] Physical memory use: 20%

2019-08-29T16:06:48.780-07:00 DEBUG (0B34-0A2C) <MessageFrameWorkDispatch> [ws_vhub] Can't get a valid sessionId within 60 seconds for channel 0x000001F3080DAB30. Already closed?

2019-08-29T16:06:48.780-07:00 INFO  (0B34-0A2C) <MessageFrameWorkDispatch> [ws_vhub] USB policy set to disallowed

Any suggestions for how to proceed? We can instruct users to click okay quickly, but that defeats the purpose of the message. Even though the value is set to 200, is there a reason the log still states "Can't get a valid sessionId within 60 seconds?"

Reply
0 Kudos
matthewgONCU
Enthusiast
Enthusiast

More info. I appears one of the regkeys isn't working correctly as I stayed at the interactive login windows with a stop watch. USB was initializing and as soon as the 60 second mark hit, it turned to USB Redirection is not available for this workstation.

The key I was supposed to add was on the VM Golden Image, correct?

Reply
0 Kudos
DEMdev
VMware Employee
VMware Employee

Hi matthewgONCU,

The registry settings do indeed need to be applied to the golden image, but I think there's some confusion about the particular registry keys (whether the "Agent" sub key should be included or not.)

As UEMDev I don't know all the Horizon agent details, so rather than provide you with incorrect information, I suggest you open a support case. I'll send you a private message with a reference that should allow the support team to quickly add your case to some ongoing investigations into USB redirection issues.

Reply
0 Kudos
RachelW
Enthusiast
Enthusiast

Was this issue resolved?  I am experiencing the same intermittent issue with laptops specifically.  I have the UEMFlags registry key set on my golden image but still periodically get the "USB redirection is not available on this desktop" message on the VDI desktop.

We are running Horizon 7.8 and UEM 9.5 andI do know that is an issue however we are not at a point where we can upgrade UEM so we need a solution that will work until we can get UEM upgraded.

Thank you.

Reply
0 Kudos
DEMdev
VMware Employee
VMware Employee

Hi RachelW,

The latest fix around USB redirection issues in combination with DEM/UEM shipped in Horizon agent 7.6, supported by a change in UEM 9.5.

There's an ongoing issue that seems to be triggered by "slow" logons, where the Horizon agent can't determine the session ID within its default timeout of 60 seconds. Kjell's post earlier in this thread lists the Horizon log message to check for ("Can't get a valid sessionId within 60 seconds for channel") and the workaround (overriding the timeout by configuring the WaitForSessionIdTimeout registry value.)

However... If you have the UEMFlags registry value configured, you should not be encountering this particular issue. That value instructs the Horizon agent not to look for Horizon Smart Policy configuration provided by DEM/UEM, so it won't try to determine the session ID which it would have needed to do so...

Probably best to open up a support case, so VMware support can take a look at what's going on.

RachelW
Enthusiast
Enthusiast

Thank you for responding.  I am not seeing those messages in my debug log; I am instead seeing these messages:

USBRedirection-DebugLog.jpg

I do have a support ticket open with VMware as well.

Thank you for your assistance/information.

Reply
0 Kudos
DEMdev
VMware Employee
VMware Employee

Hi RachelW,

However... If you have the UEMFlags registry value configured, you should not be encountering this particular issue.

I just realized that I need to qualify the above statement, as it depends on what you have set that UEMFlags registry value to...

Setting that value to 1 (as described at the start of this thread) tells the Horizon agent not to go and check for Horizon Smart Policies USB redirection configuration for for zero client connections.

If you want to disable the logic for "soft clients" as well, you'd need to set UEMFlags to 257 (i.e. 0x101 in hex.)

So, depending on your UEMFlags configuration you might be encountering that "60 second timeout" issue after all. Please note that that "Can't get a valid sessionId within 60 seconds for channel" message is logged to the Horizon agent log file – I hardly know anything about Horizon, but I wonder whether that log fragment you posted is maybe from the Horizon client log?

dimich34
Contributor
Contributor

Hi Rachel, did you ever resolve the issue with USB redirection? i see the same errors in my log and can not find the solution. Any details you can share? thank you.

Reply
0 Kudos
dimich34
Contributor
Contributor

Did anyone find a resolution? we are getting the same errors. USB Deny reason: denied by policy

2020-01-10T08:48:40.314-05:00 INFO  (56EC-5734) <MessageFrameWorkShare> [vmware-remotemks] Remote USB status reported, state: unavailable

2020-01-10T08:48:40.314-05:00 DEBUG (56EC-5734) <MessageFrameWorkShare> [vmware-remotemks] USB deny reason: denied by policy

2020-01-10T08:48:40.314-05:00 DEBUG (56EC-5734) <MessageFrameWorkShare> [vmware-remotemks] viewusb_op_notif_error: [Id: 0], msgId=213, msgParam=IDS_DROPDOWN_DEVICES_NOT_AVAILABLE

2020-01-10T08:48:40.314-05:00 INFO  (56EC-5734) <MessageFrameWorkShare> [vmware-remotemks] Remote USB uemTimeouts: 0

2020-01-10T08:48:40.314-05:00 DEBUG (56EC-5384) <vmware-usbd> [vmware-remotemks] viewusb_op_notif_reconnect: state=0

Reply
0 Kudos
DEMdev
VMware Employee
VMware Employee

Hi dimich34,

Which versions of Horizon and DEM/UEM are you using? Does your Horizon agent log contain "Can't get a valid sessionId within 60 seconds for channel" messages?

Reply
0 Kudos
dimich34
Contributor
Contributor

I am using DEM version 9.9 and I did check logs on my computer and could not find any references to "Can't get a valid sessionId within 60 seconds for channel" messages

Reply
0 Kudos