fabianishere / udm-iptv

Helper tool for configuring routed IPTV on the UniFi Dream Machine (Pro)
GNU General Public License v2.0
410 stars 61 forks source link

BT IPTV Stops working after ~5 minutes (UXG Lite) #305

Closed latereaction closed 7 months ago

latereaction commented 7 months ago

What is your ISP? (if relevant)

BT (UK)

Diagnostic Information

Please share the following output with the developers: === Configuration === WAN Interface: eth1 WAN VLAN: 0 (dev iptv) WAN DHCP: false (options "-O staticroutes -V IPTV_RG") WAN Static IP: 10.20.30.1/24 WAN Ranges: 224.0.0.0/4 109.159.247.0/24 LAN Interfaces: br0 IGMP Proxy quickleave disabled: false IGMP Proxy debug: false === IP Link and Route === 10: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 inet 10.20.30.1/24 scope global eth1 valid_lft forever preferred_lft forever 10.20.30.0/24 proto kernel scope link src 10.20.30.1 === Service Logs === Jan 25 22:17:33 UXG-Lite systemd[1]: Started IPTV support for the UniFi Dream Machine. Jan 25 22:17:33 UXG-Lite udm-iptvd[65729]: Starting IGMP Proxy Jan 25 22:25:15 UXG-Lite udm-iptvd[65738]: NATing IPTV network ranges (if necessary) Jan 25 22:25:15 UXG-Lite udm-iptvd[65738]: Creating static routes (if necessary) Jan 25 22:31:40 UXG-Lite udm-iptvd[65738]: NATing IPTV network ranges (if necessary) Jan 25 22:31:40 UXG-Lite udm-iptvd[65738]: Creating static routes (if necessary) Jan 25 22:36:17 UXG-Lite udm-iptvd[65738]: NATing IPTV network ranges (if necessary) Jan 25 22:36:17 UXG-Lite udm-iptvd[65738]: Creating static routes (if necessary) Jan 25 22:36:58 UXG-Lite udm-iptvd[65738]: NATing IPTV network ranges (if necessary) Jan 25 22:36:58 UXG-Lite udm-iptvd[65738]: Creating static routes (if necessary)

Describe the Bug

Hi,

I first tried enabling the built in IGMP Proxy and IGMP Snooping but it didn't work at all, so I then tried this solution.

It works for about 5 minutes, then requires a hard reboot of my UXG Lite, which it works for 5 minutes again.

I've tried with multiple options on/off and nothing seems to solve it. I have seen some weird errors in the log but the log only seems to show the latest 15 lines or so. Previously had an Asus RT-AC68u and it worked fine with the IGMP setup.

I do have a non-managed switch inbetween the UXG and the IPTV box, but I would have thought if this was a problem it wouldnt work at all.

Any help appreciated,

Thank you!

Expected Behavior

IPTV should not stop working after 5 minutes.

latereaction commented 7 months ago

more logs after a fresh install and reboot:

=== Configuration === WAN Interface: eth1 WAN VLAN: 0 (dev iptv) WAN DHCP: false (options "-O staticroutes -V IPTV_RG") WAN Static IP: 10.20.30.1/24 WAN Ranges: 224.0.0.0/4 109.159.247.0/24 LAN Interfaces: br0 IGMP Proxy quickleave disabled: false IGMP Proxy debug: true === IP Link and Route === 10: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 inet 10.20.30.1/24 scope global eth1 valid_lft forever preferred_lft forever 10.20.30.0/24 proto kernel scope link src 10.20.30.1 === Service Logs === Jan 25 23:13:09 UXG-Lite udm-iptvd[2740]: DEBUG[main@653]: Data arrive Jan 25 23:13:09 UXG-Lite udm-iptvd[2740]: DEBUG[mcast_recv_igmp@717]: k_get_rlif = 13 im_vif = 1 Jan 25 23:13:09 UXG-Lite udm-iptvd[2740]: DEBUG[imp_get_mfcc_ttls@168]: group 239.255.255.250 isn't interest in packet from 192.168.2.203 Jan 25 23:13:09 UXG-Lite udm-iptvd[2740]: DEBUG[main@653]: Data arrive Jan 25 23:13:09 UXG-Lite udm-iptvd[2740]: DEBUG[mcast_recv_igmp@698]: Ignore igmp from myself Jan 25 23:13:09 UXG-Lite udm-iptvd[2740]: DEBUG[main@653]: Data arrive Jan 25 23:13:09 UXG-Lite udm-iptvd[2740]: DEBUG[mcast_recv_igmp@698]: Ignore igmp from myself Jan 25 23:13:09 UXG-Lite udm-iptvd[2740]: DEBUG[main@653]: Data arrive Jan 25 23:13:09 UXG-Lite udm-iptvd[2740]: DEBUG[mcast_recv_igmp@717]: k_get_rlif = 13 im_vif = 1 Jan 25 23:13:09 UXG-Lite udm-iptvd[2740]: DEBUG[imp_get_mfcc_ttls@168]: group 239.255.255.250 isn't interest in packet from 192.168.2.250 root@UXG-Lite:~#

And this is the line I dont like the look of:

received interface 10 Jan 25 23:16:29 UXG-Lite udm-iptvd[2740]: WARNING[mcast_recv_igmp@759]: Don't exist this Downstream VIF

jgriffiths014 commented 7 months ago

some more information, after a clean reboot it worked for roughly 9 minutes, at the time of it stopping working, this is the tcpdump -i eth1 -v multicast output:

