OpenWrt Forum Archive

Topic: Help with IPTV

The content of this topic has been archived on 6 May 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I have IPTV from my provider, the IPTV is on VLAN 103 on my VDSL connection, and i want it to be on port 4 on the switch.

Can someone please guide me with correct settings for this. See below for my network config.
Running OpenWrt Chaos Calmer r43771

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fdde:82e6:be57::/48'

config interface 'lan'
    option force_link '1'
    option type 'bridge'
    option igmp_snooping '1'
    option proto 'static'
    option ipaddr '192.168.1.1'
    option netmask '255.255.255.0'
    option ip6assign '60'
    option _orig_ifname 'eth0.1 radio0.network1'
    option _orig_bridge 'true'
    option ifname 'eth0.1'

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '0 1 2 4 6t'
    option vid '1'

config switch_vlan
    option device 'switch0'
    option vlan '2'
    option ports '5 6t'
    option vid '2'

config interface 'eth_wan'
    option proto 'dhcp'
    option macaddr 'fc:f5:28:17:05:01'
    option ifname 'eth0.2'

config interface 'wan'
    option proto 'pppoe'
    option ifname 'ptm0'
    option service 'Data'
    option wan_instance '3.1.2.1'
    option username 'xxxxx'
    option password 'xxxxx'
    option macaddr 'fc:f5:28:17:05:02'

config vdsl 'dsl'
    option annex 'b'
    option firmware '/lib/firmware/vdsl.bin'
    option tone 'bv'
    option xfer_mode 'ptm'

config interface 'wan6'
    option ifname '@wan'
    option proto 'dhcpv6'

config atm-bridge
    option unit '0'
    option atmdev '0'
    option encaps 'llc'
    option payload 'bridged'
    option vci '33'
    option vpi '1'

config switch_vlan
    option device 'switch0'
    option vlan '3'
    option ports '3 6t'
    option vid '103'

config interface 'iptv'
        option ifname 'eth0.103 ptm0.103'
    option type 'bridge'
        option proto 'none'
    option macaddr 'fc:f5:28:17:05:03'
        option auto '1'

(Last edited by ZyNTaX on 10 Feb 2015, 21:51)

In your last "config switch_vlan", aren't the "vlan" and "vid" options excanged?
What does "swconfig dev switch0" show? And "ifconfig"?

root@OpenWrt:~# swconfig dev switch0 show
Global attributes:
        enable_vlan: 0
Port 0:
        uvr: 0
        vsr: 0
        vinr: 0
        tvm: 0
        pvid: 1
        link: port:0 link:up speed:100baseT full-duplex auto
Port 1:
        uvr: 0
        vsr: 0
        vinr: 0
        tvm: 0
        pvid: 1
        link: port:1 link:down
Port 2:
        uvr: 0
        vsr: 0
        vinr: 0
        tvm: 0
        pvid: 1
        link: port:2 link:down
Port 3:
        uvr: 0
        vsr: 0
        vinr: 0
        tvm: 0
        pvid: 103
        link: port:3 link:down
Port 4:
        uvr: 0
        vsr: 0
        vinr: 0
        tvm: 0
        pvid: 1
        link: port:4 link:up speed:1000baseT full-duplex auto
Port 5:
        uvr: 0
        vsr: 0
        vinr: 0
        tvm: 0
        pvid: 2
        link: port:5 link:down
Port 6:
        uvr: 0
        vsr: 0
        vinr: 0
        tvm: 0
        pvid: 1
        link: port:6 link:up speed:1000baseT full-duplex auto
VLAN 1:
        vid: 1
        enable: 1
        ports: 0 1 2 4 6t
VLAN 2:
        vid: 2
        enable: 1
        ports: 5 6t
VLAN 3:
        vid: 103
        enable: 1
        ports: 3 6t

root@OpenWrt:~# ifconfig
br-iptv   Link encap:Ethernet  HWaddr FC:F5:28:17:05:03 
          inet6 addr: fe80::fef5:28ff:fe17:503/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:883 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:40618 (39.6 KiB)  TX bytes:738 (738.0 B)

br-lan    Link encap:Ethernet  HWaddr D6:C6:BA:E0:7B:61 
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fdde:82e6:be57::1/60 Scope:Global
          inet6 addr: fe80::d4c6:baff:fee0:7b61/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:538471 errors:0 dropped:11 overruns:0 frame:0
          TX packets:665985 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:32552835 (31.0 MiB)  TX bytes:888156054 (847.0 MiB)

