1. Le matériel: D-Link Wireless ADSL Router DSL-G604T

Image non disponible

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

  • Partage d'un accès Internet ADSL (jusqu'à 253 machines)
  • Modem ADSL intégré (PPPoE, PPPoA, IPoA)
  • Interfaces: 4 ports 10/100Base RJ45, 1 port ADSL WAN RJ11, point d'accès Wireless 802.11g 54Mbs
  • Serveur et client DHCP intégrés
  • Routage statique et dynamique (RIP v1/v2)
  • Routage avec translation d'adresse NAT
  • Sécurité: Support VPN (PPTP/L2TP/IPSec), DMZ, Firewall SPI, Filtrage IP, Filtrage MAC, WEP 128 bits, et WPA 256 bits, masquage SSID
  • Administration: Serveur Web et Telnet, UPnP
  • Antenne amovible, sur connecteur RP-SMA (Reverse Polarity SMA ou SMA inverse, avec le mâle sur le boitier)
  • Bloc d'alimentation externe
  • Dimensions : 180 x 141 x 30 mm
  • Livré avec câbles Ethernet et télephone
  • Administration: Serveur Web et Telnet, UPnP

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

Standards ANSI T1.413 issue 2
ITU G.992.1 (G.dmt)
ITU G.992.2 (G.lite)
ITU G.994.1 (G.hs)
IEEE 802.3
IEEE 802.3u
IEEE 802.11
IEEE 802.11b
IEEE 802.11g
Ports RJ-11 Port for Connection to ADSL
Four 10/100Mbps Ethernet LAN Ports for Connection to Ethernet-enalbed devices
Device Management Telnet
HTTP Web Management
TFTP for Firmware Upgrade
DSL Data Rates DMT full rate downstream (up to 8Mbps)
DMT full rate upstream (up to 640Kbps)
G.lite ADSL downstream (up to 1.5Mbps)
G.lite ADSL upstream (up to 512Kbps)
Operating System MontaVista Real-Time Linux based
Software Features Dynamic Learning (Up to 256 MAC Addresses)
DHCP Server and Client
Routing Protocols Supported TCP/UDP, ARP, RARP, ICMP, DHCP, DNS, RIPv1 (RFC 1058), RIP v2 (RFC1389), IGMP, PPPoE, IGMP, P2PP VPN Pass Through
L2TP
PPTP
IPSec
Wireless Data Rates IEEE 802.11b: 11, 5.5, 2, and 1Mbps
IEEE 802.11g: 54, 48, 36, 24, 18, 12, 9, 6Mbps
Media Access Protocol DSMA/CA with ACK
Wireless Security WEP: 64/128/256-bit
WPA (IEEE 802.1x + TKIP)
Wireless Frequency Range 2400 ~ 2484.5Mhz ISM Band
Radio and Modulation Type IEEE 802.11b: DQPSK, DBPSK, DSSS, and CCK
IEEE 802.11g: BPSK, QPSK, 16QAM, 64QAM. OFDM
Channels 11 Channels (US)
13 Channels (Europe and Japan)
LEDs Power
Status
WLAN
ADSL Link/Act
Ethernet Link/Act
Ethernet 10/100M
Power Output: 12V AC, 1.2A
Max Power Consumption: 12W
Operating Temperature 0º to 40ºC (32ºF to 104ºF)
Storage Temperature -20º to 70ºC (-4ºF to 158ºF)
Certifications FCC Part 15 Class B
FCC Part 68
IEC 60950
EN 60950
CSA 950
CE Mark
UL 1950 3rd Ed
Dimensions 7.07in x 5.59in x 1.18in
Weight 0.8lbs
Warranty 1 Year

Outre cette matrice officielle distribuée par D-Link, on notera d'autres informations importantes sur ce matériel:

  • Micro-processeur Texas Instrument TNETD7300 AR7W MIPS 4KEc
  • 16mb RAM module Hynix HY57V281620HCT
  • 4mb de mémoire flash Atmel AT49BV322A, avec un File System SquashFS
  • Chipset WiFi VLINQ
Image non disponible

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.

  • MIPS32® 4KEc® Processor Core Data Sheet: http://wpetrus.developpez.com/linux/g604tfr/fichiers/4KE.pdf
  • AR7W Chipset descirption: http://wpetrus.developpez.com/linux/g604tfr/fichiers/ar7wi_prod_bulletin.pdf

