DuoStream / Duo

An HDR-compatible multiseat streaming solution based around RdpWrap, Sunshine, Moonlight, and a variety of custom driver and library patches
420 stars 1 forks source link

Sunshine Web UI inaccessible #128

Closed Mario0051 closed 4 months ago

Mario0051 commented 4 months ago

Hello. I am having an issue where I start the Duo service, and I would assume that the Sunshine service on the instance should start relatively quickly soon after, but this does not seem to happen as the Web UI is inaccessible. My Windows 11 build is 26241 (Enterprise edition) and on the latest version of Duo v1.4.5.

Black-Seraph commented 4 months ago

Version 1.4.6 just released, please try again and see if the issue still persists.

Regardless, please provide an Application event log dump as well as a copy of the instance's log file the next time you open an issue as there isn't anything I can do for you without those.

Mario0051 commented 4 months ago

Here is the whole event log, I hope it can be helpful in some way: EventLog.zip The instance did not generate a log file unfortunately. I have also tried with version 1.4.6, no success there either.

Black-Seraph commented 4 months ago

@Mario0051 The log you've attached is a bit too sparse for me to be able to tell what is going on, so lets fix that.

  1. Make sure you're got the latest 1.4.6 build installed
  2. Make sure Duo is stopped
  3. Clear the Application event log
  4. Download this debug version of DuoIdd.dll, right-click it, go to Properties, hit the Unblock button and finally extract it
  5. Replace C:\Program Files\Duo\DuoIdd.dll with the debug version you've just extracted
  6. Restart Duo
  7. Wait a bit for it to fail
  8. Export the Application event log and attach it in a new comment
Mario0051 commented 4 months ago

Here is a new event log with the debug version of DuoIdd.dll: NewEventLog.zip

Black-Seraph commented 4 months ago

There's absolutely no output from DuoIdd in there whatsoever, which hints at the driver not being loaded.

Check the following things and report back:

Mario0051 commented 4 months ago

I have made sure the DLL in the program folder exists, and the checksum matches the file in the zip. The DLL also exists in the UMDF folder, the checksum is also a match. The Duo service seems to set the registry key properly, ImagePath is set to %SystemRoot%\System32\drivers\UMDF\DuoIdd.dll while running and %SystemRoot%\System32\drivers\UMDF\RdpIdd.dll when it is stopped. The DLL files listed do exist in System32, so there is no problem there.

Black-Seraph commented 4 months ago

All looks in order TBH, which makes me believe this is an authentication problem.

Could it be that NTLM is disabled on your host PC?

Try the following to verify:

  1. Open cmd.exe via run as administrator
  2. Type cd "C:\Program Files\Duo" and press enter
  3. Type DuoRdp.exe 127.0.0.1 YourComputerName\YourInstanceUsername YourInstanceUserPassword 1024 768 and press enter

If this command errors out, please copy and paste the error message.

Just make sure you censor your password as to not leak any sensitive data.

Mario0051 commented 4 months ago

There is an error that occurs within a few minutes after running the command:

Traceback (most recent call last):
  File "aardwolf\connection.py", line 1001, in __x224_reader
TypeError: cannot unpack non-iterable NoneType object
Traceback (most recent call last):
  File "asyncio\windows_events.py", line 462, in finish_socket_func
OSError: [WinError 64] The specified network name is no longer available

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "aardwolf\connection.py", line 1341, in handle_out_data
  File "aardwolf\network\x224.py", line 57, in write
  File "asysocks\unicomm\common\connection.py", line 65, in write
  File "asyncio\streams.py", line 380, in drain
  File "asysocks\unicomm\common\connection.py", line 80, in read
  File "asyncio\streams.py", line 713, in read
  File "asyncio\streams.py", line 545, in _wait_for_data
  File "asyncio\proactor_events.py", line 286, in _loop_reading
  File "asyncio\windows_events.py", line 803, in _poll
  File "asyncio\windows_events.py", line 466, in finish_socket_func
ConnectionResetError: [WinError 64] The specified network name is no longer available
Black-Seraph commented 4 months ago

Would it be possible to arrange a TeamViewer or AnyDesk session with you sometime this weekend?

There's no clear cause for your issue which is why I'd like to take a look at your issue personally.

Mario0051 commented 4 months ago

Yes, it would be possible. I would like to see this issue being resolved.

Black-Seraph commented 4 months ago

Drop me a friend request on discord.

My tag is black5eraph.

Black-Seraph commented 4 months ago

Fixed in version 1.4.7. Issue closed.

Thanks again for the debugging by proxy @Mario0051.