[mythtv-users] Network Bridging my Ceton InfiniTV 4

Ronald Frazier ron at ronfrazier.net
Mon Aug 8 19:25:19 UTC 2011


On Mon, Aug 8, 2011 at 1:23 PM, Tom Bongiorno <two.bits.11 at gmail.com> wrote:
> This sorta worked, but had some negative side effects.  Since I use IP
> reservations on my router and the InfiniTV 4 MAC address changes upon every
> reboot, the IP would jump all over.  Is there any way to get the InfiniTV 4
> to retain a static MAC address?  There may be a couple more problems, but I
> will have to look into it when I get home.

I misread this the first time. I thought you were talking about the IP
address changing, but you were talking about the MAC. Yeah, I know
what you are talking about. Every time the Ceton reboots, it seems to
have a different MAC address for the ctn0 interface. However, that
doesn't matter because when you setup bridging, you don't actually
assign ctn0 an IP. Let me give a little background info first.

When you install and setup a ceton infinitv 4 card, it creates sort of
a virtual LAN in your linux box (not a VLAN, that's a different
concept...this is just a regular LAN that just doesn't physically
exist). On this virtual LAN, there are 2 clients. The first client is
your linux box, and it communicates on this LAN via the ctn0 network
interface. The other client is resides on the ceton card itself. The
ceton card itself runs a linux OS, so you can think of it as a
computer on a card that you plug into the PCIe bus, rather than a
traditional computer you plug into a network port on your
router/switch.

So now, on this virtual LAN, there are actually the two host...ctn0
and the card itself. For configuration, ctn0 is configured just like
any other ethernet card (using /etc/network/interfaces or whatever
management tool your distribution uses), and the card is configured
using it's web interface. You can set either (or both) clients to get
their configuration from DHCP.

Now, when you bridge 2 network interfaces (ctn0 and eth0) together,
what you end up doing is assigning neither interface an IP address.
Instead, it creates another virtual network interface called br0. You
assign an IP address to only br0, and it handles routing all the
packets between eth0, ctn0, and br0 as appropriate.

Now, lets step back a minute to before you setup the bridge. You had
had an eth0 with an IP of (for example) 192.168.0.100, you had ctn0
with an IP of (for example) 192.168.200.2, and you had the ceton card
itself (the client on the other end of that virtual LAN) with an IP
address of 192.168.200.1

When you install the bridge, you have it assign the br0 interface the
192.168.0.100 IP (instead of assigning it to eth0). If you are using
DHCP to do this assignment, you probably don't have to do anything
because (if it works like it did for me) it just cloned the MAC
address from eth0 to br0, so br0 automatically got the same IP. As I
said, ctn0 and eth0 don't get an IP address. The bridge will handle
all of the magic of forwarding packets to each interface as
appropriate.

So now, the question is...what IP is your Ceton card? Well, if you
didn't change it already, it's still going to be 192.168.200.1,
however there is an issue here. By default, the 200.* and the 0.* IP
ranges are 2 entirely different subnets. Normally you can work around
this by telling each system to use a /16 mask instead of /24, making
one big subnet of 192.168.*.*, but unfortunately in my experience, the
ceton doesn't seem to handle this properly. Instead, you have to
reassign the ceton card an IP on the 0.* subnet. If you setup the
ceton (not the ctn0 interface, but rather setup the card using the web
interface) to use DHCP, the bridge will forward the DHCP request from
the card to your primary network, and then forward the DHCP response
back to the card, and it will get an IP assigned by your DHCP server.
Then, as usually, you can configure your router (or whatever serves
your DHCP) to serve a fixed IP based on the MAC.


So, to summarize the steps:

1) configure the ceton for DHCP, or configure it for a statuc IP
address on the same subnet as the rest of your network. As soon as you
do this, the card may instantly stop responding to all your requests
(meaning the page won't even reload when you click submit). If that
happens (it does if you set it to a static addres...I don't recall
what it does if you use DHCP), the card will NOT be accessible via the
web interface until you complete the rest of this process. So, make
absolutely sure you know what address you set it to, and double/triple
check that you didn't make a typo.

2) Enable bridging by configuring /etc/network interfaces. Set eth0
and ctn0 as static, but do not actually assign them an IP address.
Setup br0 to get configured by DHCP or with static settings.

3) Reboot, and now everything will be on the same subnet, your
interfaces will be bridged, and you can access the ceton web interface
by it's new IP address.


FYI, here is my current /etc/network/interfaces

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static

allow-hotplug ctn0
iface ctn0 inet static

auto br0
iface br0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
        dns-nameservers 192.168.0.1
        bridge_ports eth0 ctn0
        bridge_fd 0
        bridge_stp off


-- 
Ron Frazier


More information about the mythtv-users mailing list