3. Remarques firmware et software

3.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:

Image non disponible
Image non disponible

... ou bien via une commande shell avec telnet:

 
Sélectionnez

# # cat /etc/versions
# CUSTOMER=DLinkEU
# MODEL=DSL-G604T
# VERSION=V1.00B02T02.EU.20040618
# HTML_LANG=EN
# BOARD=AR7WRD
# VERSION_ID=EU
# CPUARCH_NAME=AR7
# MODEL_ID=604
# FSSTAMP=20040618180732

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.

Mise à jour du 27/12/2005 ! Depuis la version initiale de ce document, les firmwares ont évolués, de façon assez lente à mon goût. Néanmoins, on peut maintenant trouver une version V2.00 Européen sur le serveur FTP russe de D-Link, qui concerne les abonnements ASDL2+. Le changelog de cette version nommée V2.00B01T01.EU.20050930 est plutot simple:

 
Sélectionnez

1. Fix DMZ issue.
2. Fix IGMP package flood.
3. More than 15 rules in Advanced/Filter and Advanced/Bridge Filter.
4. Adjust parameters to avoid the lack of NAT sessions issue while using P2P
HISTORY NOTES
* Fix multiple bridge(PVC) issue for DSL-G6xxT series models.(2005/08/15)
* Fix it can not add staic route rule into routing table after system save and reboot.(2005/06/30)

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

Image non disponible

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):

 
Sélectionnez

# cat /proc/version
Linux version 2.4.17_mvl21-malta-mips_fp_le (jordan@Jordan_Linux) 
(gcc version 2.95.3 20010315 (release/MontaVista)) #60 ¶g¤­ 6¤ë 18 14:13:34 CST 2004
#
			  	

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

Image non disponible

3.3.1. Informations CPU

 
Sélectionnez
# cat /proc/cpuinfo
processor               : 0
cpu model               : MIPS 4KEc V4.8
BogoMIPS                : 149.91
wait instruction        : no
microsecond timers      : yes
extra interrupt vector  : yes
hardware watchpoint     : yes
VCED exceptions         : not available
VCEI exceptions         : not available
#

3.3.2. Informations Mémoire

 
Sélectionnez
# cat /proc/meminfo
        total:    used:    free:  shared: buffers:  cached:
Mem:  14974976 12541952  2433024        0  1368064  4218880
Swap:        0        0        0
MemTotal:        14624 kB
MemFree:          2376 kB
MemShared:           0 kB
Buffers:          1336 kB
Cached:           4120 kB
SwapCached:          0 kB
Active:           2672 kB
Inactive:         4436 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:        14624 kB
LowFree:          2376 kB
SwapTotal:           0 kB
SwapFree:            0 kB
#

3.3.3. Informations "File System et Mounting"

 
Sélectionnez
# cat /proc/mounts
/dev/mtdblock/0 / squashfs ro 0 0
none /dev devfs rw 0 0
proc /proc proc rw 0 0
ramfs /var ramfs rw 0 0
 
Sélectionnez
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/mtdblock/0           1984      1984         0 100% /
#

3.3.4. Processus courants

 
Sélectionnez
# ps aux
  PID  Uid     VmSize Stat Command
    1 root       1284 S    init
    2 root            S    [keventd]
    3 root            S    [ksoftirqd_CPU0]
    4 root            S    [kswapd]
    5 root            S    [bdflush]
    6 root            S    [kupdated]
    7 root            S    [mtdblockd]
   26 root            D    [adsl]
   32 root       1664 S    /usr/bin/cm_pc
   34 root       1392 S    /usr/sbin/thttpd -g -d /usr/www -u root -p 80 -c /cg
   35 root       1292 S    /usr/sbin/diap
   37 root       1284 S    init
   39 root       2892 S    /usr/bin/cm_logic -m /dev/ticfg -c /etc/config.xml
   40 root       1276 S    /usr/bin/cm_monitor
  255 root        632 S    /sbin/dproxy -c /etc/resolv.conf -d
  276 root       2344 S    /usr/sbin/pppd plugin pppoe nas0 user xxxxxxx@xxxxx
  405 root        684 S    /usr/sbin/udhcpd /var/tmp/udhcpd.conf
  535 root       1288 S    /bin/sh -c /usr/sbin/user_drv
  536 root       4248 S    /usr/sbin/user_drv
  537 root       4248 S    /usr/sbin/user_drv
  538 root       4248 S    /usr/sbin/user_drv
  539 root       4248 S    /usr/sbin/user_drv
  541 root       4248 S    /usr/sbin/user_drv
  556 root        616 S    /sbin/utelnetd
  557 root       1288 S    -sh
  558 root       1284 R    ps aux
