Where on earth do you start with Linux networking? Surely billions of words must have been written on the subject. UNIX was networking before Windows was a gleam in Bill Gates' eye, and when the internet finally was more than a gleam in Bill's eye, he borrowed the TCP/IP stack from BSD.
Anyway, we can restrict this section to just getting all of our myriad Myth boxes talking to one another (and I'll leave the software side of things to another section someday).
I'm going to make a few assumptions here; namely, that you already have a home network of some description and that you're capable of stringing huge lengths of Cat5 all over your immaculate lounge.
The good thing to know is that if you've got all of this in place already, there isn't much you need to do, and nor should MythTV require any significant additions to your existing spiderweb of cables.
This is probably by far the most common setup in most geek's houses, and in my opinion still the best. Almost all modern motherboards come with an inbuilt 100Mbit ethernet controller, which are of varying quality. The good news is that thanks to the work of Donald Becker (one of Linux's unsung heroes in my humble opinion), pretty much every network card on the market will work out of the box in Linux. However, some are rather less reliable than others. I'll go through the most common ones I have experience with.
With NTSC or PAL tuners, 100 Mbit networks are more than enough. Since the video is compressed as soon as (or just after) it leaves the TV card, the amount of traffic being sent over your copper is going to quite small indeed. A PVR-x50 is capable of recording at bitrates up to 16Mbits/sec, so you can see we can shove at least five of those down out 100Mbit pipe before it starts to get a bit clogged. In reality, you're rarely (if ever) going to be utilising half of this bandwidth.
Gigabit will make a difference for those with multiple HD tuners, multiple frontends, and networked storage, especially if you're doing other tasks such as commercial flagging. A single HD video stream typically uses 16-20 Mbit/sec!
100Mbit/s ethernet chipsets
- RealTek 8139: probably the most common and cheapest chipset around. Although it's very well supported under Linux, in the past I've had reliability issues with this chipset numerous times, what with lots of dropped packets and mysterious vanishing networks. Personally, I'd avoid this chipset if at all possible - you don't want your live footage of Big Brother 19 to be interupted do you?! That said, I have an embedded one of my Myth boxes, and it's behaved very well so far, but throughput isn't great.
- VIA Rhine II: another chipset that's very common embedded in motherboards. Well supported under Linux, and seems fairly relible, although it can hog the CPU a little.
- 3com Etherlink/905: a classic age old workhorse. Although getting on a bit (and still quite pricey), these cards have never let me down, and feature good throughput and low CPU usage. I use these alot for servers.
- nVidia nForce MCP: very common in Socket A boards with nForce2 chipsets. It's quite new, and not entirely supported under Linux, although it is fully supported with nVidia's binary drivers. I've not had any experience with these under Linux yet, but the ones I have at work under Windows seem fairly solid. Throughput is average, and CPU utilisation seems very low.
Common 1000Mbit/s ethernet chipsets
- RealTek 8169: This may be the most common chipset on budget 1000 Mbit cards (under $20 USD). Supports jumbo frames. Seems to be very reliable. (Seems to have a max mtu 7200, also bug in kernel 2.6.8 driver that limits mtu to 1500)
- Natsemi DP83820: This is the chipset I use in my fileserver at home, and it seems reliable whilst being very cheap. It is however limited to a maximum throughput of about 600MBit/s
- Broadcom 5703C: This card seems to work *very* well under Linux. I use one at work, and it has no difficulty bursting at over 900Mbit/s (our hard drives can't keep up with it after that), and CPU usage never seems to jump above 10%. If your motherboard comes with this chip onboard, you need look no further!
In short, most 100Mbit cards will enable you to run a backend with two or three TV cards in it (as long as your computer can cope with that amount of DMA traffic!) without any significant problems. Consider gigabit if you have multiple HD tuners and network storage. Use a network switch rather than a hub. In a hub, that 100Mbit/s is shared between all the ports, whereas in a (slightly more expensive) switch, each port gets the full whammy. Most DSL routers incorporate a good quality 4 port switch.
Wireless networking is all the rage these days, but I still can't recommend it much for a MythTV setup, or any network that's going to see significant traffic. Add to that that some wireless chipsets are poorly supported under Linux. Currently Intel WiFi chipsets experience in-kernel drivers whereas the Broadcom chipsets are available as kernel modules due to their closed-source drivers.
Currently, there are two main standards in popular use. One is 802.11AC, which provides up to 1400Mbit/s with decent range. This is currently available as new devices only (in 2013/4) and recommended when purchasing a new device. A more common protocol is 802.11n is based on a technology called MIMO, which lets it to transmit and receive on two different frequencies. Effectively, this means that advertised bandwidth is the same as available bandwidth, so 802.11n will give you about 240mb/s to work with.
For steaming HD content and DVDs you will require at least 802.11a, 802.11n, 802.11AC or a wired connection will be needed for any 720p or 1080i content.