Linux DevCenter    
 Published on Linux DevCenter (http://www.linuxdevcenter.com/)
 See this if you're having trouble printing code examples


Unified Home Networks with the Fritzbox

by Guylhem Aznar
01/11/2007

The Fritzbox is an all-in-one device from Avm.de. Such devices are quite popular in Europe, where operators usually bundle them with their "triple play" offers. These devices, also called home-gateways, provide DSL and VOIP connectivity to the operator, WIFI and LAN connectivity for the local computers, and telephone sockets (FXS) to connect traditional phones to a flat-rate plan. Many of them also offer digital TV service in high resolution (but not as good as HDTV). They are usually plug-and-play, and are owned and remotely manageable by the telecom operator. The Fritzbox is more than that.

Operator-Owned Devices

European-style leased devices satisfy most users but leave many geeks unhappy. What if you want to own your own hardware? What if you want to mix different offers from different operators? What if you do not want to ditch your PSTN phone service? What if you already have VOIP service? What if you do not trust your operator security setting? What if your operator does not yet offer such home gateways?

There are many scenarios where leased devices are not appealing. This is exactly the spot the Fritzbox tries to fill. Although specific telecom operator offers in Germany and in Italy do bundle it, the Fritzbox offers you freedom of choice. You can use your own Fritzbox with any operator and fine-tune your home network to your needs. If this is not enough, you can even reflash it with a custom-made GNU/Linux distribution.

Fritzbox Basics

The Fritzbox is many things. The best comparison is a small server without any screen or hard drive, running the Linux kernel on a TI Avalanche MIPS SoC. It has an AR7 providing a ADSL 2+-capable DSL modem, an ADMtek AMD9660 for LAN connectivity, between two and three FXS ports to connect your old telephones and--the best feature--a USB client or host. The system has 32MB RAM and 8MB flash. That doesn't sound like much, but it is more than enough for running a Linux kernel with proprietary software. The Cisco/Linksys WRT54G is comparable to the Fritzbox, with half its RAM and flash in the best case. Yet those restrictions rarely come up with the OpenWRT distributions for those needing an Access Point with advanced routing features.

There are two Fritzbox hardware versions, each with pros and cons.

The Fritzbox 7050 offers three FXS ports but only has USB client behavior. This means you can hook up three different analog phones to it, each with its own configuration, but you cannot plug USB devices onto the Fritzbox. The USB client can only connect to a computer, for example, if you do not have an Ethernet NIC. However, most computers, even laptops, now feature one.

The Fritzbox 7140 offers only two FXS ports but comes with a USB host. This means you can hook up a USB printer or a hard drive to your Fritzbox. This is potentially interesting if you want to share your printer on your LAN, or want to use your Fritzbox as a standalone storage station.

The lack of a third FXS port is easy to bypass with the ISDN capabilities of each Fritzbox. ISDN is the European digital POTS network, with advanced features that allow you, for example, to assign a different number to each handset.

Note that there are two different types of Fritzbox hardware: annex A and annex B. "Annex A" devices are for DSL over ISDN countries, mostly German-speaking countries, while "Annex B" are for the rest of the world. Annex A Fritzboxes are generally cheaper, yet are still usable in other countries after some firmware tweaking. However, this could potentially bring some DSL network problems and will void your warranty.

Real-Life Example

It is hard to explain everything you can do with a Fritzbox, so I prefer to give you a not-so-simple example: my own home network, before and after the Fritzbox.

Previously, I had an Alcatel Speedtouch Home Ethernet modem, which I had reconfigured to allow a direct PPPoE connection. This was a feature reserved to the Pro version, yet easily achievable on the Home version. This meant the Alcatel modem provided standalone IP connectivity to my LAN.

However, because it had only one RJ45 connector, I hooked it to a switch. On this switch, I had a small PC running a customized Leaf-Bering distribution from a 32Mb compact flash card to listen to French-Canadian radios at home. It had a USB port, which I used to mount USB keys for BitTorrent downloading though a USB hub.

Because I had laptops and a desktop computer in a different room, I plugged a Linksys WAP11 access-point into the switch to offer wireless LAN connectivity. My final device was a Grandstream HT-286 ATA that offered VOIP to a dedicated phone in order to have a Nevada area code phone number for friends who wanted to call us without paying outrageous transatlantic fees.

That was quite a setup mounted into a custom-made plastic shelf, hidden behind the sofa. It ate energy and ran quite hot. It was also awful to maintain, with so many power adapters and network cables. Taking incoming calls was a matter of picking up the right phone, which, thanks to Murphy's Law, was always the most distant one. Did I mention the phones also had their own power adapters, thus adding to the loose-wire mix?

Specifications

I really wanted to change my home network, but my French DSL provider initially did not offer its own home gateway. When it did, I heard horror stories about people with neither phone nor internet access when the network went down, so I decided never to ditch the PSTN, if only to have a reliable way to call emergency services or pass important calls even when the IP network is down. Finally, I discovered that many home gateways offered by competitors had weak and easy-to-crack security.

That was too much. Even if I did not want to keep the power-hungry beast that was hiding behind the sofa, I could not sacrifice its reliability (well, until one of its cables fell out, which often happened), sustainability, and security to a "better-looking" solution. I did not want to pay some monthly rental fee for the device, either. My significant other was strongly disappointed. She hoped we could get rid of all this stuff. Well, I hoped, too.

Then I heard about the Fritzbox on German forums and decided to give it a try. That was the chance to replace my overly complicated setup by a most efficient and easily manageable one.

I decided that there should be two devices maximum, so I also purchased a Panasonic KX-TG6502B cordless phone. It runs on the 5.8 GHz band and manages two lines on up to four handsets and a base station, with intercom capabilities.

Making It Easy

The Panasonic phone connects by two RJ11 cable to the two FXS ports of the 7050. The third FXS port connects to a fax machine, which exists only to scan documents because I prefer FAXOIP.

There are two buttons on each handset, "line 1" and "line 2." I have a French flat-rate VOIP (wengo.fr) connected to line 1, with an automatic PSTN fallback in case of failure. On line 2, I have a U.S. VOIP line with a Nevada local number, to call friends.

Because I receive many more calls than I send on line 2, I have since reassigned it to a different French flat-rate VOIP (phonesystems.net), which I use as a business telephone number. As it is a business line, I configured it not to ring after business hours. I keep the U.S. VOIP line accessible with a special prefix (*123#); it rings on line 1 when there are incoming calls.

Caller ID works perfectly, even if it comes from different networks (French, U.S.) with different modalities (PSTN, VOIP). I can transfer calls from one handset to the other, with conference calls managed directly by the Panasonic phone.

All this would be quite complex to specify in technical terms, yet the end result is very user-friendly: it always works (thanks to PSTN fallback), lets you decide which line you want to use for outgoing calls (press the "line 1" or "line 2" button), lets you override this for specific occasions (special prefix), and does not disturb you when it shouldn't ring. When it rings, the phone takes care of the call (conference call, transfer) in any area of the home.

Best of all, it took less than ten minutes to set up. That's no match for a PBX. I have five phones (four cordless and one base station) all around my home connected to this setup. It always works!

Going Further

The Fritzbox web-based interface makes all this very easy to manage.

Even better--there is room for improvement. You can manage up to ten VOIP accounts with the Fritzbox (SIP only--no Skype, which is not a big loss due to its heavy bandwidth use). That means you can have up to ten different phone numbers in as many countries as you need. I chose the Panasonic cordless because it runs on the 5.8 GHz band, and would not potentially interfere with WiFi and Bluetooth operations.

However, you could replace it with an ISDN DECT base station to offer a dedicated phone number to each DECT phone, instead of having two buttons to decide which line to use. However, I have yet to find an ISDN DECT system capable of working like the Panasonic, with dedicated "line 1" and "line 2" buttons, forwarding, conference calls, and other features.

The network part is just as easy: you simply type your DSL login and password, check the option box to share your connection on your LAN, and voila. It simply works, with DHCP and all. The icing on the cake for me is graphs that show in real time the quality of your connection (PPPoE and PPPoA--you even get to decide which you want to use) with daily cumulative stats in your inbox.

Do you have a dyndns domain? If you do, simply give your login and password to the Fritzbox. Every time it connects to the Internet, it will renew the dyndns. Port forwarding and firewalling are also very easy to set up, with some safe defaults and easy overrides. The process is well documented, and the online help makes improvisation easy.

For example, if you want to have a local web server, open port number 80 and forward it to the IP of the machine on your LAN running Apache httpd. The drop-down menus will then suggest that you also open port number 443 for secure HTTP.

By default, the LAN ports, the USB client, and the WiFi port are all bridged (available on the same network), but you can configure each to have its own subnet and IPs. There is only one default: the Fritzbox does not run a standard GNU/Linux distribution but instead the Linux kernel with proprietary tools. Therefore it does not feature iptables, which make complex routing from the command line a pain. The best solution is to replace the default distribution with the ds-mod firmware free software solution with all the traditional tools.

The best part is that you create your own firmware, selecting which tools will be included and which will not, and cross-compiling everything on your PC.

Missing Software

The default firmware will be sufficient for most people. The first thing I regret is the lack of text access to the Fritzbox by default. Of course, you can always enable Telnet with a pseudo-firmware update (flashing only one file to start telnetd at boot), but it is not as good as SSH.

SSH is available thanks to dropbear, but key generation is unpractical; it should be present by default, along with basic utilities like wget to send and retrieve files from the Fritzbox.

Finally, the lack of a normal iptables utility means you either have to figure out the ar7.cfg syntax or reflash your Fritzbox with the custom ds-mod firmware. While it should be possible, this adds yet another delay for complex setups.

I strongly believe Avm.de should consider adding SSH and replace the routing scheme with iptables. If they do not, they should at least provide a good documentation of the command-line tool for complex routing situations.

Hardware Improvements

I opted for the Fritzbox 7050, the one without USB host, because it had a third FXS port for my fax machine. This means I cannot easily add hardware though USB (not that I wanted to in first place, since it would mean adding another piece of hardware--in this case, a USB hub). There are only two features I miss: storage and Bluetooth.

For storage purposes (such as BitTorrent or wget), I am considering purchasing a simple all-in-one NAS to mount via NFS. There are many models with an ATA hard drive connector and an Ethernet plug, running various GNU/Linux distributions.

For connectivity purposes (such as Palm synchronization), I would have enjoyed Bluetooth. There are free serial ports inside the 7050, so if I really need it, I will find a way to solder a Bluetooth module.

Some users may also resent the lack of a good old modem, if only to manage faxes with mgetty+sendfax. However, there are many FAXOIP offers, with flat rates and nice options. I currently receive my faxes as PDF attachments in my inbox with popfax.com; sending them is simply a matter of attaching the file I want to send. I pay 3.99 Eur per month for unlimited incoming faxes, and 5 cents per sheet for outgoing faxes. The convenience factor is great, as I do not need volume faxing.

Of course, the Fritzbox itself could manage this directly, yet converting from and to the various file-attachment formats would certainly require much additional software, along with the modem, thus raising the price tag. FAXOIP is good enough.

A cheap and easy addition would be an audio jack and microphone. I did maintain a customized Leaf Bering distribution for radio playback on my former hardware. I simply connected some cheap loudspeakers and remotely launched Mplayer. I also had some plans to use the microphone for audio streaming, such as podcasts.

Avm could certainly consider adding sound capabilities to the Fritzbox. It could also help debug your network problems--like when you have a typo on the IP, reboot the box, and can't manage to log in. What if the Fritzbox read out its configuration during boot?

Of course, there is a fixed IP for each port of the Fritzbox, which works even if you damage the configuration. You can also press a special button to boot in default mode where you can fix your changes, so there is no real need for this feature.

Yet I lament the lack of playback capabilities, which I often used on my old setup.

Conclusion

While I miss SSH and iptables on the software side and sound and Bluetooth on the hardware side, the Fritzbox is a great purchase overall. It eases the pains of home network setup and maintenance, making even complex situations--like my own setup--child's play.

While the initial Fritzboxes had problems with ADSL 2+ speeds, the latest firmware works like a charm.

The Fritzbox is the ideal present for any geek with a DSL connection who wants to get rid of the aging PC used for sharing this connection. If you are considering it as a gift, offer it along with some cordless phones capable of managing more than two phone lines, so that your geek friend or relative will enjoy VOIP without any hassle of the usual VOIP setups.

I recommend the 7050 version over the 7140 if you do not need to share a printer; this is the only real advantage of the 7140 USB host port. However, if you have ISDN-capable phones and do not mind spending a little more, the 7140 could be interesting, because two FXS ports will be enough.

In any case, if you want to share a storage space on your home network, you will be better off with a dedicated SAN connected to one of the two Ethernet ports of the Fritzbox, as neither version of the Fritzbox can directly receive an hard drive inside.

Links

Guylhem Aznar was the coordinator of The Linux Documentation Project from 1999 to 2006. He has a special interest in Linux embedded devices and health informatics, being a physician with a clinical experience but also a full traditional computer-science education.


Return to the Linux DevCenter.

Copyright © 2009 O'Reilly Media, Inc.