| Version 16 (modified by matwad, 6 months ago) |
|---|
Tvheadend with Telia IPTV
This page will describe how to configure Tvheadend to receive multicast TV streams via your Telia broadband connection, note that you must be subscribed to the TV service or else the service is not provisioned to your customer port.
TODO: Not using Telia switch, VLAN ID 825?
Tvheadend
TODO: Add groups 239.16.16.1-255, link to file with channel names etc
Ubuntu and Debian
Example configuration for /etc/network/interfaces
iface eth1 inet dhcp
vendor "TeliaSonera_VIP1910-9"
post-up echo 2 > /proc/sys/net/ipv4/conf/eth1/force_igmp_version
# rp_filter change is only needed if you have multiple network interfaces
# and the default route is not routed out on the multicast interface
post-up echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
post-up echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter
Lines added to /etc/dhcp3/dhclient.conf
interface "eth1" {
vendor-class-identifier "TeliaSonera_VIP1910-9";
}
DHCP
A vendor class identifier used by the Telia STB must be present in the DHCP request, a known working identifier is "TeliaSonera_VIP1910-9".
For dhclient this configuration line changes the vendor class identifier.
vendor-class-identifier "TeliaSonera_VIP1910-9";
IGMP
Telia seams to only support IGMP version 2 and default Linux tries to use version 3 with some fallback heuristics that seams to not work that well with Telia. You can force IGMP version 2 by changing the force_igmp_version file in the proc filesystem.
echo 2 > /proc/sys/net/ipv4/conf/eth1/force_igmp_version
Setup with multiple network interfaces
If the default route is not routed out on the interface used to receive the multicast stream you must disable RPF or add a route to the source IP used in the received stream otherwise the packets will be dropped by the kernel because of RPF and will not be passed on to Tvheadend.
You can disable RPF in Linux by changing the rp_filter file in the proc filesystem.
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter echo 0 > /proc/sys/net/ipv4/conf/$INTERFACE/rp_filter
It is imported to change both of them, if all/rp_filter is 1 the interface specific configuration is ignored.
If you instead want to have RPF enabled you can add a route to the source of the multicast stream.
route add -host $STREAM_SOURCE_IP gw $INTERFACE_GW dev $INTERFACE