Getting Vodafone IPTV (NEBA) working on Tomato Firmware

A quick tutorial on how to get your Vodafone IPTV box to run when using Tomato Firmware, using IGMPproxy.

Getting Vodafone IPTV (NEBA) working on Tomato Firmware

So, as you now have a working PPPoE session running on your router giving you internet access without the need for Vodafone's router.

One of the things that won't work out of the box is Vodafone's TV box, as it requires a specific multicast configuration on your Tomato Firmware router.

Routed IPTV

Vodafone Routed IPTV Network Diagram

In the case of Vodafone's NEBA IPTV service, the IPTV platform is normally connected to Vodafone's router while the TV box connects to the router from within your home network.

To make this work though, Vodafone's router is running a special configuration. The first part to this is an IGMP proxy which talks to the IPTV platform on behalf of the TV box. Thanks to this approach and a bunch of routing rules, the TV box can connect to both the IPTV platform for linear TV and the open internet for any on-demand services such as Netflix.

An important thing to note here is that when using a IGMP proxy is enabling IGMP snooping. With snooping enabled, your router or switch will remember what physical port requested the multicast stream. Without this enabled, the IGMP proxy will send the IPTV stream to all ports within your network (br0) which is just a huge waste of your internal bandwidth. Don't waste bandwidth.


The second tricky thing with Vodafone's IPTV service is that the multicast addresses are only reachable outside of the PPPoE session that you establish in order to get internet access. As such, you need to make sure that you have your IGMP proxy ask for the multicast streams on the raw VLAN device, not the WAN connection.

With the theory out of the way, let's get started.

WAN MAC address

Vodafone Spain's platform seems to check is the router's MAC address when it comes to authenticating for On-Demand playback. Luckily, you can find the MAC address of your Vodafone router on the sticker at the bottom of it.

It should look something like: 78:81:02:AA:AA:AA

Setting Tomato's WAN MAC

Log in to your Tomato Firmware and go to Advanced > MAC Address

Tomato Firmware WAN MAC Address

Enter the Vodafone Router MAC Address next to WAN Port and hit Save.

Setting up IGMPproxy

Vodafone España's IPTV service is a bit sneaky - at least when the service is indirect / NEBA. As mentioned in the beginning, while your internet traffic is routed through a PPPoE session, the IPTV streams are actually sent from outside the session. This is why we need a multicast proxy, such as IGMPproxy.

Let's enable it under Advanced > Firewall.

IGMPproxy configuration

As you can see, we use the raw vlan24 as upstream and allow any IP address to access it. We then set br0, our internal network as the downstream interface. We also enable quickleave.

## Enable Quickleave mode (Sends Leave instantly)

## Configuration for eth0 (Upstream Interface)
phyint vlan24 upstream  ratelimit 0  threshold 1

## Configuration for eth1 (Downstream Interface)
phyint br0 downstream ratelimit 0 threshold 1

Next, we go to Advance > Routing to enable Efficient Multicast Forwarding (IGMP Snooping).

Route Modem IP

Lastly, you will need to double check that you have entered an IP address under Route Modem IP. You can set this to for example. This will allow you to fire up udpxy on the vlan24 interface.

Watch TV!

That's it. You should now be able to simply plug in your TV box to your Tomato router and use it as if you were using Vodafone's official router.