USB and SPDIF so S.M.S.L. Q5, USB to Schiit audio Modius, onboard audio, AMD HDMI audio port all show in the Windows mixer and all work from all other applications.
Number of Tracks in Library
28,000 tracks
Description of Issue
Roon used to work just fine on this PC. At some point (after an update?), all of the local audio devices disappeared from the Roon client. I have tried rebooting, uninstalling and reinstalling, etc. Nothing makes a difference. These audio devices are all working and are accessible/usable from every other application on the PC. I’m not currently running any app that takes exclusive control of any of the audio devices.
Looking for help to debug and correct this.
Bump.
Is there any way to debug this?
I’m not seeing any kind of errors, but also not seeing any of the local audio devices and I don’t see any way to force a scan.
Any debug logs I can check?
The symptoms you describe sound like a firewall is blocking Roon from operating properly. Since you are using a Windows PC, I would verify that both Roon.exe and RAATServer.exe have been added as exceptions to your Windows firewall.
You can use these instructions to add the exceptions and the executables themselves would be located in your Database Location/Application folder path.
I would also add these exceptions to any Antivirus or other Firewall blocking applications you may have and ensure that you connected to your network via a Private network, not a Public one, see this guide for more information.
Thanks @noris ,
I checked and the correct entries are already in the firewall (with the correct path to C:\Users\timw\AppData\Local\Roon\Application{Roon,RAATServer}.exe
I enabled the “allow on public networks” entry for both of them too, but it made no difference.
I can access my library and my Roon core and I see all of the other audio devices, just not the local ones on this PC:
What I am seeing that looks relevant and shows up in a few other support requests is the following the the Roon log:
03/29 06:56:49 Info: ConnectOrStartAndWaitForExit RAATServer, path: C:\Users\timw\AppData\Local\Roon\Application\RAATServer.exe
03/29 06:56:50 Warn: [multicastreceiver] couldn't bind to iface 10.0.1.39:5350, message: The requested address is not valid in its context
03/29 06:56:50 Warn: [multicastreceiver] couldn't bind to iface 127.0.0.1:5350, message: The requested address is not valid in its context
03/29 06:56:50 Warn: [multicastreceiver] couldn't bind to iface 172.19.192.1:5350, message: The requested address is not valid in its context
03/29 06:56:50 Warn: [multicastreceiver] couldn't bind to iface 172.20.176.1:5350, message: The requested address is not valid in its context
03/29 06:56:50 Warn: [multicastreceiver] couldn't bind to iface 172.22.176.1:5350, message: The requested address is not valid in its context
03/29 06:56:50 Warn: [multicastreceiver] couldn't bind to iface 172.18.64.1:5350, message: The requested address is not valid in its context
03/29 06:56:50 Warn: [natpmp] [device/fe80::b6fb:e4ff:fe24:2e16%26] exception setting up socket to send data: System.Net.Sockets.SocketException (0x80004005): An address incompatible with the requested protocol was used
at System.Net.Sockets.Socket.SendTo(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint remoteEP)
at Sooloos.Broker.NAT_PMP.Device.SendRequest(RespCtx ctx, Int32 delayms)
at Sooloos.Broker.NAT_PMP.Device.SpinQueue()
at Sooloos.Broker.NAT_PMP.Device.GetExternalIP()
at Sooloos.Broker.NAT_PMP.Device..ctor(DeviceTracker parent, IPAddress gatewayip)
What doesn’t make sense to me is that all of those addresses are valid, and running netstat -a when Roon is not running shows that nothing else has port 5350 bound or in use.
I was just dealing with the same issue - are you running any kind of local development setup? For me it wasn’t an obvious port, but a typical PHP-CGI one, 9003 and 9004.
I suggest you try “Currports” from Nirsoft instead of the netstat command, because it’s easier to see what’s changing in real time (if you select everything in Currports window and run another app / close an app or service, only the new ones will be white / unselected + all the PIDs are already matched to the app name).
Then try closing anything running in the background and any non-OS services you can think of. I first made a list of all ports that Roon uses (particularly RAATServer) - and I noticed 9003 and 9004. Then it was a matter of changing the php_upstream.conf file to use different ports there, let me know if you need any help if this is your issue.
If not, then you can do what I initially did - make an image of your HDD (with Macrium Reflect ideally), do a fresh reinstall of Windows, install Roon there, on a completely clean system, then try adding things to see which one breaks it.
OK, nothing to do with the port (there was nothing listening on that port, and writing a tiny bit of Python code, I had no problem binding to and listening on port 5350).
I hopped over to my older Windows 10 system and found that it also had the same issue (and this used to work just fine on version 1.8).
One of the things they both have in common is that I have Hyper-V configured and there are various virtual networks configured. This turned out to be the issue.
On the Windows 10 box, I deleted the private networks (172.16.0.0/24 and 172.16.1.0/24), restarted Roon, and all of the local audio devices are now available.
So. this is a bug in the 2.0 client. It needs to ignore private networks, or, at the least, if it’s going to try to bind every interface, don’t fail if at least one succeeds. Instead, it seems that the attempts to bind on these private interfaces caused the entire setup to fail.
Thanks for letting us know you were able to pinpoint the issue to the private networks, this is an interesting finding indeed! I’ve put in a ticket to see if we can improve this behavior, though it will probably take some time to look into. We’ll reach out if we need more info to debug the private network issue, and I’ll go ahead and mark your thread as solved for now.