Windows PC with 2 network connections; 1 Internet and LAN, other for Audio over IP. Losing internet after a certain period and need reboot. Help?

Here’s my situation: on my Windows PC I use an audio over IP app called Dante Virtual Soundcard which has audio going between 2 PC NICs, one Mac NIC, an additional dedicated USB NIC and a professional audio interface which is basically the main hub for it. The protocol is called Dante, made by Audinate and it’s the prevailing standard for this sort of thing. Within the Dante Controller audio routing software, there are unicast connections which have a single source and destination, and multicast connections which are used when sending an audio signal to multiple destinations. My Dante network traffic used to coexist with the rest of my network traffic without an issue since I was not using multicasts at all, but the moment I did start using them, it was a disaster for the network. My network router saw this continuous traffic broadcasting everywhere and decided it was a broadcast storm, and then proceeded to cripple the majority of my network’s functionality, necessitating a separation of my Dante traffic on to its own LAN in order to make the rest of my network work as it’s supposed to. So now, all my computers that use Dante have two NICs active: #1 connected to the main LAN that has a DHCP router for the whole household which is connected to the Internet with 192.168.1.x addresses, #2 connected to an unmanaged switch where I have configured static IP addresses for each connection of 172.168.4.x and have verified that there are no devices fighting for the same address. There are a total of 5 connections in the #2 Dante network.

After setting this up, the ± 45 devices in the household that are on the #1 network have solid network connections, can all see each other when needed and perform as expected. The #2 Dante network is more stable than it has ever been on the dumb switch, without a pesky router messing with its multicasting. I do have one rather big problem I don’t know how to fix, though…

My main Windows PC has two NICs: #1: the Realtek 2.5Gb NIC which is connected to my main network, and #2: the Intel Gigabit NIC which is being used for the Dante Virtual Soundcard software exclusively.

NIC #2 has Windows Firewall disabled on it, has IPv6 disabled, and in the advanced IPv4 settings, has its Interface Metric set to 4 which, judging from what I’ve read, should make it the lowest in the service order of the network connections. It is also set to a static IP in the 172.168.4.x family. There is no internet connection for this network, only Dante traffic.

NIC #1 is my main network connection, is obtaining its IP address and DNS server address automatically from my router’s DHCP. This connection goes to my router and then to the internet, and also sees the rest of the devices in my home. IPv6 is also disabled on this NIC, and in the advanced IPv4 settings, its interface metric is set to 1.

After a few hours of solid operation, out of the blue my main Windows PC will no longer be able to access the internet. My web browser will give me DNS errors, and while if I have a YouTube video playing, it will continue until it’s done, the computer just seems to be cut off from the internet. In the Ethernet settings, Windows says my #1 NIC is connected to the internet, and every other single device on the network works on the internet just fine, it’s just my main Windows PC with its two Ethernet connections that is no longer able to get on the internet. Only thing that has worked for me to fix it is a restart.

Is Windows trying to get on to the internet with the #2 NIC for some reason? If so, is there a way I can tell it not to expect an internet connection on that NIC so it stays on #1 NIC? Should I just give up on this split network and try re-integrating Dante into my main network while also enabling IGMP snooping in an effort to quell the perceived broadcast storm? Is there some other way to separate the Dante traffic running through the same #1 NIC so I don’t need that separate network? Or is there a way to fix this and keep my two separate networks?

I’m surprised something decided you have a broadcast storm - how much traffic do you have? Can you disable that “detection”?

By default on an L2 network, multicast traffic is just broadcast udp traffic with a particular destination ip:port . Once you enable IGMP snopping you’re then making it hosts responsibility to subscribe and maintain their multicast subscriptions, and the responsibility of switches to maintain memberships properly and something in your network has to query for igmpv3 memberships.

IGMP is a good thing, and so is IGMP snooping but it’s an optimization you should be able to live without. It prevents particular broadcast traffic from being sent down the ports where there’s no multicast subscribers.

And if you enable and start relying on it, you should be able to debug it / dump current memberships / forwarding tables off of whatever switch you have that enabled on.
It’s a good thing to have running in particular with wifi.

To debug, be ready to setup long running wireshark/tshark/pcap sessions to capture and log relevant packets and then stare at them to correlate with behavior you’ve been seeing.

I’m not aware of any igmp validator/tester tool you could just keep running that would tell you about your snooping being broken - although hypothetically it’s conceivable.


When it comes to interface metrics…
when you have a packet to send out, you look at the route cache, and if the route is not in cache you look at the routing table. In a routing table you find the longest network destination prefix/subnet that matches your destination IP. If there’s multiple (e.g. multiple default gateway routes), you take the one with a lowest interface metric.

There’s a separate standard RFC6724 that determines how you pick between using ipv4 and ipv6. But beyond that on a given host the routing table/metrics stuff above applies.

