Deferred: [Win10][21.15800>22.26590] - DMXin sACN not always joining Multicast

It would appear that trying to use DMXin CHOP in sACN multicast mode is not causing the computer to join the proper Multicast groups to receive said Multicast streams. I don’t seem to see the IGMP “group join” message in Wireshark when I switch Universes or turn the “Active” toggle off and then back on.

When I open sACN View (separate software) and “view” those universes, I do see IGMP messages being sent out and suddenly TouchDesigner will start seeing incoming streams.

I assume it’s just TD (or Windows) not sending out proper IGMP group join messages though I’m not sure how the mechanics of that works behind the scenes (does TD ask Windows network stack to do it or does TD just send the messages directly?)

As far as I can tell I can’t just make arbitrary IGMP packets to do this myself in TD (without installing some low level python packages) but just having sACN View send these does seem to be a temporary fix.

I have seen this behavior in 2021.15800 and also I believe someone else I was remotely helping is having this same problem in the latest 2022.24200.

Unicast works fine but unfortunately some certain lighting manufacturers seem to not want to implement unicast sACN despite large presence of forum chatter on the subject and all of their competitors having it implemented from the start…

It should already be configured to join/leave the multicast group. This is what I see on Wireshark when I switch the DMX In CHOP from universe 1 → 2 → 3:

Rather strangely I tested this yesterday and I did not see any IGMP packets, but did today. Not sure what changed but I wonder if it could be a network issue.

Yeah it’s definitely a tough bug to reproduce, but I can usually get it to start failing after messing around with it enough so I’m not sure if it’s a matter of time passed or lots of IGMP leaves / joins that triggers it. This is in both 15800 and the latest 26590 on Windows 10 (firewalls off) with the latest versions of WireShark and sACNView…

My guess is that it is something related to having multiple network adapters on your computer. You can test this by manually installing a “Microsoft KM-Test Loopback Adapter” from the Add Hardware Wizard in Windows 10 (run hdwwiz) and setting it’s IP to some other network like 10...*

When doing this, in TD even if I select the proper network (starting TD after Looback is installed and configed of course) it still sends the IGMP packets to my other network adapter (seen in WireShark) whereas in sACNView when you choose a different adapter in the settings (and restart sACNView) it will then send group join packets to the proper adapter when trying to view new universes.

I also did notice that even despite this, after a bit of messing around, when TD’s DMXin CHOP is in Packet Per Channel (Latest or All) Format, despite any changes I make to the attached DAT, it just leaves and rejoins universe 4 - which might be a different universe depending on the DMXin CHOP’s state just before switching to per Channel mode, but I couldn’t connect the two.

One other weirdness is that while I wouldn’t see packets show up in WireShark sometimes, I would see entries show up in the Windows ARP Table (enter “arp -a” into a command prompt) so I don’t know if this is a Windows issue (does TD ask Windows to join / leave groups for it? or does TD send out it’s own actual IGMP packets?) or if this view even means anything at all. Maybe TD is referencing this table to decide if it should send more IGMP packets and thinking “oh this computer is already part of that group so I don’t need to send another packet”? I feel like that shouldn’t be the case because sACNView does not do this.

I still don’t even know if that Windows APR table view means anything at all. It’s really hard to troubleshoot Multicast and I keep asking entertainment industry network techs who are smarter than me and they don’t have much of a better answer, but also they haven’t had as much issues with Multicast as I have. I think this is because I am usually working with 300-400 DMX universes and most people I’ve talked to usually are dealing with much less Multicasted sACN Universes or none at all (MAnet uses a lot of Multicast but is rock-solid). There was even a bug in GrandMA2 software at one point (not sure if it’s even fixed yet) where sACN Multicast and even sACN Unicast would kinda stop working if you tried to put too many entries into the GrandMA2 sACN routing table…

@eric.b I’m deferring this bug report since it is too vague. The only concrete / reproducible part of this bug I’ve been able to narrow down is just that on systems with multiple Network Interfaces, the IGMP leave / join messages don’t seem to go out the Interface specified in the “Local Address” parameter, so I made a new more focused post about this here: BUG: DMXin sACN Multicast IGMP not utilizing "Local Address" [Win10][TD22.26590]

1 Like