FRITZ!Box 7490 – router which needs a little bit of your attention
Router is just a device which lonely takes its place on a shelf under a film of a dust. However some routers perform better, other worse. Let’s take a look at AVM – FRITZ!Box 7490 device.
I need to say this – the look of this device hits the spot. And I mean balls. Its design is controversial but appealing somehow. It reminds me of Cadillac’s from ’60s. Enough about it’s appearance – let’s take a look at this thing.
TELEPHONY / DECT
This device supports DECT communication. I have two FRITZ!Fon C4 stations which allowed me to test its functionality.
Sound quality is more than good. Everything works smooth despite of weak coverage of DECT system. My flat is quite long – having router on one side and phones on other side causes serious problems. FRITZ!Fon C4 have colour LCD, they got fancy stuff like – internet radio, rss feeder client, podcast client, email client, baby monitor, even they can provide you with feed from IP camera.
Highway near Gdynia, Poland.
There is a possibility of controlling the FRITZ!Dect devices – ‘intelligent’ wall plugs. You can check on your power usage in every moment, switch some devices on or off, get everyday/weekly/monthly reports with power usage prediction and usage. Quite useful.
WIRELESS LAN
I won’t say much here. A/B/G/N/AC standards supported. It is fast. Here is a speedtest from Sony Xperia Z2 smartphone. I do not have any other device capable of running AC. Speed is fine, but coverage is poor. FRITZ!Box 7490 gives me ~80 dBm at the very end of flat, while TP-LINK TL-1043ND gets -73 dBm easily.
DEVICE PERFORMANCE
Powerful, dual core CPU. You can feel it. I have an experience from Alix Boards, 1043ND v1, 1043ND v2.. FRITZ is faster.
# cat /proc/cpuinfo
system type : VR9
processor : 0
cpu model : MIPS 34Kc V5.6
BogoMIPS : 332.59
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
ASEs implemented : mips16 dsp mt
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not availableprocessor : 1
cpu model : MIPS 34Kc V5.6
BogoMIPS : 249.85
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
ASEs implemented : mips16 dsp mt
shadow register sets : 1
core : 0
VCED exceptions : not available
VCEI exceptions : not available
Simple data download tests.
Writing to flash.
# time wget ftp://ftp.task.gda.pl/test/100mega
Connecting to ftp.task.gda.pl (153.19.251.222:21)
100mega 100% |****************************************************************| 100M 0:00:00 ETA
real 0m 34.17s
user 0m 0.61s
sys 0m 10.28s
Writing to virtual device.
# time wget -O /dev/null ftp://ftp.task.gda.pl/test/100mega
Connecting to ftp.task.gda.pl (153.19.251.222:21)
null 100% |****************************************************************| 100M 0:00:00 ETA
real 0m 8.01s
user 0m 0.18s
sys 0m 7.77s
Writing to USB 3.0 connected hard drive. Those write speeds should be higher.
# time dd if=/dev/zero of=/var/media/ftp/TOSHIBA-MK5065GSXN-01/dump.1GB bs=100k count=1k && sync
1024+0 records in
1024+0 records out
real 0m 4.82s
user 0m 0.01s
sys 0m 1.47s104857600 / 4.482 = 23395269 B/s –> 23,3MB
Speedtest.
Looks really good. Device was connected to network capable of 1Gbit symmetrical.
Iperf – default packet size.
# iperf3 -P 6 -c X.X.X.X
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-2.00 sec 42.9 MBytes 180 Mbits/sec sender
[ 4] 0.00-2.00 sec 42.7 MBytes 179 Mbits/sec receiver
[ 6] 0.00-2.00 sec 32.8 MBytes 137 Mbits/sec sender
[ 6] 0.00-2.00 sec 32.5 MBytes 136 Mbits/sec receiver
[ 8] 0.00-2.00 sec 31.6 MBytes 133 Mbits/sec sender
[ 8] 0.00-2.00 sec 31.5 MBytes 132 Mbits/sec receiver
[ 10] 0.00-2.00 sec 35.6 MBytes 149 Mbits/sec sender
[ 10] 0.00-2.00 sec 35.4 MBytes 149 Mbits/sec receiver
[ 12] 0.00-2.00 sec 36.1 MBytes 152 Mbits/sec sender
[ 12] 0.00-2.00 sec 35.9 MBytes 151 Mbits/sec receiver
[ 14] 0.00-2.00 sec 30.5 MBytes 128 Mbits/sec sender
[ 14] 0.00-2.00 sec 30.4 MBytes 127 Mbits/sec receiver
[SUM] 0.00-2.00 sec 210 MBytes 879 Mbits/sec sender
[SUM] 0.00-2.00 sec 208 MBytes 874 Mbits/sec receiver
Packet size – 128kb.
# iperf3 -P6 -M 128 -c X.X.X.X
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-2.00 sec 5.35 MBytes 22.5 Mbits/sec sender
[ 4] 0.00-2.00 sec 5.35 MBytes 22.4 Mbits/sec receiver
[ 6] 0.00-2.00 sec 5.35 MBytes 22.5 Mbits/sec sender
[ 6] 0.00-2.00 sec 5.35 MBytes 22.5 Mbits/sec receiver
[ 8] 0.00-2.00 sec 5.35 MBytes 22.5 Mbits/sec sender
[ 8] 0.00-2.00 sec 5.35 MBytes 22.5 Mbits/sec receiver
[ 10] 0.00-2.00 sec 5.35 MBytes 22.5 Mbits/sec sender
[ 10] 0.00-2.00 sec 5.35 MBytes 22.4 Mbits/sec receiver
[ 12] 0.00-2.00 sec 5.35 MBytes 22.5 Mbits/sec sender
[ 12] 0.00-2.00 sec 5.35 MBytes 22.5 Mbits/sec receiver
[ 14] 0.00-2.00 sec 5.35 MBytes 22.5 Mbits/sec sender
[ 14] 0.00-2.00 sec 5.35 MBytes 22.4 Mbits/sec receiver
[SUM] 0.00-2.00 sec 32.1 MBytes 135 Mbits/sec sender
[SUM] 0.00-2.00 sec 32.1 MBytes 135 Mbits/sec receiver
Very good results. This device would surely handle middle-sized office.
On factory defaults all Gigabit ethernet ports are set to work as 100Mbit FD.
NAS / DLNA
When you connect a USB drive to FRITZ!Box 7490 it can run easily some NAS functions. These are – SAMBA/FTP/FTPS/DLNA/UPNP. DLNA is fine, but some flaws makes using it quite annoying. *.MKV files are working fine unless you rename it to *.AVI. Moreover this DLNA server cannot handle subtitles in any form (we’ll make a workaround later). Unfortunately you won’t find Torrent client here either (workaround – keep reading). I suppose that simple Download Station functions would be expected here.
On factory defaults the second (side) USB is set to 2.0 mode instead of 3.0.
MORE INFORMATION
# uname -a
Linux fritz.box 2.6.32.61 #1 SMP Wed Oct 15 12:08:44 CEST 2014 mips GNU/Linux
What’s interesting here. “ip a s” command will not show your public IP address (DSL Router Mode). This device is capable of doing DSL/ADSL WAN port.
# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: tunl0: mtu 1480 qdisc noop
link/ipip 0.0.0.0 brd 0.0.0.0
3: sit0: mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP100> mtu 1500 qdisc tbf qlen 1000
link/ether c8:0e:14:25:95:a9 brd ff:ff:ff:ff:ff:ff
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP200> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether c8:0e:14:25:95:aa brd ff:ff:ff:ff:ff:ff
6: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP200> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether c8:0e:14:25:95:ae brd ff:ff:ff:ff:ff:ff
7: eth3: <NO-CARRIER,BROADCAST,MULTICAST,UP200> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether c8:0e:14:25:95:af brd ff:ff:ff:ff:ff:ff
8: wasp: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:de:ad:be:ef:ca brd ff:ff:ff:ff:ff:ff
10: adsl: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 2000 qdisc pfifo_fast qlen 32
link/[19]
11: lan: <BROADCAST,MULTICAST,UP,LOWER_UP200> mtu 1500 qdisc noqueue
link/ether c8:0e:14:25:95:a9 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.1/24 brd 192.168.178.255 scope global lan
inet 169.254.1.1/16 brd 169.254.255.255 scope global lan:0
inet6 fe80::ca0e:14ff:fe25:95a9/64 scope link
valid_lft forever preferred_lft forever
12: guest: <BROADCAST,MULTICAST,UP,LOWER_UP200> mtu 1500 qdisc noqueue
link/ether c8:0e:14:25:95:a9 brd ff:ff:ff:ff:ff:ff
inet 192.168.189.1/24 brd 192.168.189.255 scope global guest
inet6 fe80::ca0e:14ff:fe25:95a9/64 scope link
valid_lft forever preferred_lft forever
14: dsl: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP200> mtu 1500 qdisc pfifo_fast qlen 100
link/ppp
inet 192.168.178.1/32 scope global dsl
15: wifi0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ieee802.11 c8:0e:14:25:95:ab brd ff:ff:ff:ff:ff:ff
16: wifi1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ieee802.11 c8:0e:14:25:95:ac brd ff:ff:ff:ff:ff:ff
17: ath0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether c8:0e:14:25:95:ab brd ff:ff:ff:ff:ff:ff
18: ath1: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether c8:0e:14:25:95:ac brd ff:ff:ff:ff:ff:ff
19: wlan: <BROADCAST,MULTICAST,UP,LOWER_UP200> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether c8:0e:14:25:95:a9 brd ff:ff:ff:ff:ff:ff
20: ptm_vr9: <BROADCAST,MULTICAST> mtu 1500 qdisc noop qlen 1000
link/ether c8:0e:14:25:95:ad brd ff:ff:ff:ff:ff:ff
TELNET – COMMANDLINE ACCESS
FRITZ!Box 7490 running version <= 6.20 allows you to enable telnet to get to commandline. On your DECT phone make a call: #96*7*. Now using putty (FritzMod – enabling/using TELNET) you can access device easily. If you like to run SSH service some valuable information can be find here: FritzMod – running SSH. There are a lot of HOWTOs out there. Keep looking.
TRANSMISSION – TORRENT CLIENT
You can find the tutorial how to run Transmission here: Installation of TORRENT client.
Keep in mind that it is available only from LAN side. To get it to it from outside you got two possibilities: 1. VPN / 2. opening port. VPN is fully covered by manual, but opening ports is done like this:
nvi /var/flash/ar7.cfg
Be aware. Doing a mispell here can end in reflashing router from recovery software.
You are looking for: forwardrules. Find lines as such:
forwardrules = “udp 0.0.0.0:5060 0.0.0.0:5060”,
“tcp 0.0.0.0:22022 0.0.0.0:22 0 # ssh”,
You can add your port opening rule:
forwardrules = "udp 0.0.0.0:5060 0.0.0.0:5060",
"tcp 0.0.0.0:22022 0.0.0.0:22 0 # ssh",
"tcp 0.0.0.0:10001 0.0.0.0:9091 0 # torrent",
After a reboot the WWW interface is available at: http://your.ip:10001 (outside of LAN). Inside of your LAN you can easily reach it at: http://192.168.178.1:9091. This is not secured by any authorization mechanism. Take a look here:
Quick ACL rules (file settings.json).
option rpc_authentication_required ‘true’
option rpc_bind_address ‘0.0.0.0’
option rpc_enabled ‘true’
option rpc_port ‘9091’
#definition of www suffix (np. http://192.168.178.1:9091/transmission)
#option rpc_url ‘/transmission/’
option rpc_username ‘LOGIN’
option rpc_whitelist ‘127.0.0.1,192.168.178.*,YYY.YYY.YYY.*,XXX.XXX.XXX.XXX,’
option rpc_whitelist_enabled ‘true’
option rpc_password ‘PASS’
option script_torrent_done_filename ‘/path/to/torrent/finish/script’
As a script started whenever torrent is downloaded try to make use of this command as an example.
mailer -s SUBJECT -f your-login-gmail@gmail.com -t DESTINATION_EMAIL -m smtp.gmail.com -l -w PASSWORD
You can also pass variables here easily, like $TR_TORRENT_FILENAME. For more info check our the documentation.
MINIDLNA – ALTERNATIVE DLNA SERVER
Running this MiniDLNA (Homepage – MiniDLNA) instance will allow you to use server which can easily feed the subtitles to your smartphone/tables/smart tv. *.SRT format is doing good. Here you got some information how to run it properly:
# cd /directory/on/usb/drive
# wget https://blogtech.pl/download/dlna-rtlsdr-fritz.tar
# tar xvf dlna-rtlsdr-fritz.tar
# cd fritz-tools
Now we need to configure the DLNA service. Edit the ‘minidlna’ file.
To get the full mount path use ‘mount’ command.
# vi minidlna
port=8200
network_interface=lan
media_dir=/CHANGE/DISK/DRIVE
friendly_name=Name of DLNA Server
db_dir=/CHANGE/DISK/DRIVE
album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg
inotify=yes
enable_tivo=no
strict_dlna=no
notify_interval=900
serial=12345678
model_number=1
Now after these changes let’s start the daemon:
# cd bin
# LD_LIBRARY_PATH=/usr/lib:../ ./minidlna -R -a 192.168.178.1 -f ../minidlna &
After about one minute all of your local device will be able to see and correctly run multimedia files from your storage. Hint number one: (Play Store – Napidroid Lite). It allows you to add subtitles easily to your newly downloaded content. This application (Play Store – Remote Transmission) does exactly what it has in its title.
DUMP1090, RTL-SDR – FM/AM frequency listening
This part suits perfectly my hobby. If you are interested in RTL-SDR you’d propably find what are you looking for. FRITZ!Box 7490 got two USB ports. One is used by hard drive. Why would the second be unused?
Some time ago I got interested in listening to frequencies in range from 0 to 1800MHz. You can use DVB-T dongle (chipset rtl2832u and r820t) which i mentioned before Jammer 433MHz – Arduino. Long story short – reconfiguring this device allows you to listen to uncrypted transmissions. You can find rail stations, harbour services, security companies and many more. I will try to create a fully related to RTL-SDR topic. Stay tuned.
Instead of listening to people talking on radio we would take a look at ADS-B – (Wikipedia). Running dump1090 application make your device able to capture plane transponders information. This data will look familiar to people interested in FlightRadar24.
Let’s download the lib and bin package:
# cd /katalog/na/dysku/usb
# wget https://blogtech.pl/download/dlna-rtlsdr-fritz.tar
# tar xvf dlna-rtlsdr-fritz.tar
# cd fritz-tools/bin
# LD_LIBRARY_PATH=/usr/lib:../ ./dump1090 --interactive
Running dump1090 with parameter "--interactive"
allows you to monitor ‘live’ planes near your vicinity on CLI terminal.
The "--net"
parameter starts a WWW interface which provides the situation in air. There are many tutorials about this online. Please go and check it our.
To make service port reachable from WAN side you need to edit ar7.cfg file:
“tcp 0.0.0.0:10000 0.0.0.0:8080 0 # dump1090”,
Do visit the metal store, get yourself a big mug of a coffe, a 2hrs of free time and you can build your own antenna which helps to to elminate noise and be ‘more selective’ to your needs.
This antenna helps me eliminate the noise. It’s just build to work best with specific frequency. For listening I use CubicSDR.
SUMMARY
FRITZ!Box 7490 is a feature-packed router, a sapphire on a shelf of a store. But it can show it’s flaws occasionally. If you use some spare time to ‘take a look’ at it you can easily exploit the full potential of this device (additional libraries, binaries) – feel free to.
Yesterday I erased the messages on the 7490 fritzbox answering machine and would like to retrieve them since some were of a very dear person who is unfortunately dead. Do you think it is possible to retrieve them? I have disabled the answering machine to prevent new messages from overlapping on memory. Can you help me?
My first try would be to connect to router by telnet/ssh and use some data recovery method – like for example – photorec, but you would need to work with architecture of your box. If you are unable to do so – I can help you I think.