eth0      Link encap:Ethernet  HWaddr D6:C6:BA:E0:7B:61 
          inet6 addr: fe80::d4c6:baff:fee0:7b61/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:531673 errors:0 dropped:1 overruns:0 frame:0
          TX packets:654805 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:45784992 (43.6 MiB)  TX bytes:869251725 (828.9 MiB)

eth0.1    Link encap:Ethernet  HWaddr D6:C6:BA:E0:7B:61 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:531607 errors:0 dropped:0 overruns:0 frame:0
          TX packets:647528 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:31957042 (30.4 MiB)  TX bytes:861770658 (821.8 MiB)

eth0.103  Link encap:Ethernet  HWaddr D6:C6:BA:E0:7B:61 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1046 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:67054 (65.4 KiB)

eth0.2    Link encap:Ethernet  HWaddr FC:F5:28:17:05:01 
          inet6 addr: fe80::fef5:28ff:fe17:501/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6224 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:2126952 (2.0 MiB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3312 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3312 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:227359 (222.0 KiB)  TX bytes:227359 (222.0 KiB)

pppoe-wan Link encap:Point-to-Point Protocol 
          inet addr:xx.202.xx.51  P-t-P:84.48.124.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:599895 errors:0 dropped:0 overruns:0 frame:0
          TX packets:523422 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:848967569 (809.6 MiB)  TX bytes:27126240 (25.8 MiB)

ptm0      Link encap:Ethernet  HWaddr FC:F5:28:17:05:02 
          inet6 addr: fe80::fef5:28ff:fe17:502/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:686977 errors:0 dropped:55884 overruns:0 frame:0
          TX packets:544000 errors:0 dropped:23 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:868026807 (827.8 MiB)  TX bytes:39880728 (38.0 MiB)

ptm0.103  Link encap:Ethernet  HWaddr FC:F5:28:17:05:02 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:947 errors:0 dropped:0 overruns:0 frame:0
          TX packets:157 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:127410 (124.4 KiB)  TX bytes:13534 (13.2 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:0C:43:30:92:00 
          inet6 addr: fe80::20c:43ff:fe30:9200/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6863 errors:0 dropped:0 overruns:0 frame:0
          TX packets:79040 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:691869 (675.6 KiB)  TX bytes:56286155 (53.6 MiB)

What is your router model, ZyNTaX ?

leeandy wrote:

What is your router model, ZyNTaX ?

Zyxel P2812 F3

Are you sure your provider just using one PVC (vci/vpi) for iptv & internet ?

(Last edited by leeandy on 11 Feb 2015, 11:49)

No, its PVC 1/33 for Internet  and PVC 1/34 for IPTV

Pls try this config.

config interface 'lan'
    option force_link '1'
    option type 'bridge'
    option igmp_snooping '1'
    option proto 'static'
    option ipaddr '192.168.1.1'
    option netmask '255.255.255.0'
    option _orig_ifname 'eth0.1 radio0.network1'
    option _orig_bridge 'true'
    option ifname 'eth0.1'

config interface 'wan'
    option proto 'pppoe'
    option ifname 'ptm1.33'    ; this mean your PVC internet using vci=33, vpi=1
    option service 'Data'
    option wan_instance '3.1.2.1'
    option username 'xxxxx'
    option password 'xxxxx'
    option macaddr 'fc:f5:28:17:05:01'

config interface 'iptv-pvc'
    option proto 'dhcp'
    option ifname 'ptm1.34'    ; this mean your PVC iptv using vci=34, vpi=1
    option service 'Data'
    option macaddr 'fc:f5:28:17:05:02'
    option auto '1'

config vdsl 'dsl'
    option annex 'b'
    option firmware '/lib/firmware/vdsl.bin'
    option tone 'bv'
    option xfer_mode 'ptm'

config interface 'iptv-bridge'
    option ifname 'eth0.103 ptm1.34'
    option type 'bridge'
    option proto 'none'
    option macaddr 'fc:f5:28:17:05:03'
    option auto '1'

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '0 1 2 4 6t'
    option vid '1'

config switch_vlan
    option device 'switch0'
    option vlan '3'
    option ports '3 6t'
    option vid '103'

config switch_vlan
    option device 'switch0'
    option vlan '2'
    option ports '5 6t'
    option vid '2'

note: I'm not sure yr provider using vdsl/ptm or vdsl/atm. This config for vdsl/ptm.
see more infos: http://wiki.openwrt.org/toh/zyxel/p2812hnu-fx

I'm here with same issues... ZyNtaX suggested me a setup but that did not work, not properly anyway. The facts:
ptm VCI/VPI 0/33 for Internet
.......VCI/VPI 0/35 for IPTV
Requires IGMP Multicast

I believe my choices are:
1) Real bridge from Eth port #4 to DSL and adding a second Router into picture (I have several, so that is not an issue). However in that case it should get it's own IP from ISP directly without OpenWRT router doing anything to the traffic; is this possible? In a sense, that openWRT doesn't even know there is someone in port #4.

2) Get VLAN's working properly with it. I believe I need 3 for IPTV alone, right? One would be VID 252. Also it would needs to get a public IP from ISP (afaik) in it's "own network" (ptm or atm 0/35), so...

