fabianishere / udm-iptv

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

Freeze after 4 minutes 30 seconds #43

Closed bprskalo closed 2 years ago

bprskalo commented 2 years ago

Dear Fabian,

first of all thank you for this great job.

so im im happy with your solution :-) .. but .. there is always a but, in my case it hangs after 4 minutes 30 seconds watching live IPTV.

my setup is different as in your your description :

here is how it looks like

Provider Internet : Swisscom Provider IPTV : Swisscom / blueTV

Network :

Fiber to the Swisscom Router, Swisscom Router to WAN2 of the UDMP (DMZ, all ports forwarded to the UDMP, UDMP to an Aggregation Switch, from the aggregation Switch a USW8 Enterprise, on the USW8 the IPTV Box ..

so no FFTH from the Provider to the UDMP, DHCP ist working from the UDMP, all settings tests in different ways, ip address is given .. , IGMP Snooping on, Flow Control on on all Switches .. ans thew connection between the switches are 10G Fiber.. The diag says that everything looks fine.

In General i have the Multicast Stream but after 5 MInutes i need to pause for 3 seconds and continue. from then on it works without freezes until the channel is switched.

Any idea ? thank you in advance :-)

jogicom commented 2 years ago

Maybe you're missing Firewall Rules. There are incomming IGMP Messages: "Are you there" from your TV Provider. This MSGs are maybe blocked from your Firewall. See this article for rules (MagentaTV Deutsche Telekom) take care of the IP adresses you need for your Provider, hope this helps.... https://wagotec.de/index.php?title=Unifi_DreamMachine(UDM)_MagentaTV_einrichten

bprskalo commented 2 years ago

@jogicom .. thank you for this hint .. there are already some rules defined ... and currently i am trying to configure the firewall according the information in the link. actually they don't work for my setup as defined there .. so keep on trying ;-) but firewall is maybe a god hint. will keep you updated

Sinsrahl commented 2 years ago

@bprskalo I found this link in a swisscom thread (https://blog.thilojaeggi.ch/2021/12/bluetv-hinter-udm-pro-multicast.html?m=1 ). Have you tried these firewall rules?

Iβ€˜m interested in your final solution. I have a similar setup with a Swisscom Router IB 3 (10 G), UDM Pro, 10 G Fiber Switches but because of this igmp problem my udm pro is not active.

bprskalo commented 2 years ago

@Sinsrahl yes i know this this already. the more important rules are the UDP rules and the right ip addresses for the rules

this ones is also helpfull : https://blog.boll.ch/fortigate-und-swisscom-tv-zum-dritten/ https://community.ui.com/questions/Swisscom-IPTV-only-records-works/bb845a08-ecdd-403c-8c05-a0046b0f725c

so i currently playing around with this settings .. till now no real success .. the freeze is by 4:30 :-)

as plan B you can setup a VLAN only profile on the UDP .. this works like a charm.

https://community.swisscom.ch/t5/Router-Hardware/Unifi-Dream-Machine-PRO-mit-Swisscom-TV-Bypass-via-VLAN/td-p/677439

keep on going ;-)

jogicom commented 2 years ago

@bprskalo Maybe you can find the error via debugging mode: debugging IGMP Proxy

Due to an incorrect VLAN configuration, for example, I had a Fritzbox in the Entertain network. This had disturbed the IGMP traffic.

You can also see in the log which addresses/devices register with the multicasts.

Maybe the log will help...

bprskalo commented 2 years ago

@jogicom

Thank you, thats allready the way how i try to find out the rules and possible configurations .

bprskalo commented 2 years ago

just to let you know.. still struggling .. keep you updated

fabianishere commented 2 years ago

Is your IPTV decoder on a separate VLAN? It might be useful to create packet trace of that network, to perhaps see why things are freezing after 5 min.

Seeing that you have placed the UDMP behind a Swisscom router, there might be a chance that your Swisscom router is causing trouble. Have you considered removing it from your setup or is that not possible?

bprskalo commented 2 years ago

@fabianishere

yes, the IPTV Lan is on 33 an the main lan is on 0, so i can try to get de packets ..

no, the router cant be removed, the FTTH is an P2MP and not an P2P an needs certified Modules ..

