D-Link Wireless ADSL Router DSL-G604TDate de publication : 26/02/2005 , Date de mise à jour : 27/12/2005
Par
Pierre Chauvin (wpetrus.developpez.com)
Présentation du Routeur Modem Wireless D-Link DSL-G604T, qui embarque une distribution Linux MontaVista. 1. Le matériel: D-Link Wireless ADSL Router DSL-G604T 1.1. Les spécifications générales 1.2. Les spécifications détaillées 2. Remarques hardware 3. Remarques firmware et software 3.1. Les différentes version de firmware 3.2. Mise à jour du firmware 3.3. La distribution MontaVista 3.3.1. Informations CPU 3.3.2. Informations Mémoire 3.3.3. Informations "File System et Mounting" 3.3.4. Processus courants 3.3.5. Modules noyau 3.4. Le package BusyBox 3.5. Connexion Telnet 3.6. Utiliser TFTP 3.7. Le monitoring SNMP 3.8. Le Filtering MAC 3.9. Attribution dynamique DHCP 3.10. Le port forwarding 3.11. Déterminer son MTU 3.12. Console Sony PSP 4. FAQ - Frequently Asked Questions 5. Quelques Liens 1. Le matériel: D-Link Wireless ADSL Router DSL-G604T![]()
Voila une petite boite trés à la mode, qui permet le tout-en-1 et répond à un certain nombre de problèmes que nous
rencontrons lorsque nous montons un réseau domestique. Un routeur-modem c'est avant tout un partage de connexion ADSL, un routeur pour
LAN (Local Area Network), et maintenant pour WLAN (Wireless LAN).Ensuite, en fonction des constructeurs, on demande d'autres services
et outils, notamment en terme de monitoring, de sécurité, de mise à jour, de puissance, de compatibilité.
Mon choix personnel c'est finalement porté sur le D-Link DSL-G604T. Nous pourrions bien sur discuter longtemps pour connaître le meilleur
routeur-modem ADSL du moment. J'ai juste envie de dire que ce modèle est correct, mais loin d'être parfait.
1.1. Les spécifications générales
Voila pour les fonctionnalités générales. Apparemment, il fait tout ce que j'attends de lui.
1.2. Les spécifications détaillées
Outre cette matrice officielle distribuée par D-Link, on notera d'autres informations importantes sur ce matériel:
![]() 2. Remarques hardware
Le chipset processeur: Le G604T est doté d'un chipset Texas Instrument AR7, muni d'un processeur MIPS32 4KEc (Mips Technologies). The Texas Instrument AR7 is the fully integrated single-chip ADSL CPE access router solution. The AR7 combines a MIPS32 processor, an ADSL PHY subsystem based on TI C62x DSP with integrated transceiver, integrated IEEE 802.3 PHY, two IEEE 802.3 MACs with integrated MII, hardware accelerated ATM SAR, integrated USB 1.1, UART, GPIO and EJTAG interfaces.The AR7W is an AR7 option with a interface for WiFi card.
3. Remarques firmware et software3.1. Les différentes version de firmware
Acheté en Février 2005, le routeur que je possède est doté du Firmware V1.00B02T02.EU.20040618. Vous pouvez connaître
la version de votre firmware via l'interface d'administration:
![]() ![]()
... ou bien via une commande shell avec telnet:
Mouais :-/... une version qui date de Juin 2004, j'imagine que je dois pouvoir trouver mieux et l'upgrader. J'ai donc cherché dans les ressources D-Link,
les newsgroup et autres forums. Il existe effectivement d'autres firmwares: - Sur le FTP Anglais de D-Link, on trouve un Firmware DSL-G604T_FW_v1.00B03T01.UK.20041126, un peu plus récent, mais localisé "UK". - Sur le FTP Russe de D-Link, on trouve un Firmware DLinkRU_DSL-G604T_V1.00B02T02.RU.20041014, un peu plus récent que le "EU", mais localisé "RU". - Sur le FTP Italien de D-Link, on trouve le même Firmware DSL-G604T_V1.00B02T02.EU.20040618, un DLINK_TA_DSL_G604T_V1.00B02T02.TA.20040921, et une version béta trés récente: DLinkTA_DSL-G604T_singleimage_kernel_fs_V1.00B02T02.TA.20050124 optimisée pour le P2P visiblement. - Et enfin sur un dernier site Russe, ou un particulier semble essayer d'assurer le développement d'un fork du firmware officiel (http://mcmcc.bat.ru/dlinkt/), on trouve le même Firmware DSL-G604T_V1.00B02T02.EU.20040618, un DLINK_TA_DSL_G604T_V1.00B02T02.TA.20040921, et une version béta trés récente: DLinkTA_DSL-G604T_singleimage_kernel_fs_V1.00B02T02.TA.20050124 optimisée pour le P2P visiblement.
Pour installer cette nouvelle génération de firmware, vous aurez besoin d'un utilitaire disponible pour Windows.
Sur le même serveur FTP, un autre firmware "Russe" est disponible: V2.01B01T01.RU.20051205. le Changelog est plus complet, mais il est préférable d'étudier soigneusement cette nouvelle version: Release NOTE: - support PPTP Client work with PPPOE/PPPOA/Static/DHCP WAN Connection type - add internal port range on virtual server rules - support add multiple port entries in one virtual server rule - SSH server can be enabled/disabled(default SSH server is disabled) - fix traceroute issue - solve the problem that the password will become null if the customer just enabled remote telnet or Web - fix limited attempts of PPP establishing(now the PPP failure retry count becomes infinite) - fix port mapping bugs HISTORY NOTES - support parent Control(including URL Blocking and Domain Blocking) - support multiple PPPOE passthrough - support Multiple PPTP Passthrough - support 2 layer log in - support input special characters in PPP user/password - show firmware build date/time at the beginning of the log report 3.2. Mise à jour du firmware
prochainement ...
3.3. La distribution MontaVista![]()
Le routeur est doté d'une distribution MontaVista, créé pour le monde de l'embarqué et du temps réel. Comment savoir quelle
distribution votre routeur (que ce soit NetGear, Belkin, Linksys) embarque ? Il suffit juste d'avoir un accès Telnet (ou SSH),
comme décrit au paragraphe 3.5 [Connexion Telnet], de s'identifier et de lancer une petite commande (si elle est autorisée):
Nous verrons vite que le nombre de commandes supporté est plutot mince :-/, du fait
de l'intégration de BusyBox, une compilation de commandes "light". La distribution MontaVista est spécialisée dans les solutions temps-réel et embarqué. La société propose des plateformes customisables pour les industries, les intégrateurs de technologies mobiles (téléphonie notamment). Une version est même compilée pour supporter "nativement" des applicatifs J2ME. NTTDoCoMo (leader en téléphonie mobile au Japon) à d'ailleur investi dans la société MontaVista Software Inc. à hauteur de 3 Millions de $ l'an passé. D'autres partenaires constituent le marché de la société: Alcatel, NEC, Panasonic, D-Link, IBM, Samsung, Toshiba. Description de Montavista Linux PE ![]() 3.3.1. Informations CPU
3.3.2. Informations Mémoire
3.3.3. Informations "File System et Mounting"
3.3.4. Processus courants
3.3.5. Modules noyau
3.4. Le package BusyBox
Qu'est ce que BusyBox ?
BusyBox est un paquetage logiciel qui combine l'essentel des utilitaires classiques des systèmes UNIX, de façon plus légère. Cela consiste en une implémentation partielle des principaux outils indispensables, basée sur l'épuration des options facultatives, l'amélioration des performances et de la gestion mémoire, la diminution de la taille du package final. BusyBox est hautement configurable, afin de cibler un maxumum de systèmes embarqué. L'intégrateur pourra alors compiler la BusyBox en l'allégeant encore de fonctionnalités. BusyBox est développé et maintenu par Erik Andersen, sous licence GNU GPL.De nombreux intégrateurs comme Belkin, D-Link, Linksys, Sharp, Dell, Cyclades, Actiontec, Siemens, U.S Robotics utilisent BusyBox. Un grand nombre de distributions GNU/Linux ont basé leur système d'installation sur BusyBox: Debian, Gentoo, RedHat, Mandrake, tomsrtbt. Un BusyBox de base propose donc par defaut (Documentation officielle):
Le problème est que D-Link a customisé BusyBox lors de sa compilation, et au final on ne dispose que de:
Comme nous le verrons plus loin, certains outils et certaines options indispensables pour bricoler ont été supprimés :-(.
3.5. Connexion Telnet
Avant toute chose, et dés que mon routeur D-Link est été opérationnel, je me suis amusé à le scanner (avec NMap,
ou plus simplement IPScan). Tout semble normal, un port 23 pour Telnet et le port HTTP traditionnel pour l'interface d'administration.:
L'utilitaire client Telnet est disponible sous Windows et Linux de manière assez courante.
Il existe également PuTTY, un client Telnet/SSH pour Windows.
Par defaut, et avec les firmware V1.00B02T02.EU.20040618,V1.00B02T02.UK.20041126, le login Telnet est "root" et le mot de passe est celui utilisé pour l'interface d'administration ( "admin" si vous n'avez rien modifié ). Il semble que les versions plus récentes ont une authentification différente. ![]() Voila, vous pouvez administrer votre serveur en ligne de commande. On aurait bien entendu préféré un accès sécurisé SSH... Il est possible d'autoriser un accès Telnet à une machine distante externe, via l'interface web d'administration: ![]() 3.6. Utiliser TFTP
Qu'est ce que TFTP? TFTP est l'acronyme de "Trivial File Transfer Protocol", cousin du commun FTP. Il s'agit d'une
version allégée de ce dernier. TFTP utilise UDP (User Datagram Protocol), ne propose pas de règles de sécurité. Il est utilisé dans
beaucoup de composants réseaux, notamment pour la sauvegard des fichies de configuration, upgrade des drivers/firmwares.
TFTP est défini par la RFC 1350.
Le routeur G604T embarque donc un client TFTP, packagé dans la BusyBox:
Pour effectuer des échanges TFTP, il faut disposer d'un serveur TFTP. Sous Windows différents outils sont disponibles:
TFTP-Server, SolarWinds TFTP Server.
Différents serveurs sont disponibles pour systèmes GNU/Linux, que ce soit en *.RPM, *.DEB, *.TGZ ...
J'ai donc rapidement installé un serveur sous Windows, créé un dossier root "D:\tftp_share" qui servira de répertoire partagé, et
autorisé l'accès à la machine concernée, le routeur 192.168.1.1 (IP par defaut). ![]() ![]()
En guise d'exercice, nous allons nous amuser à transférer le dossier de l'application web d'administration du routeur vers le serveur TFTP.
Hélas ce n'est pas si simple: on aurait aimé faire un *.TAR du répertoire /usr/www/ pour faire un transfert plus rapide et plus simple. Alors
que la documentation de la BusyBox concernant la commande *.TAR autorise toutes les opérations de base:
L'utilitaire d'archivage de la BusyBox du D-Link G604T ne propose que:
C'est à dire qu'il est impossible de compresser, l'option c "create" n'étant pas supportée :-/. Dommage. La seule solution, si on ve veut pas 3.7. Le monitoring SNMP
D'après des documentations officielles de D-Link, le support SNMP est assuré avec une conformité MIB II. Le problème est que par defaut,
aucun port (le 161 en général pour SNMP) n'est ouvert, et aucun processus /usr/sbin/snmpd n'est démarré. En essayant de le démarré manuellement, c'est l'echec, la session Telnet se ferme. Logique, il n'existe finalement aucun fichier de configuration snmp-conf dans /etc/ ... . Sur ce problème je suis donc preneur de toute information utile. J'ai d'ailleur contacté le support technique D-Link (en Allemagne) à ce sujet.
-- Mise à jour au 01/04/2005 --
Suite à mon call chez D-Link, la réponse est venue après 45 jours d'attente:
Visiblement, la documentation "DSL-G604T-man-v1", m'a induit en erreur, à la page 18 (sur 103), on lit: Full Network Management – The DSL-G604T incorporates SNMP (Simple Network Management Protocol) support for web-based management and text-based network management via an RS-232 or Telnet connection. A vérifier si il n'y a pas un abus de language en utilisant le terme "SNMP", qui en général est utilisé via une collection de MIB propriétaire. Peut-on utiliser le terme SNMP si il ne s'agit que de l'interface d'administration de D-Link et/ou d'un accès Telnet à l'OS embarqué ?. C'est cette dernière question que j'ai posé au support D-Link, sans grand espoir de réponse. Je ne me leurre pas, le SNMP "MIB-based" traditionnel n'est pas supporté par le DSL-G604T, bien qu'un démon "snmpd" soit intégré à la busybox :-/, for world people who asked me many questions about DSL-G604T, the D-Link support team official answer is: "SNMP protocol based on MIB is not supported" !.
-- Mise à jour au 16/05/2005 --
Ne m'étant pas satisfait de la réponse de D-Link, j'ai envoyé une nouvelle question au support:
Le support me réponds doncs aujourd'hui:
Voila, je fais état de mes correspondances avec D-Link, afin de vous éviter les 2 mois d'attente pour 2 questions.
Ma prochaine question est donc: quelles sont donc ces fonctionalités de base ? Pourquoi la documentation dit-elle
que le produit les assure alors que le démon SNMP snmpd n'est pas démarré ?. La suite au prochain épisode... Concerning my last question to D-Link "Why the UK datasheet contains paragaph about SNMP if the product does not support it ?", the D-Link answer is: "D-Link documentation speaks about SNMP, but this is only basic functionalities, SNMPD daemon is not started on Europeen products". 3.8. Le Filtering MAC
A venir prochainement...
3.9. Attribution dynamique DHCP![]()
A venir prochainement...
3.10. Le port forwarding
A venir prochainement...
3.11. Déterminer son MTU
A venir prochainement...
3.12. Console Sony PSP
Disposant d'une console Sony PSP (Playsation Portable), je me suis amusé à tester la connection à l'internet via ce terminal
mobile, via mon réseau wifi du G604T. Le test a été effectué avec le firmware d'origine de mon routeur (le V1.00B02T02.EU.20040618), et j'ai du
upgrader ma PSP vers le firmware Sony PSP 2.0 (au lieu de 1.52), afin d'avoir le navigateur Web natif.
Le résultat est plutot super satisfaisant, la manipulation des paramêtres réseaux coté PSP est bien interfacé par des assistants, et j'ai
pu surfer du premier coup, juste le temps de ressaisir ma clé WEP 128 bits à l'aide du clavier virtuel ;-). Résultat en image: ![]() PSP Developpez.com Firmware 2.0 1.52 4. FAQ - Frequently Asked Questions
1) Do you know if it is possible to see/change the configuration data from the busybox console instead of the web interface?.
This information (configuration data) is stored/accesed from linux code launched when you are surfing around the administration web interface, so
it should be accesible from the busybox console, but I'm unable to locate the files. Perhaps it is accesed/stored from the utility
/usr/www/cgi-bin/firmwarecfg? (Jaume Saura, Espagne) Réponse: Attention, le fichier /etc/config.xml n'est pas la fichier de configuration courant. Il s'agit d'un fichier modèle standard de configuration (configuration par defaut). Le fichier de configuration courante est présent dans la partition 3 de la mémoire flash MTD (mtd3) que l'on trouve ici: /dev/mtdblock. Merci à Jaume Saura pour avoir approfondi la question ;-) 5. Quelques Liens
- DLink France - Support DLink (Allemagne) - Seattle Wireless: DLink DSL-G604T - DSL-302T demystified par Kirillov - Hacking the Actiontec GT701 - Linux-Mips : DSL-xxxT
Copyright (c) 2003-2006 Pierre Chauvin (aka Petrus)- Developpez.com
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. Copy of the GNU Free Documentation Licence |