#

3.3.5. Modules noyau

 
Sélectionnez
# lsmod
Module                  Size  Used by
tiwlan                 67816   2
ip_nat_talk             3080   0 (unused)
ip_conntrack_talk       2908   2
ip_nat_tftp             2280   0 (unused)
ip_conntrack_tftp       2204   1
ip_nat_irc              3224   0 (unused)
ip_conntrack_irc        3836   1
ip_nat_h323             3344   0 (unused)
ip_conntrack_h323       3068   1
ip_nat_ftp              4056   0 (unused)
ip_conntrack_ftp        5004   1
ipt_multiport            972   0 (unused)
ipt_REDIRECT            1044   0 (unused)
ipt_limit               1356   0 (unused)
ipt_TCPMSS              2956   1
ipt_state                920   3
ipt_MASQUERADE          1684   1
iptable_nat            22856   6 [ip_nat_talk ip_nat_tftp ip_nat_irc ip_nat_h323 ip_nat_ftp 
ipt_REDIRECT ipt_MASQUERADE]
iptable_filter          2076   0 (unused)
ip_conntrack           29648   8 [ip_nat_talk ip_conntrack_talk ip_nat_tftp ip_conntrack_tftp 
ip_nat_irc ip_conntrack_irc ip_nat_h323 ip_conntrack_h323 ip_nat_ftp ip_conntrack_ftp ipt_REDIRECT 
ipt_state ipt_MASQUERADE iptable_nat]
ip_tables              14656  10 [ipt_multiport ipt_REDIRECT ipt_limit ipt_TCPMSS ipt_state 
ipt_MASQUERADE iptable_nat iptable_filter]
bridge                 29456   1
tiatm                 113704   1
#

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):

 
Sélectionnez
 ./busybox
BusyBox v1.00 (2004.10.13-04:49+0000) multi-call binary

Usage: busybox [function] [arguments]...
   or: [function] [arguments]...

        BusyBox is a multi-call binary that combines many common Unix
        utilities into a single executable.  Most people will create a
        link to busybox for each function they wish to use, and BusyBox
        will act like whatever it was invoked as.