but .. maybe on a rainy Sunday .. i will give theme a try .. ;-)

bprskalo commented 2 years ago

@fabianishere

not sure if this helps, but i got often this in the log

MRT_DEL_MFC; Errno(2): No such file or directory

fabianishere commented 2 years ago

igmpproxy often spits out that error, but I don't think it should affect anything.

reinierjh commented 2 years ago

BTW i don't think its 4.3 minutes but exactly 260 seconds (that is the default IGMP Group Membership Interval) I don't know if you use UNIFI switches but maybe look into setting de IGMP settings of the switch. For example (and UNIFI is hopeless) creating a config.properties file in the site directory on the controller (UDM/CK) config.properties file: config.system_cfg.74xxxxxxxx49.1=switch.vlan.15.igmp_snooping=true config.system_cfg.74xxxxxxxx49.2=switch.vlan.15.igmp_fastleave=true config.system_cfg.74xxxxxxxx49.3=switch.vlan.15.igmp_maxresponse=10 config.system_cfg.74xxxxxxxx49.4=switch.vlan.15.igmp_mcrtrexpiretime=0 config.system_cfg.74xxxxxxxx49.5=switch.vlan.15.igmp_groupmembership=260 config.system_cfg.74xxxxxxxx49.6=switch.vlan.15.igmp_suppression=true config.system_cfg.74xxxxxxxx49.7=switch.vlan.15.igmp_querier=172.16.4.1 config.system_cfg.74xxxxxxxx49.8=switch.vlan.15.igmp_queryinterval=10

Where the number is the macadress of the switch. VLAN number is not the VLAN ID but the number the VLAN has on the switch. (1st 2nd ???) and the querier (in my case) is the unifi router (172.16.4.1) When logging in to the switch. The config is stored at /tmp/config.cfg just grep for the correct VLAN number shoudl give you the correct number. Changing the vlans on the switch can make the number change. You only have to do this for the VLAN were the IPTV boxes are in.

bprskalo commented 2 years ago

@reinierjh

you are right .. 260 seconds .. so yes .. we are getting closer !!

ans yes .. my setup is all Ubiquity

UDM-PRO > Switch Aggregation > USW Enterprise 8 POE > IPTV Box

Switches are connected by fibre in 10G

i think this will be the missing part . can i ask you for some more details ?

so i need to create for each switch in my network a file like this , and is the querier the ip of the VLAN's gateway (in my case iptv vlan is 33 and the ip is 192.168.33.0/24 and .1 for the gateway)

reinierjh commented 2 years ago

No this is 1 file for all switches that have igmp traffic flowing on them. In my current config (UDM-SE) i do not need the file but with the USG-Pro i had simular problems. The IP in my case was the router (gateway adress of the network) so in your case 192.168.33.1 You need to put hte complete lines in the file: config.system_cfg.74xxxxxxxx49.1=switch.vlan.15.igmp_snooping=true

The .1 is the row number per switch. so a new switch starts at .1 and there are 8 options to set sot the last is .8 oh and macaddress is without : or - so aa12bf33a6 etc... Its time Ubiquiti adds these properties to the network controller.

You can check if the config is correct by opening the tmp/system.cfg file on the switch. (just checked and i saw part of the info is already there. maybe you better first check the system.cfg file on the switch as far as i can see now. At my site not everything is configured correctly.)

(this is from the switch /tmp/system.cfg) switch.vlan.14.id=444 switch.vlan.14.mode=tagged switch.vlan.14.status=enabled switch.vlan.14.igmp_snooping=true switch.vlan.14.igmp_fastleave=false switch.vlan.14.igmp_maxresponse=10 switch.vlan.14.igmp_mcrtrexpiretime=0 switch.vlan.14.igmp_groupmembership=260 switch.vlan.14.igmp_querier= switch.vlan.14.igmp_supression=false

As you can see my iptv internal vlan is 444 and the id= 14.

bprskalo commented 2 years ago

so this is my current configuration from the

switch aggregation

