I have written a piece of software which joins a multicast group and processes packets. This seems to work on a number of machines I've tested with, both with Windows (tested on XP through to 8.1) and linux. Except for one machine: a laptop with Windows 8.1.
I had a look at the question How do I know if IP Multicasting is enabled on my network in Windows? and from that tried running netsh interface ip show joins, only to confirm that this machine does not join the multicast group on any of the network interfaces (wifi or ethernet) I try my software out on. I have looked out for IGMP messages on wireshark, too, but can't see any. I have disabled firewalls, etc. but still nothing.
I have tried my software on another windows machine and it works without issues (without having to touch firewalls) and I see the correct group joined when I run netsh interface ip show joins.
The only variable I can see with this particular machine is that it is a laptop. Is there a particular setting I need to enable in windows to allow laptops to receive multicast packets? Is there another way I can debug this issue. It's driving me up the wall!
Thanks.
Further note: I have tried running the software in a Linux VM. Under the host (Windows) OS, the Bridge interface shows it joining a multicast group in netsh interface ip show joins. But the hardware interface still has no joins. And no packets are received.