I still am guessing that a proper bridge of Eth4 to WAN (ptm) would work. If nothing else, I could use another router that would handle IPTV traffic, but this would need to be in such a way that the secondary router OR ISP's end wouldn't know a jack thing about any OpenWRT router in the middle to fiddle with stuff, right? Suggestions here as well are welcome.

I've been getting a lot and a lot of help from several guys on irc and on the forum, but I thought it would be better to keep going on for this on a thread dedicated to IPTV issues....

Ok, IT IS DONE!

The Finnish ISP TeliaSonera's "Viihde" IPTV-service is up and running on Zyxel VMG3326-D20A (same as Zyxel P-2812HNU-F1), OpenWRT BB 14.07, Kernel version 3.10.49 through RJ11 VDSL2 line (ptm).

Huge huge huge thanks goes to PaulFertser on irc. Without his input I'd never gotten this to work!
Anyway here is the settings we had to take in use to get it to work. They might not be pretty (like, we aint tagging on the VID as I were planning on first etc), but who cares if it works? I believe these settings could be used to other ISP's with some changes...

Here are the settings in use, MAC addresses have been redacted but other than that, this is practically a full dump of settings. Requires IGMPPROXY on top of the normal operation. Also if you have ETHERNET WAN in use, I believe you have to change wan_iptv-part to reflect your setup, and so on.

/etc/config/network

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fd05:643b:6a84::/48'

config interface 'lan'
    option force_link '1'
    option type 'bridge'
    option igmp_snooping '1'
    option proto 'static'
    option ipaddr '192.168.1.1'
    option netmask '255.255.255.0'
    option ip6assign '60'
    option ifname 'eth0.1'
    option macaddr '00:01:02:03:04:05'

config interface 'lan_iptv'
    option proto static
    option ifname eth0.3
    option ipaddr 192.168.2.1
    option netmask 255.255.255.0

config interface 'wan_iptv'
    option proto 'dhcp'
    option ifname 'ptm0.252'
        option defaultroute 0

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '0 1 2 6t'

config switch_vlan
    option device 'switch0'
    option vlan '2'
    option ports '5 6t'

config interface 'eth_wan'
    option proto 'dhcp'
    option ifname 'eth0.2'
    option macaddr 'xx:xx:xx:xx:xx:C8'

config interface 'wan'
    option proto 'dhcp'
    option ifname 'ptm0'
    option service 'Data'
    option wan_instance '3.1.2.1'
    option macaddr 'xx:xx:xx:xx:xx:C9'
    
config vdsl 'dsl'
    option annex 'b'
    option firmware '/lib/firmware/vdsl_b.bin'
    option tone 'bv'
    option xfer_mode 'ptm'

config atm-bridge
    option unit '0'
    option atmdev '0'
    option encaps 'llc'
    option payload 'bridged'
    option vci '33'
    option vpi '0'

config switch_vlan
    option device 'switch0'
    option vlan '3'
    option ifname 'eth0.3'
    option ports '4 6t'

/etc/config/dhcp

config dnsmasq
    option domainneeded '1'
    option boguspriv '1'
    option filterwin2k '0'
    option localise_queries '1'
    option rebind_protection '1'
    option rebind_localhost '1'
    option local '/lan/'
    option domain 'lan'
    option expandhosts '1'
    option nonegcache '0'
    option authoritative '1'
    option readethers '1'
    option leasefile '/tmp/dhcp.leases'
    option resolvfile '/tmp/resolv.conf.auto'