Currently defined functions:

	[, addgroup, adduser, adjtimex, ar, arping, ash, awk, basename, bunzip2,
	busybox, bzcat, cal, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp,
	cp, cpio, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser,
	devfsd, df, dirname, dmesg, dos2unix, dpkg, dpkg-deb, du, dumpkmap,
	dumpleases, echo, egrep, env, expr, false, fbset, fdflush, fdformat, fdisk,
	fgrep, find, fold, free, freeramdisk, fsck.minix, ftpget, ftpput, getopt,
	getty, grep, gunzip, gzip, halt, hdparm, head, hexdump, hostid, hostname,
	httpd, hush, hwclock, id, ifconfig, ifdown, ifup, inetd, init, insmod,
	install, ip, ipaddr, ipcalc, iplink, iproute, iptunnel, kill, killall,
	klogd, lash, last, length, linuxrc, ln, loadfont, loadkmap, logger, login,
	logname, logread, losetup, ls, lsmod, makedevs, md5sum, mesg, mkdir,
	mkfifo, mkfs.minix, mknod, mkswap, mktemp, modprobe, more, mount, msh, mt,
	mv, nameif, nc, netstat, nslookup, od, openvt, passwd, patch, pidof, ping,
	ping6, pipe_progress, pivot_root, poweroff, printf, ps, pwd, rdate,
	readlink, realpath, reboot, renice, reset, rm, rmdir, rmmod, route, rpm,
	rpm2cpio, run-parts, rx, sed, seq, setkeycodes, sha1sum, sleep, sort,
	start-stop-daemon, strings, stty, su, sulogin, swapoff, swapon, sync,
	sysctl, syslogd, tail, tar, tee, telnet, telnetd, test, tftp, time, top,
	touch, tr, traceroute, true, tty, udhcpc, udhcpd, umount, uname,
	uncompress, uniq, unix2dos, unzip, uptime, usleep, uudecode, uuencode,
	vconfig, vi, vlock, watch, watchdog, wc, wget, which, who, whoami, xargs,
	yes, zcat

Le problème est que D-Link a customisé BusyBox lors de sa compilation, et au final on ne dispose que de:

 
Sélectionnez
# cd /bin/
#
# ls -l
lrwxrwxrwx    1 500      500             7 Jun 18  2004 ash -> busybox
-rwxr-xr-x    1 500      500        346400 Jun 18  2004 busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 cat -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 chgrp -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 chmod -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 chown -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 cp -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 date -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 dd -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 df -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 echo -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 false -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 grep -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 hostname -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 kill -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 ln -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 login -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 ls -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 mkdir -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 mount -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 mv -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 ping -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 ps -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 pwd -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 rm -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 sh -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 sleep -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 sync -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 tar -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 touch -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 true -> busybox
lrwxrwxrwx    1 500      500             7 Jun 18  2004 umount -> busybox

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.:

 
Sélectionnez
C:\Program Files\nmap-3.81>nmap -A -T4 192.168.1.1
Starting nmap 3.81 ( http://www.insecure.org/nmap ) at 2005-03-04 23:13 Paris, Madrid
Interesting ports on g604t.domain (192.168.1.1):
(The 1661 ports scanned but not shown below are in state: closed)
PORT   STATE SERVICE VERSION
23/tcp open  telnet?
80/tcp open  http?
MAC Address: 00:0F:3D:8B:54:BF (D-Link)
Device type: general purpose
Running: Linux 2.4.X|2.5.X
OS details: Linux 2.4.0 - 2.5.20
Uptime 0.546 days (since Fri Mar 04 10:08:27 2005)
				

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.

Image non disponible


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:

Image non disponible

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:

 
Sélectionnez

tftp
    tftp [OPTION]... HOST [PORT] 
    Transfers a file from/to a tftp server using ``octet'' mode.
    Options:
        -l FILE Local FILE.
        -r FILE Remote FILE.
        -g      Get file.
        -p      Put file.
        -b SIZE Transfer blocks of SIZE octets.
				

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).

Image non disponible
Image non disponible

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:

 
Sélectionnez

tar
    tar -[czjZxtvO] [-X FILE][-f TARFILE] [-C DIR] [FILE(s)] ... 
    Create, extract, or list files from a tar file.
    Options:
        c               create
        x               extract
        t               list
    Archive format selection:
        z               Filter the archive through gzip
        j               Filter the archive through bzip2
        Z               Filter the archive through compress
    File selection:
        f               name of TARFILE or "-" for stdin
        O               extract to stdout
        exclude         file to exclude
        X               file with names to exclude
        C               change to directory DIR before operation
        v               verbosely list files processed
    Example:
        $ zcat /tmp/tarball.tar.gz | tar -xf -
        $ tar -cf /tmp/tarball.tar /usr/local
				

L'utilitaire d'archivage de la BusyBox du D-Link G604T ne propose que:

 
Sélectionnez

Usage: tar -[xtvO] [-f TARFILE] [-C DIR] [FILE(s)] ...
				

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:

 
Sélectionnez
Cher client,
Ce point d'accès n'ai pas SNMP.
Aucune des documentation technique ne le mentionne (datasheet anglaise ou
française).
Le manuel anglais ne le mentionne pas non plus.
Nous serions heureux de voir la documentation qui nous vous aurait induit
en erreur.

Cordialement,

Service technique

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:

 
Sélectionnez
Concernant le modem DSL-G604T, votre réponse est qu'il ne supporte pas
SNMP.

Que signifie cette documentation (pdf page 18):
ftp://ftp.dlink.co.uk/dsl_routers_modems/dsl-g604t/dsl-g604t_man_v1.pdf

Il supporte bien SNMP non ? Quels sont les moyens dont je dispose pour
accéder à cette interface via MIB ?

Je vous remercie d'avance de votre réponse,

Cordialement,

Pierre Chauvin

Le support me réponds doncs aujourd'hui:

 
Sélectionnez
Bonjour Monsieur,

Le manuel du DSL-G604T fait en effet mention de fonctions SNMP.
Il s'agit en réalité de fonctions de base mais  sachez que le deamon SNMP
n'est pas activé à ce jour sur les produit européens.

Cordialement,

le Service Technique

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

Image non disponible

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
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