switch.vlan.2.id=33 switch.vlan.2.mode=tagged switch.vlan.2.status=enabled switch.vlan.2.igmp_snooping=true switch.vlan.2.igmp_fastleave=false switch.vlan.2.igmp_maxresponse=10 switch.vlan.2.igmp_mcrtrexpiretime=0 switch.vlan.2.igmp_groupmembership=260 switch.vlan.2.igmp_querier= switch.vlan.2.igmp_supression=false

and the enterprise switch

witch.vlan.2.id=33 switch.vlan.2.mode=tagged switch.vlan.2.status=enabled switch.vlan.2.igmp_snooping=true switch.vlan.2.igmp_fastleave=false switch.vlan.2.igmp_maxresponse=10 switch.vlan.2.igmp_mcrtrexpiretime=0 switch.vlan.2.igmp_groupmembership=260 switch.vlan.2.igmp_querier= switch.vlan.2.igmp_supression=false

reinierjh commented 2 years ago

So then you only need the 2 macaddresses and enter this in the config.properties file config.system_cfg.macaddressswitch1.1=switch.vlan.2.igmp_snooping=true config.system_cfg.macaddressswitch1.2=switch.vlan.2.igmp_fastleave=true config.system_cfg.macaddressswitch1.3=switch.vlan.2.igmp_maxresponse=10 config.system_cfg.macaddressswitch1.4=switch.vlan.2.igmp_mcrtrexpiretime=0 config.system_cfg.macaddressswitch1.5=switch.vlan.2.igmp_groupmembership=260 config.system_cfg.macaddressswitch1.6=switch.vlan.2.igmp_supression=true config.system_cfg.macaddressswitch1.7=switch.vlan.2.igmp_querier=192.168.33.1 config.system_cfg.macaddressswitch1.8=switch.vlan.2.igmp_queryinterval=10 config.system_cfg.macaddressswitch2.1=switch.vlan.2.igmp_snooping=true config.system_cfg.macaddressswitch2.2=switch.vlan.2.igmp_fastleave=true config.system_cfg.macaddressswitch2.3=switch.vlan.2.igmp_maxresponse=10 config.system_cfg.macaddressswitch2.4=switch.vlan.2.igmp_mcrtrexpiretime=0 config.system_cfg.macaddressswitch2.5=switch.vlan.2.igmp_groupmembership=260 config.system_cfg.macaddressswitch2.6=switch.vlan.2.igmp_supression=true config.system_cfg.macaddressswitch2.7=switch.vlan.2.igmp_querier=192.168.33.1 config.system_cfg.macaddressswitch2.8=switch.vlan.2.igmp_queryinterval=10

If something goes wrong. just rename the file to something other than config.properties. Oh and remember to set the correct user for the file "chown unifi:unifi config.properties"

EDIT:(hmm i saw that suppression should be supression.)

bprskalo commented 2 years ago

@reinierjh

so after this i should see the switch.vlan.2.igmp_querier=192.168.33.1 on the switch .. right ?

the file is located here

/mnt/data/unifi-os/unifi/data/sites/default/config.properties

the content

config.system_cfg.f492bfa40ce7.1=switch.vlan.2.igmp_snooping=true config.system_cfg.f492bfa40ce7.2=switch.vlan.2.igmp_fastleave=true config.system_cfg.f492bfa40ce7.3=switch.vlan.2.igmp_maxresponse=10 config.system_cfg.f492bfa40ce7.4=switch.vlan.2.igmp_mcrtrexpiretime=0 config.system_cfg.f492bfa40ce7.5=switch.vlan.2.igmp_groupmembership=260 config.system_cfg.f492bfa40ce7.6=switch.vlan.2.igmp_supression=true config.system_cfg.f492bfa40ce7.7=switch.vlan.2.igmp_querier=192.168.33.1 config.system_cfg.f492bfa40ce7.8=switch.vlan.2.igmp_queryinterval=10 config.system_cfg.784558b5eb67.1=switch.vlan.2.igmp_snooping=true config.system_cfg.784558b5eb67.2=switch.vlan.2.igmp_fastleave=true config.system_cfg.784558b5eb67.3=switch.vlan.2.igmp_maxresponse=10 config.system_cfg.784558b5eb67.4=switch.vlan.2.igmp_mcrtrexpiretime=0 config.system_cfg.784558b5eb67.5=switch.vlan.2.igmp_groupmembership=260 config.system_cfg.784558b5eb67.6=switch.vlan.2.igmp_supression=true config.system_cfg.784558b5eb67.7=switch.vlan.2.igmp_querier=192.168.33.1 config.system_cfg.784558b5eb67.8=switch.vlan.2.igmp_queryinterval=10