config dhcp 'lan'
    option interface 'lan'
    option start '100'
    option limit '150'
    option leasetime '12h'
    option dhcpv6 'server'
    option ra 'server'

config dhcp lan_iptv
        option interface lan_iptv
    option start '100'
    option limit '150'
    option leasetime '12h'

config dhcp 'wan'
    option interface 'wan'
    option ignore '1'

config odhcpd 'odhcpd'
    option maindhcp '0'
    option leasefile '/tmp/hosts/odhcpd'
    option leasetrigger '/usr/sbin/odhcpd-update'

/etc/config/firewall

config defaults
    option syn_flood    1
    option input        ACCEPT
    option output        ACCEPT
    option forward        REJECT
# Uncomment this line to disable ipv6 rules
#    option disable_ipv6    1

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

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

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

config zone
    option name        wan_iptv
    list   network        'wan_iptv'
    option input        REJECT
    option output        ACCEPT
    option forward        REJECT
    option masq        1

config forwarding
    option src            lan
    option dest        wan

config forwarding
    option src            lan_iptv
    option dest        wan_iptv

config forwarding
    option src            lan_iptv
    option dest        wan

config rule
        option src      wan_iptv
        option proto    igmp
        option target   ACCEPT

config rule
        option src      wan_iptv
        option proto    udp
        option dest     lan_iptv
        option dest_ip  224.0.0.0/4
        option target   ACCEPT
        option family   ipv4

# We need to accept udp packets on port 68,
# see https://dev.openwrt.org/ticket/4108
config rule
    option name        Allow-DHCP-Renew
    option src        wan
    option proto        udp
    option dest_port    68
    option target        ACCEPT
    option family        ipv4

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

# Allow DHCPv6 replies
# see https://dev.openwrt.org/ticket/10381
config rule
    option name        Allow-DHCPv6
    option src        wan
    option proto        udp
    option src_ip        fe80::/10
    option src_port        547
    option dest_ip        fe80::/10
    option dest_port    546
    option family        ipv6
    option target        ACCEPT

# Allow essential incoming IPv6 ICMP traffic
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

# Allow essential forwarded IPv6 ICMP traffic
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

# include a file with users custom iptables rules
config include
    option path /etc/firewall.user


### EXAMPLE CONFIG SECTIONS
# do not allow a specific ip to access wan
#config rule
#    option src        lan
#    option src_ip    192.168.45.2
#    option dest        wan
#    option proto    tcp
#    option target    REJECT

# block a specific mac on wan
#config rule
#    option dest        wan
#    option src_mac    00:11:22:33:44:66
#    option target    REJECT

# block incoming ICMP traffic on a zone
#config rule
#    option src        lan
#    option proto    ICMP
#    option target    DROP

# port redirect port coming in on wan to lan
#config redirect
#    option src            wan
#    option src_dport    80
#    option dest            lan
#    option dest_ip        192.168.16.235
#    option dest_port    80
#    option proto        tcp

# port redirect of remapped ssh port (22001) on wan
#config redirect
#    option src        wan
#    option src_dport    22001
#    option dest        lan
#    option dest_port    22
#    option proto        tcp

# allow IPsec/ESP and ISAKMP passthrough
#config rule
#    option src        wan
#    option dest        lan
#    option protocol        esp
#    option target        ACCEPT

#config rule
#    option src        wan
#    option dest        lan
#    option src_port        500
#    option dest_port    500
#    option proto        udp
#    option target        ACCEPT

### FULL CONFIG SECTIONS
#config rule
#    option src        lan
#    option src_ip    192.168.45.2
#    option src_mac    00:11:22:33:44:55
#    option src_port    80
#    option dest        wan
#    option dest_ip    194.25.2.129
#    option dest_port    120
#    option proto    tcp
#    option target    REJECT

#config redirect
#    option src        lan
#    option src_ip    192.168.45.2
#    option src_mac    00:11:22:33:44:55
#    option src_port        1024
#    option src_dport    80
#    option dest_ip    194.25.2.129
#    option dest_port    120
#    option proto    tcp

/etc/config/igmpproxy

config igmpproxy
    option quickleave 1

config phyint
    option network wan_iptv
    option direction upstream
    list altnet 0.0.0.0/0

config phyint
    option network lan_iptv
    option direction downstream

The discussion might have continued from here.