Getting IGMPPROXY to work on new router + IGMP Snooping

Hi,
I've just swapped out my router from an Er-x to a Linksys E8450.
All is working ok apart from IP TV box. My previous config is detailed here https://forum.openwrt.org/t/moving-igmpproxy-to-a-different-vlan/88657

On the new router I want to keep it simple. The main LAN feed is on Port 1. The direct connection to the IPTV box is on Port 4. (no VLANs used)
I've installed IGMPPROXY and modified the config file (the same as my old router). Restarted it.
The part that is not working is updating the Network file-
If I add-

config interface lan
        option type bridge
        option igmp_snooping 1

This kills access to the router (can't ping it). I had to go into recover mode to remove the update to get it working again.

I'm guessing since moving to DSA the Network file format has changed.
I don't know how to get the multicast working on the new router.

FYI this details what I'm doing https://a1ecbr0wn.medium.com/how-to-watch-bt-tv-with-an-openwrt-router-3405f8cb14b4

Can anyone help?

Also can does anyone know if IGMP Snooping is now working ok? I'd like to limit the multicast traffic just to Port 4 on the router.

Just to answer my own question again! :slight_smile:
I had a trawl around on the interweb over the weekend and found this old post... https://openwrt.ebilan.co.uk/viewtopic.php?f=7&t=132&start=10#p1009

It reminded me that the IP TV traffic with BT TV Sport is not sent via the PPPoE tunnel, its sent on a parallel IP stream.
Once i added a 'dummy' static IP address to the WAN port, then adjusted the IGMPPROXY file to use the new route it all started working.

config interface 'IPTV'
        option proto 'static'
        option device 'wan'
        option ipaddr '10.22.22.1'
        option netmask '255.255.255.0'

IGMPPROXY config file (note the network names are case sensitive 'iptv' is not the same as 'IPTV'

config igmpproxy
        option quickleave 1
#       option verbose [0-3](none, minimal[default], more, maximum)

config phyint
        option network IPTV
        option zone wan
        option direction upstream
        list altnet 109.159.247.0/24

config phyint
        option network lan
        option zone lan
        option direction downstream

1 Like

Hi philtrick. Thank you for your solution. I have found it useful to get my BT IPTV channels and NOWTV channels working with the BT TV box pro.

I am wondering if you have had issues in regard to internet connectivity? When watching a TV stream my WiFi Network drops out and my log gets flooded with messages like

daemon.notice hostapd: wl1-ap0: STA **:**:**:**:**:** IEEE 802.11: did not acknowledge authentication response

My LAN continues to function but my speeds drops from 930Mbps to under 100Mbps. When I stop the IPTV stream the network works again.

I am wondering if I have made a configuration error and am overloading the router somehow. The good news is that the IPTV is very stable.

The changes I made were below mostly from your post and the links you provided. I am wondering if I need the Firewall settings as you didn't mention them.

Edit - Removing the Firewall settings has improved the LAN speed while a stream is running, but I still have WiFi problems.

network

config interface 'iptv'
	option proto 'static'
	option device 'wan'
	option ipaddr '10.22.22.1'
	option netmask '255.255.255.0'

igmpproxy

config igmpproxy
    option quickleave 1

config phyint
    option network iptv
	option zone wan
    option direction upstream
    list altnet 109.159.247.0/24

config phyint
    option network lan
	option zone lan
    option direction downstream

Firewall

config zone
	option name 'wan'
	list network 'wan'
	list network 'wan6'
	list network 'iptv'
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option masq '1'
	option mtu_fix '1'

config rule
    option name 'IGMP'
    option src 'wan'
    option proto 'igmp'
    option target 'ACCEPT'

config rule
    option name 'Multicast'
    option src 'wan'
    option dest 'lan'
    option dest_ip '224.0.0.0/4'
    option proto 'udp'
    option family 'ipv4'
    option target 'ACCEPT'

Hi Sideeffect,

I can't get IGMP Snooping (limits the multicast traffic to the LAN port that the IP TV box is connected to) to work, I'm sure the hardware should support it, but maybe it's just not implemented in the Openwrt drivers. Without IGMP Snooping working- every LAN port and WLAN get flooded with multicast traffic. My main router (Belkin RT3200) has integrated WLAN- this was almost unusable with multicast IP Traffic running.
I've had to revert back to putting my IPTV box directly on to LAN port (4) with a different subnet. This limits the multicast to just that port.
Unfortunately I don't have the time to diagnose the IGMP Snooping issue.

Here's my Network config...

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'lan1'
        list ports 'lan2'
        list ports 'lan3'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ip6assign '60'
        list ipaddr '192.168.1.1/24'

config interface 'wan'
        option device 'wan'
        option proto 'pppoe'
        option username 'bthomehub@btinternet.com'
        option password 'bt'
        option ipv6 'auto'
        option peerdns '0'
        list dns '8.8.8.8'
        list dns '8.8.4.4'

config device
        option name 'eth0'

config interface 'IPTV'
        option proto 'static'
        option device 'wan'
        option ipaddr '10.22.22.1'
        option netmask '255.255.255.0'

config device
        option name 'lan4'

config device
        option type 'bridge'
        option name 'br-lan-iptv'
        list ports 'lan4'

config interface 'LANIPTV'
        option proto 'static'
        option device 'br-lan-iptv'
        option ipaddr '192.168.2.1'
        option netmask '255.255.255.0'

Here's the IGMPPROXY config (note I understand IGMPPROXY adds the firewall rules when it starts)

config igmpproxy
        option quickleave 1
#       option verbose [0-3](none, minimal[default], more, maximum)

config phyint
        option network IPTV
        option zone wan
        option direction upstream
        list altnet 109.159.247.0/24

config phyint
        option network LANIPTV
        option zone lan
        option direction downstream

1 Like

Thank you for your settings. I will try them out soon. I also have the Belkin RT3200. :smiley:

I think I have it working well now. Thanks for your help.

I had a few issues which I had to work around. It wouldn't let me assign a manual IP on the BT Box for some reason the option wasn't allowing changes, so I needed to enable DHCP on the laniptv and then the box was assigned an IP.

I then wasn't able to get internet. I think this could have been because I reverted the firewall changes, I had made previously and so perhaps broken whatever IGMPPROXY had added.

I fixed it by editing the firewall settings like below. Seems to work. Hopefully I haven't caused other issues.

Edit - For anyone else following this I used lower case interface names and philtrick has used uppercase. Names are case sensitive.

config zone
	option name 'lan'
	list network 'lan'
	list network 'laniptv'	
	option input 'ACCEPT'
	option output 'ACCEPT'
	option forward 'ACCEPT'

config zone
	option name 'wan'
	list network 'wan'
	list network 'wan6'
	list network 'iptv'	
	option input 'REJECT'
	option output 'ACCEPT'
	option forward 'REJECT'
	option masq '1'
	option mtu_fix '1'

And at the end

config rule
    option name 'IGMP'
    option src 'wan'
    option proto 'igmp'
    option target 'ACCEPT'

config rule
    option name 'Multicast'
    option src 'wan'
    option dest 'lan'
    option dest_ip '224.0.0.0/4'
    option proto 'udp'
    option family 'ipv4'
    option target 'ACCEPT'

Yes, sorry I forget to mention adding DHCP on to the new LAN.
As mentioned previously I haven't put any manual firewall rules in for this to work. I understand the IGMPPROXY app should do that when it starts up.

If you get IGMP Snooping working then please let me know, it would save quite a bit of config.

I will have a play around with it and see if I can work it out. I think it might be currently broken.

Check this