13:23:26.129818 IP (tos 0x88, ttl 59, id 17994, offset 0, flags [none], proto UDP (17), length 1356) 109.159.247.118.5802 > 234.81.130.118.5802: UDP, length 1328 13:23:26.132744 IP (tos 0x88, ttl 59, id 17995, offset 0, flags [none], proto UDP (17), length 1356) 109.159.247.118.5802 > 234.81.130.118.5802: UDP, length 1328 13:23:26.132997 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 40, options (RA)) 10.20.30.1 > igmp.mcast.net: igmp v3 report, 1 group record(s) [gaddr 234.81.130.118 to_in, 0 source(s)] 13:23:26.174687 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [none], proto IGMP (2), length 36, options (RA)) 0.0.0.0 > 234.81.130.118: igmp query v3 [max resp time 0.2s] [gaddr 234.81.130.118] 13:23:26.482967 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [DF], proto IGMP (2), length 40, options (RA)) 10.20.30.1 > igmp.mcast.net: igmp v3 report, 1 group record(s) [gaddr 234.81.130.118 to_in, 0 source(s)] 13:23:27.175614 IP (tos 0xc0, ttl 1, id 0, offset 0, flags [none], proto IGMP (2), length 36, options (RA)) 0.0.0.0 > 234.81.130.118: igmp query v3 [max resp time 0.2s] [gaddr 234.81.130.118] 13:23:42.733626 LLDP, length 223

and this is the diag from immediately after: Jan 26 13:23:42 UXG-Lite udm-iptvd[2858]: DEBUG[main@655]: timeout Jan 26 13:23:42 UXG-Lite udm-iptvd[2858]: DEBUG[main@655]: timeout Jan 26 13:23:42 UXG-Lite udm-iptvd[2858]: DEBUG[main@655]: timeout Jan 26 13:23:42 UXG-Lite udm-iptvd[2858]: DEBUG[main@655]: timeout Jan 26 13:23:42 UXG-Lite udm-iptvd[2858]: DEBUG[main@655]: timeout Jan 26 13:23:42 UXG-Lite udm-iptvd[2858]: DEBUG[main@655]: timeout Jan 26 13:23:42 UXG-Lite udm-iptvd[2858]: DEBUG[main@655]: timeout Jan 26 13:23:42 UXG-Lite udm-iptvd[2858]: DEBUG[main@655]: timeout Jan 26 13:23:42 UXG-Lite udm-iptvd[2858]: DEBUG[general_queries_timer_handler@810]: Enter Jan 26 13:23:42 UXG-Lite udm-iptvd[2858]: DEBUG[send_igmp_mld_query@101]: src = 192.168.2.1 dst = 224.0.0.1

I'm really hoping someone can help as I'm stumped, I can only think that some igmp routes are missing. I really don't want to put my old kit back in, but I may have to so that my wife doesn't bury me...

Thanks

jgriffiths014 commented 7 months ago

apologies - I have used 2 accounts to update this bug, but i am the same person.

Some more troubleshooting and i have found that if i udm-iptv restart and restart the BT Tv box, it works again for 5-10 minutes then i have to do the same.

Im not a network guru so someone please help me before my wife sees me off :)

thanks

dmutsaers commented 7 months ago

Are you using VLANs? If you do you need to edit "udm-iptv.conf" manually with a text editor. udm-iptv doesn't support the VLAN interfaces on the UXG Lite correctly (yet). See the comment in the following post: https://github.com/fabianishere/udm-iptv/discussions/286#discussioncomment-7901605

I used vi to edit the /etc/udm-iptv.conf. The line I had to change is:

IPTV_LAN_INTERFACES="eth0.20" as I have my IPTV on VLAN 20.

I think this line said <br0> is the default file.

dmutsaers commented 7 months ago

I do have a non-managed switch inbetween the UXG and the IPTV box, but I would have thought if this was a problem it wouldnt work at all.

The behaviour you're seeing is probably caused by this configuration. The whole chain needs to support IGMP snooping, otherwise IGMP snooping breaks. (But it will work for a few minutes.)

latereaction commented 7 months ago

Are you using VLANs? If you do you need to edit "udm-iptv.conf" manually with a text editor. udm-iptv doesn't support the VLAN interfaces on the UXG Lite correctly (yet). See the comment in the following post: https://github.com/fabianishere/udm-iptv/discussions/286#discussioncomment-7901605

I used vi to edit the /etc/udm-iptv.conf. The line I had to change is: IPTV_LAN_INTERFACES="eth0.20" as I have my IPTV on VLAN 20. I think this line said <br0> is the default file.

No, not using VLANS yet - will switch to it once its working and stable.

I do have a non-managed switch inbetween the UXG and the IPTV box, but I would have thought if this was a problem it wouldnt work at all.

The behaviour you're seeing is probably caused by this configuration. The whole chain needs to support IGMP snooping, otherwise IGMP snooping breaks. (But it will work for a few minutes.)

Ok thank you - I've ordered a unifi switch thats arriving on Tuesday - I'll update with results then.

Thanks

dmutsaers commented 7 months ago

@latereaction You could check if your unmanaged switch causes the problem by directly connecting the IPTV box to the UGX Lite.

jgriffiths014 commented 7 months ago

Hi,

Quick update - Its all working as expected now with a proper switch that supports IGMP Snooping

Thanks for all that helped.

dmutsaers commented 7 months ago

@jgriffiths014 Good to hear you found the root cause of your problems.