Régler le DSCP sur la Fritzbox 7050

Contrairement à la 7390 qui se contente de quelques modifications dans un fichier de configuration, la 7050 nécessite un dæmon spécifique, dscpd.bin disponible à la page Téléchargements

Une fois lancé, il faut remplacer l’interface par défaut par la nouvelle, créée par ce dæmon, sur laquelle les paquets reçus sont modifiés pour mettre la bonne valeur DSCP :

/var/tmp/dscpd arf0 dsl 192.168.180.2 192.168.179.1 192.168.178.1 255.255.255.0

route add default dev arf0

Pour le recompiler, le code source et le Makefile sont aussi disponibles. Afin d’éviter des problèmes de libpcap, autant tout mettre en statique – ça reste à moins de 250ko.

Le cross-compileur x86/mips-uclibc est disponible par le biais de Freetz (Download Seite), mais varie beaucoup suivant la Fritzbox. Le binaire 7050 est incompatible par exemple avec la 7390…

Pour lancer le tout au démarrage, utiliser le debug.cfg pour wget le binaire que vous devez mettre votre serveur. Profitez-en pour y mettre d’autres outils !

À titre d’exemple, voici un énorme debug.cfg contenant des rappels, des instructions et autres détails. Il faut dire que la Fritzbox 7050 ne disposait pas d’espace de stockage pour les fichiers… et l’interface web avait en plus quelques problèmes, dont de supprimer la casse des mots de passe de VOIP !

#!/bin/sh


# To tftp put/get

#tftp -g -l <localFile> -r <RemoteFile> <RemotePC>

#tftp -p -l <localFile> -r <RemoteFile> <RemotePC>

#

# To replace web served files:

#killall websrv

#cat /var/flash/ar7.cfg|sed -e ‘s/usr/www/var/tmp/www/g”>/var/tmp/ar7.cfg

#cp /var/tmp/ar7.cfg /var/flash

#websrv

#

# To restore to German version before German firmware upgrade:

#echo “annex B” > /proc/avalanche/env

#echo “HWRevision 76” > /proc/avalanche/env

#echo “ProductID Fritz_Box_WLAN” > /proc/avalanche/env

#echo “firmware_version avm” > /proc/avalanche/env

#

# To show international settings on the German firmware

#sed “s/var:showLKZ 0/var:showLKZ 1/g” /usr/www/avm/html/de/fon/sip1.js > /var/tmp/sip1.js

#chmod 444 /var/tmp/sip1.js

#mount -o bind /var/tmp/sip1.js /usr/www/avm/html/de/fon/sip1.js

#

# To hide the hideous message “In Ihrer FRITZ!Box wurden vom Hersteller nicht

# unterst?tzte ?nderungen durchgef?hrt.”

#sed ‘s/<? query.box:status.signed_firmware ?>/1/’ /usr/www/all/html/de/home/home.js > /var/tmp/home.js

#mount -o bind /var/tmp/home.js /usr/www/all/html/de/home/home.js

#

# To restore to International version before International firmware upgrade:

# echo “annex A” > /proc/avalanche/env

# echo “HWRevision 77” > /proc/avalanche/env

# echo “ProductID Fritz_Box_7050_AnnexA” > /proc/avalanche/env

# echo “firmware_version avme” > /proc/avalanche/env


# default aliases

ifconfig lan:1 192.168.178.1

hostname fritz.box


# Set nameservers with spares

#echo “nameserver 4.2.2.1

#nameserver 4.2.2.4″>/var/tmp/resolv.conf


# Start telnet deamon with web gui password (identical to #96*7*)

# Can be turned off with #96*8*

/usr/sbin/telnetd -l /sbin/ar7login


# Check codecs used :

grep codec /var/flash/voip.cfg > /var/tmp/codec

# Available :

# grep -i g.7 /bin/voipd

# Should be:

#use_audiocodecs = yes;

#audiocodecs = “PCMA”, “PCMU”;

# Instead of

#use_audiocodecs = no;

#audiocodecs = “PCMA”, “PCMU”, “G726-32”;

# Normal codecs were

# audiocodecs = “G726-32”, “G726-40”, “G726-24”, “G729”, “G723”, “PCMA”, “PCMU”;


# Allow passwordless ftp

#wget http://www.tecchannel.de/download/432803/bftpd

#wget http://www.tecchannel.de/download/432803/bftpd.conf

#chmod +x bftpd

#chmod 777 bftpd.conf

#echo “ftp:xxxxxxxxxx:0:0:root:/:null” >> /var/tmp/passwd

#/var/tmp/bftpd -d -c /var/tmp/bftpd.conf


# Log VOIP packets

#wget http://www.akk.org/~enrik/fbox/bin/tcpdump

#chmod +x tcpdump

#./tcpdump -e -i dsl host 192.168.178.67 -s0 -x -v


# DSCP

cd /var/tmp/

wget http://yourserver.com/dscpd

chmod +x dscpd

route delete default

mkdir /dev/net && ln -sf /dev/misc/net/tun /dev/net/tun

/var/tmp/dscpd arf0 dsl 192.168.180.2 192.168.179.1 192.168.6.0 255.255.255.0

route add default dev arf0


# Check DSCP

#traceroute -q 1 -t 0x30 192.168.73.73


# Check passwords

#allcfgconv -C voip -c -o /var/tmp/voip.cfg

#authname =

exit 0

Pour la peine, voici quelques vieux binaires utiles pour les Fritzbox 7050 restantes : config-var-tmp.zip (cf Téléchargements)

Voici aussi un pseudo-firmware pour rajouter définitivement et simplement le telnet : starttelnet.image (cf Téléchargements)

Advertisements

About guylhem

guylhem.com
This entry was posted in Uncategorized and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s