Reason I’m mentioning this, with IPv6 in particular, random things will often try to advertise themselves as routers to build meshes of some kind to be able to organize themselves independently of your network internet router. This kind of thing (adding/removing routes) can confuse other hosts on the network.

For your separate multicast network on windows, can you ensure you disable IPv4 or IPv6 and only use one or the other (disable V6 in your case on that interface would be easiest). And can you then ensure your windows host has a static address with no DNS or gateway on it. Metric shouldn’t matter.


Ultimately, you should be able to run Dante multicast on the same network theoretically, but you need to be able to look at traffic to debug it. What switches/routers is your main network using / what’s connecting all your stuff together? There’s no point in munging it all together if you’re having issues you can’t solve with the equipment you have.

Thanks for the response, @risk !

My router setup started out as an Eero Pro mesh wifi system with a wired backhaul going to my office room for one of the nodes. The gateway node has a connection to a central unmanaged 10GbE switch which feeds wall ports for the whole house. There is a 10GbE Cat6A run to my office which goes to my own Netgear 8-Port Multi-Gig smart switch that I was initially using for all of my devices in the office, but now all of the Dante stuff is currently connected to a separate dumb gigabit switch that is not connected to the rest of the network.

I was thinking the Eero software was causing my connection issues and then got a Netgear Orbi AX6000 mesh Wifi 6 system to replace it. It worked great at first, but then the overall network connectivity slowly regressed to the point where many devices on Wifi just wouldn’t resolve IP addresses, and lots of the IoT devices in the house had stopped working altogether. After diving into Audinate’s documentation about multicasts and their potential to flood the network to the point where it negatively affects it, I finally figured it out, and moved all Dante stuff to a separate network. While this setup has fixed the network as a whole, my own computer now has the unstable Internet connection I’ve been talking about and I’m trying to find the workaround whether it’s a way to stop Windows from trying to access the internet from the wrong NIC and basically make Windows understand that my second network is only meant for local audio activity and not Internet connectivity, or having my Dante stuff get back on the main network and use IGMP Snooping on my Netgear smart switch in my office to keep the multicast activity under control.

As I pointed out in the OP, I already had IPv6 disabled in my primary and secondary NIC’s settings in hopes of getting the IPv4 interface metric recognized. In addition, my Netgear Orbi router also has IPv6 disabled. Also, everything in the separate multicast network does have static IP assignments, all with 172.168.4.x addresses in an attempt to eliminate any possibility of cross-pollenation. However, the loss of internet connectivity in my main PC still persists.

It’s weird because doing this type of thing in macOS with multiple network connections is so simple. You just set service order in the Network settings and that’s that. The first network connection is the internet one and you’re free to use the others for other apps for non-internet stuff as you wish.

Dante on Switches that think of themselfs highly can be a huge PITA.

In my (limited) experience with Dante, keep it physically separate from the “normal” network for best results.

  1. Network and Internet Settings

  2. Adapter Options

  3. Press “Alt”-Key > “Advanced Options”

  4. Move the network adapters to be in your preferred order image

Edit:
Sometimes, Dante showes up in the “supported Services”-list in the Adapter Options (Rightclick on Adapter > Options). Then just untick the checkboxes you don’t want that NIC to handle.
image

Edit 2: I know I have a list of notes on fixing Dante misbehaving somewhere. The moment I find it, I will let you know.

Thanks for responding to me @MazeFrame … So I am moving in the right direction by having my Dante traffic on a separate unmanaged switch, thanks for that. So now all I need to do is to make Windows stop switching over its Internet network from the main one to my Dante one which kicks me off of the internet. When I get to that Provider Order window in Advanced Settings, this is what I get:

These choices I have here are not my different network adapters, I don’t believe this can help.

As for boxes that I can untick in my NIC’s properties window…

Client for Microsoft Networks and File and Printer Sharing aren’t needed by Dante AFAIK, so I unticked those, but the rest of them that are enabled (QoS Packet Scheduler, TCP/IPv4, Microsoft LLDP Protocol Driver, Link-Layer Topology Discovery Responder and Mapper I/O Driver, I believe those are all used by Dante. Not sure I can disable anything of consequence in this window either.

I heard back from Audinate customer support and got an answer that was pretty odd to me. They told me that if I wanted to set my secondary local-only network so that Windows wouldn’t attempt to use it for an internet connection, that it needed to use IP addresses that were also in the 192.168.x.x range since my main network was using 192.168.1.x addresses, but that I could use a different subnet. I have no idea why that fixed it, but now Windows is no longer trying to use my secondary non-internet connected LAN for its internet connection, or at least hasn’t attempted it in the ±24 hours since I made this change so far (knocks on wood).

Would love to know the reasoning behind this from someone better versed in the nuances of Windows networking. There are so many PC motherboards out there with two NICs and Windows doesn’t seem too well-suited for using them both simultaneously.

1 Like