for the chown the user should be unifi .. but is ubnt .. also correct ?

after this i need to trigger a provision .. but the config ist without the querier ... and the other changes ..

sorry to bother you :-) !!

reinierjh commented 2 years ago

I'n not sure if it is ubnt on your device. on the UDM-SE it;s unifi

root@UDM-SE:/ssd1/.unifi/data/sites/default# ls -la total 16 drwxr-xr-x 3 unifi unifi 4096 Feb 4 15:00 ./ drwxr-xr-x 3 unifi unifi 4096 Jan 18 22:18 ../ -rw-r--r-- 1 unifi unifi 1674 Feb 4 15:00 config.properties -rw-r--r-- 1 unifi unifi 0 Jan 18 22:45 config.properties.uit drwxr-xr-x 2 unifi unifi 4096 Jan 18 22:18 portalfile/

EDIT (the config you add will be at the end of de system.cfg file (after a provision))

bprskalo commented 2 years ago

@reinierjh

so, right location, right paramters, right user chmod (in my case 902:902 .. but the config ist still not modified ..

do i need to reboot anything .. ? i guess provisioning should be fine .. right ?

reinierjh commented 2 years ago

correct. i just tried it myself. at the end of the file this is added:

# misc switch.vlan.14.igmp_snooping=true switch.vlan.14.igmp_fastleave=true switch.vlan.14.igmp_maxresponse=10 switch.vlan.14.igmp_mcrtrexpiretime=0 switch.vlan.14.igmp_groupmembership=260 switch.vlan.14.igmp_supression=true switch.vlan.14.igmp_querier=172.16.4.1 switch.vlan.14.igmp_queryinterval=10

And i only provisioned the switch

bprskalo commented 2 years ago

@reinierjh

YES .. its in now ;-) !!

after an triggered provision and reboot of both switches ..

but .. still freezing after 260 sec ..

do i need to modify the configuration for all switches .. (there are two more) ?

fabianishere commented 2 years ago

@bprskalo I suggest first connecting the IPTV box directly to the UDM Pro in order to isolate the issue. If that does not work either, the issue probably is not related to the switches.

bprskalo commented 2 years ago

@reinierjh

ok .. i will give them a try and keep you updated

THANK YOU for your help till now !!

KingKongKent commented 2 years ago

I have the same issue as you. My setup is UDM Pro - USW-Flex-Mini - Port 2 - VLAN2 - IPTV

bprskalo commented 2 years ago

@KingKongKent

it's not confirmed .. but according to this post the mini does not support IGMP

https://community.ui.com/questions/Is-IGMP-Snooping-going-to-be-supported-on-FLEX-MINI/0c05a803-9f14-4981-b255-fa7c1fba1445

so the only way is way "VLAN only" VLAN, thats how i use it without the igmpproxy ..

hope this helps

KingKongKent commented 2 years ago

@bprskalo - Thanks, I tried to connect the IPTV directly in to the UDM, but still the same result. If i change channel, it's works for the next 4 minutes. I will spend some time debugging and update..

bprskalo commented 2 years ago

@KingKongKent

so the 260 seconds are β€œthe” hint into this (groupmembership) 😊

i will also continue with the try and error setup πŸ™ˆ

KingKongKent commented 2 years ago

@bprskalo As a workaround I have creates a Cron that runs every 4 min. /04 * systemctl restart udm-iptv When the service is restarting the picture will glitch but it's better than have touche the remote control all the time.

bprskalo commented 2 years ago

@KingKongKent

yes .. ! i had the same workaround πŸ˜‰

bprskalo commented 2 years ago

finally .. i got mine setup working - no need for any special configuration for the switches , in a classical modem in front of UDM Setup - Thank you @fabianishere for you effort and your descriptions, those motivated me to setup my one repo for a Swisscom blue TV Configuration with a Modem in front of the UDM, see here https://github.com/bprskalo/udm-blueTV