Getting IGMPPROXY to work on new router + IGMP Snooping

I don't know if the BT router gives priority to TV traffic or not.
I don't use the BT TV that much so can't comment.

The stock firmware of the access point works fine, so I think it's just the OpenWRT firmware. I'm almost certain it's related to software packet steering whereas the stock firmware uses hardware for this. Hopefully support will come soon.

sorry for the thread revival…..

New issue surfaced tonight. I am getting severe issues with all channels. heavy pixelation etc and stuttering.

I have changed nothing with the setup/config. Has anyone else had issues? Possibly due to a EE box update etc. I tested the original BT hub and worked fine so definitely related to my Flint 2 router.

EDIT: Currently seems fine. Possibly intermittent. Will update if it happens again.

I’m trying to run IPTV behind OpenWrt using igmpproxy. The internet connection works fine and some IPTV channels load correctly, which suggests multicast is partially working. However, many other channels do not work at all or fail to stream, even though they work perfectly on my ASUS RT-AX53U using the same ISP connection and identical network setup.

On the ASUS router, IPTV works when I enable the built-in IPTV settings with the following options turned on: Use DHCP routes (RFC3442 & Microsoft), Enable multicast routing, Enable IGMP Snooping, Enable Fast Leave, and keep UDP Proxy (Udpxy) disabled (set to 0). With these settings, all channels work normally and the IPTV is stable.

here are openwrt configs.

ubus call system board
{
        "kernel": "6.12.87",
        "hostname": "network",
        "system": "ARMv8 Processor rev 3",
        "model": "Raspberry Pi 4 Model B Rev 1.1",
        "board_name": "raspberrypi,4-model-b",
        "rootfs_type": "ext4",
        "release": {
                "distribution": "OpenWrt",
                "version": "25.12.4",
                "firmware_url": "https://downloads.openwrt.org/",
                "revision": "r32933-4ccb782af7",
                "target": "bcm27xx/bcm2711",
                "description": "OpenWrt 25.12.4 r32933-4ccb782af7",
                "builddate": "1778712129"
        }
}
cat /etc/config/igmpproxy
config igmpproxy
        option quickleave 1

config phyint
        option network wan
        option zone wan # the upstream firewall zone for forward rules
        option direction upstream
        list altnet 0.0.0.0/0 # a description of allowed source addresses for multicast packets

config phyint
        option network lan
        option zone lan #the downstream firewall zone for forward rules
        option direction downstream
 cat /etc/config/dhcp

config dnsmasq
        option domainneeded '1'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option cachesize '1000'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
        option localservice '1'
        option ednspacket_max '1232'
        option port '54'
        option dnsseccheckunsigned '0'
        option address_as_local '1'
        option sequential_ip '1'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '200'
        option leasetime '12h'
        option dhcpv4 'server'
        list dhcp_option '15,lan'
        list dhcp_option '3,10.12.12.1'
        list dhcp_option '6,10.12.12.1'
        list dhcp_option '42,10.12.12.1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'
        option leasetime '12h'
        option start '100'
        option limit '150'

config odhcpd 'odhcpd'
        option leasefile '/tmp/odhcpd.leases'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'
        option piodir '/tmp/odhcpd-piodir'
        option hostsdir '/tmp/hosts'
cat /etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        list ipaddr '127.0.0.1/8'

config globals 'globals'
        option packet_steering '1'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth0'
        option igmp_snooping '1'

config interface 'lan'
        option device 'br-lan'
        option proto 'static'
        option ip6assign '60'
        list ipaddr '10.12.12.1/24'
        option multipath 'off'
        option delegate '0'

config device
        option type '8021q'
        option ifname 'eth1'
        option vid '10'
        option name 'eth1.10'

config device
        option type '8021q'
        option ifname 'eth1'
        option vid '20'
        option name 'eth1.20'

config interface 'wan'
        option proto 'dhcp'
        option device 'eth1'
        option multipath 'off'

cat /etc/config/firewall

config defaults
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option synflood_protect '1'

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

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

config forwarding
        option src 'lan'
        option dest 'wan'

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'