Skyduino:~#
Articles
Corrigé, projet, tutoriel

[hack] TL-MR3020 + openWRT = bidouillage USB / Wifi / Ethernet

Bonjour tout le monde !

Pour continuer mon projet de « Blyss box DIY » j’ai entrepris d’utiliser un petit routeur usb / wifi / ethernet.
Celui ci va servir de « lien » entre une carte arduino (et mon code BlyssSpoofer / BlyssSniffer) et une interface web (ou autre, à voir).

D’autres membres du forum arduino.cc se sont aussi lancés dans l’aventure, voici un des nombreux topic sur le sujet :
http://arduino.cc/forum/index.php?topic=115889

Le plus gros problème a été de trouver un routeur wifi capable de gérer la situation.
Celui devant respecter les critères suivant :
– être de petite taille, idéalement de la taille d’une carte arduino UNO
– avoir un port usb (ou à défaut un port série) pour connecter la carte arduino
– être compatible avec openWRT (distribution linux pour routeurs)
– avoir un interface réseau : wifi, ethernet ou les deux

Après pas mal de recherche et les conseils avisés des membres du forum arduino deux candidats sont sortis du lot :
– le TL-WR703N (dispo uniquement en chine),
– le TL-MR3020 (dispo en france mais plus chère)

Niveau hardware c’est quasiment la même chose (même chipset Atheros, même RAM, même Flash) à quelques différences prêt (port ethernet blindé vs non blindé, nombre de led, …).

Pour ma part j’ai choisi d’utiliser le TL-MR3020 avec openWRT (version trunk) :
http://wiki.openwrt.org/toh/tp-link/tl-mr3020

Pourquoi le TL-MR3020 et non son clone chinois le TL-WR703N ?
– plus de led = plus de GPIO = plus de possibilités de bidouillage
– connecteur série au pas 2.54mm (pas standard = pas à ce casser la tête avec des fils « volants »)

Bon par contre niveau prix c’est pas du tout la même chose … 17€ environ pour le TL-WR703N sur ebay contre quasiment le double pour le TL-MR3020 sur amazon, ldlc, …
A vous de choisir ;)

Dans ce premier article je vais détailler uniquement la partie hardware. Je parlerai de la partie software dans un article séparé.

La boite :

Si vous lisez mes articles depuis un certain temps déjà vous devez avoir remarqué que j’adore déballer tout ce que je reçois en photo :)
Ce routeur ne fait pas exception, voici donc à quoi ressemble la boite :

Le routeur à l’intérieur de la boite avec son film de protection :

Et tout les accessoires divers et variés :

Un câble mini usb d’alimentation, un adaptateur 5v secteur, un câble ethernet, bref tout le nécessaire pour un utilisateur « classique ».

Le routeur, petit tour du propriétaire :

Le routeur dans son ensemble :

A part la couleur (gris au lieu de bleu) et le duo led + bouton il n’y a aucune différence esthétique avec le TL-WR703N.

Au niveau de la face avant :

On retrouve :
– le port ethernet
– le port mini usb POUR L’ALIMENTATION UNIQUEMENT
– le switch permettant de choisir le mode de fonctionnement du routeur (avec le firmware d’origine)

Sur le côté droit :

On retrouve le port usb permettant (normalement) de connecter un dongle 3G.
Dans mon cas ce sera un hub avec une clef usb (pour le rootfs) et une carte arduino qui seront connectés au port usb.

Sur le dessus :

Les 5 leds :
– power
– 3G
– wifi
– ethernet
– WPS

Et le boutons WPS.

-> 1ère différence avec le TL-WR703N, celui ne possède que 2 led (dont une qui n’est pas montée par défaut) et un bouton reset.

Ps: ceci est un câble ethernet … j’ai pas trop confiance en sa solidité ^^ »

Opération décorticage, ou comment ouvrir un boitier impossible à ouvrir :

Ouvrir le boitier du TL-MR3020 est juste impossible sans un couteau avec une lame très fine (et solide) et beaucoup, beaucoup de patience …

Pour ouvrir le boitier il faut faire sauter les deux clips du capots coloré, tout en glissant une lame tout autour du capot pour briser les points de colle.

Le premier clip se trouve juste au dessus du port mini usb, le second est en face à ~1.5cm à gauche du logo TP-LINK.
Voila ce que ça donne une fois le boitier ouvert :

Vous remarquerez les petites équerres tout autour du boitier qui sont TOUTES collées par ultrason au capot supérieur.

Ps: attention de ne pas vous blesser en glissant la lame du couteaux dans la fente du boitier, un accident est si vite arrivé …

Le circuit électronique :

Une fois le boitier ouvert il est (enfin) possible de voir ce qui ce cache dans la bête :

Le numéro de révision du circuit se trouve sur le connecteur ethernet :

Comme on peut le voir j’ai un version 1 révision 7.

-> 2éme différence avec le TL-WR703N, sur le TL-WR703N le port ethernet est blindé, sur le TL-MR3020 il ne l’est pas …

Le détails du hardware :

J’ai pas vraiment respecté d’ordre particulier, c’est un peu en vrac ;)

Le chipset Atheros + antenne :

Le chipset Atheros est le cœur du routeur, il est composé du CPU et de la partie réseau ethernet / wifi.

Il s’agit d’un chipset Atheros AR9330 révision 1 (= AR9331).
Le cpu à l’intérieur est de la série des AR72xx et plus précisément un AR7240 tournant à 400MHz.

La partie wifi supporte au maximum du 802.11 b/g/n à 150Mbps.
La partie ethernet quand à elle supporte les modes 10Mpbs et 100Mbps.

Le port mini usb d’alimentation et le port usb « classique » :

Le port mini usb n’est là que pour fournir l’alimentation +5v du circuit.
Il ne peut donc pas être utilisé en usb device ou autre.

D’après le wiki d’openWRT le TL-MR3020 peut fonctionner avec des tensions relativement basses de l’ordre de 2.6/2.7v.
Cela laisse donc la possibilité d’utiliser des batteries lipo 1S 3.7v pour l’alimentation (il faudra que je test pour voir).

Le second port usb, plus « classique » peut quand à lui être utilisé en usb host comme n’importe quel port usb normal.
Il suffit d’avoir les drivers adéquat dans son image openWRT et tout ira bien ;)

La RAM et les leds :

La mémoire RAM est d’une taille de 32Mo ce qui laisse pas mal de place pour l’utilisateur.

Quand aux leds elles sont aux nombres de 5 comme je le précisais un peu plus haut.

Le détail du câblage des leds est disponible sur le wiki d’openWRT :
http://wiki.openwrt.org/toh/tp-link/tl-mr3020#leds

La mémoire flash SPI :

La mémoire flash SPI est d’une taille de 4Mo, celle ci est découpée suivant ce plan mémoire si dessous :
mtd0 (128Ko) : u-boot
mtd1 (1Mo) : kernel
mtd2 (2.75Mo) : rootfs
mtd3 (64Ko) : configuration
mtd4 (64Ko) : art (= Atheros Radio Test)

Ne surtout pas toucher à la zone mémoire nommé « ART » sinon le chipset wifi ne fonctionnera plus du tout.

Si jamais vous brickez le bootloader du routeur il est possible de sauver les meubles en dessoudant la flash et en la reliant à un programmateur.

Le wiki d’openWRT fourni même une image d’usine de l’intégralité de la flash :
http://wiki.openwrt.org/toh/tp-link/tl-mr3020#restoring.original.firmware
(2éme lien de la section « link dump »)

Par mesure de sécurité je ferai un dump complet des zone mtd0 et mtd4 …
Mais j’en reparlerai dans l’article sur la partie software ;)

Les boutons :

Il y a deux boutons, câblés sur trois GPIO.
Le premier bouton est de type « bouton poussoir », il est normalement utilisé pour activer l’authentification WPS wifi.
Le second bouton est de type « glissière » et comporte trois positions, il est normalement utilisé pour choisir le mode de fonctionnement du routeur.

Le détail du câblage des boutons est disponible sur le wiki d’openWRT :
http://wiki.openwrt.org/toh/tp-link/tl-mr3020#buttons

Le port série :

C’est la partie la plus intéressante car c’est celui ci qui permet d’accéder au bootloader (u-boot) et de modifier en profondeur le kernel linux et le rootfs du routeur.

Je n’utilise pas la méthode de flash par l’interface web, je trouve ça trop bancale.
La méthode de flash par le bootloader demande une extrême vigilance pour ne pas bricker le routeur mais quand on est habitué c’est beaucoup plus fiable.

Le port série est câblé de la manière suivante :
| (vcc) (gnd) (rx) [tx] |
() représente une pastille ronde et [] la pastille carré (repère de la broche 1).

Le port série est configuré en 115200 bauds, 8 bits de données, 1 bit de start, 1 bit de stop, pas de parité et pas de contrôle de flux.

Problème : le port série est câblé un peu bizarrement, ce qui fait qu’avec certains adaptateurs série -> usb celui ci ne marche pas correctement.
J’ai testé avec mon ftdi basic de sparkfun, effectivement ça ne fonctionnait pas de base.

Mais ne paniquez pas, il suffit de mettre une résistance de 10K entre VCC et Tx pour régler le problème ;)
(Merci à celui qui a pris le temps de rajouter une note à ce sujet dans le wiki d’openWRT, sinon je serait encore en train de chercher le problème ^^)

Histoire de faire les choses propre j’ai fait un adaptateur série -> FTDI basic avec un morceau de pcb qui trainait :

Note: je n’ai pas relié la broche VCC du connecteur FTDI basic au VCC du circuit, ainsi je peux utiliser un ftdi basic 5v ou 3v3 sans problème ;)

Une fois le connecteur série soudé ça donne ceci :

Il suffit ensuite de brancher l’adaptateur sur le connecteur série :

Et le ftdi basic sur l’adaptateur :

Ensuite on branche l’usb d’alimentation et hop tout s’allume !

Et sur le moniteur série on obtient une jolie console série :

U-Boot 1.1.4 (Mar 20 2012 - 11:37:54)

AP121 (ar9330) U-boot

DRAM:  32 MB
led turning on for 1s...
id read 0x100000ff
flash size 4194304, sector count = 64
Flash:  4 MB
Using default environment

In:    serial
Out:   serial
Err:   serial
Net:   ag7240_enet_initialize...
No valid address in Flash. Using fixed address
No valid address in Flash. Using fixed address
: cfg1 0x5 cfg2 0x7114
eth0: 00:03:7f:09:0b:ad
ag7240_phy_setup 
eth0 up
: cfg1 0xf cfg2 0x7214
eth1: 00:03:7f:09:0b:ad
athrs26_reg_init_lan
ATHRS26: resetting s26
ATHRS26: s26 reset done
ag7240_phy_setup 
eth1 up
eth0, eth1
Autobooting in 1 seconds
## Booting image at 9f020000 ...
   Uncompressing Kernel Image ... OK

Starting kernel ...

Booting AR9330(Hornet)...
Linux version 2.6.31--LSDK-9.2.0.312 (root@localhost.localdomain) (gcc version 4.3.3 (GCC) ) #199 Tue Mar 20 11:38:41 CST 2012
flash_size passed from bootloader = 4
CPU revision is: 00019374 (MIPS 24Kc)
Determined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
User-defined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
Zone PFN ranges:
  Normal   0x00000000 -> 0x00002000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00002000
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 8128
Kernel command line: console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ar7240-nor0:128k(u-boot),1024k(kernel),2816(rootfs),64k(config),64k(ART) mem=32M
PID hash table entries: 128 (order: 7, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
Writing ErrCtl register=00000000
Readback ErrCtl register=00000000
Memory: 29876k/32768k available (1884k kernel code, 2892k reserved, 521k data, 116k init, 0k highmem)
Hierarchical RCU implementation.
NR_IRQS:128
plat_time_init: plat time init done
Calibrating delay loop... 266.24 BogoMIPS (lpj=532480)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
===== ar7240_platform_init: 0


Whoops! This kernel is for product mr3020 v1.0!

bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
NET: Registered protocol family 1
AR7240 GPIOC major 0
squashfs: version 4.0 (2009/01/31) Phillip Lougher
NTFS driver 2.1.29 [Flags: R/O].
msgmni has been set to 58
alg: No test for lzma (lzma-generic)
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
ttyS0: detected caps 00000000 should be 00000100
serial8250.0: ttyS0 at MMIO 0xb8020000 (irq = 19) is a 16550A
console [ttyS0] enabled
PPP generic driver version 2.4.2
NET: Registered protocol family 24
cmdlinepart partition parsing not available
set partition boot 
set partition kernel 
set partition rootfs 
set partition config 
set partition art 
set partition ÿ 
Searching for RedBoot partition table
5 RedBoot partitions found on MTD device ar7240-nor0
Creating 5 MTD partitions on "ar7240-nor0":
0x000000000000-0x000000020000 : "boot"
0x000000020000-0x000000120000 : "kernel"
0x000000120000-0x0000003e0000 : "rootfs"
0x0000003e0000-0x0000003f0000 : "config"
0x0000003f0000-0x000000400000 : "art"
->Oops: flash id 0x10215 . 
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Port Status 1c000004 
ar7240-ehci ar7240-ehci.0: ATH EHCI
ar7240-ehci ar7240-ehci.0: new USB bus registered, assigned bus number 1
ehci_reset Intialize USB CONTROLLER in host mode: 3
ehci_reset Port Status 1c000000 
ar7240-ehci ar7240-ehci.0: irq 3, io mem 0x1b000000
ehci_reset Intialize USB CONTROLLER in host mode: 3
ehci_reset Port Status 1c000000 
ar7240-ehci ar7240-ehci.0: USB 2.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
TCP cubic registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
ar7240wdt_init: Registering WDT success
VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
Freeing unused kernel memory: 116k freed
init started:  BusyBox v1.01 (2012.01.16-03:21+0000) multi-call binary
This Board use 2.6.31
xt_time: kernel timezone is -0000
nf_conntrack version 0.5.0 (512 buckets, 5120 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
insmod: cannot open module `/lib/modules/2.6.31/kernel/iptable_raw.ko': No such file or directory
insmod: cannot open module `/lib/modules/2.6.31/kernel/flashid.ko': No such file or directory
PPPoL2TP kernel driver, V1.0
PPTP driver version 0.8.3
insmod: cannot open module `/lib/modules/2.6.31/kernel/harmony.ko': No such file or directory

 (none) mips #199 Tue Mar 20 11:38:41 CST 2012 (none)
(none) login: Now flash open!
Now flash open!
ATHR_GMAC: Length per segment 1536
ATHR_GMAC: fifo cfg 3 01f00140
ATHR_GMAC: Mac address for unit 1:bf1f0006
ATHR_GMAC: 25:51:9d:db:e0:5c 
ATHR_GMAC: Max segments per packet :   1
ATHR_GMAC: Max tx descriptor count :   40
ATHR_GMAC: Max rx descriptor count :   96
ATHR_GMAC: Mac capability flags    :   4D83
ATHR_GMAC: Mac address for unit 0:bf1f0000
ATHR_GMAC: 03:30:dc:d3:6e:49 
ATHR_GMAC: Max segments per packet :   1
ATHR_GMAC: Max tx descriptor count :   40
ATHR_GMAC: Max rx descriptor count :   252
ATHR_GMAC: Mac capability flags    :   4403
athr_gmac_ring_alloc Allocated 640 at 0x81e7d800
athr_gmac_ring_alloc Allocated 4032 at 0x81d61000
Setting Drop CRC Errors, Pause Frames and Length Error frames 
Setting PHY...mac 0
athr_gmac_ring_alloc Allocated 640 at 0x81e7d400
athr_gmac_ring_alloc Allocated 1536 at 0x81f2b000
athr_gmac_mii_setup: MDC check failed
Setting Drop CRC Errors, Pause Frames and Length Error frames 
ATHRS26: resetting s26
ATHRS26: s26 reset done
Setting PHY...mac 1
device eth0 entered promiscuous mode
Now flash open!
nf_conntrack_rtsp v0.6.21 loading
nf_nat_rtsp v0.6.21 loading
asf: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
ath_hal: 0.9.17.1 (AR9380, DEBUG, REGOPS_FUNC, WRITE_EEPROM, 11D)
ath_rate_atheros: Copyright (c) 2001-2005 Atheros Communications, Inc, All Rights Reserved
ath_dev: Copyright (c) 2001-2007 Atheros Communications, Inc, All Rights Reserved
ath_ahb: 9.2.0_U5.508 (Atheros/multi-bss)
Boostrap clock 25MHz
ar9300RadioAttach: Need analog access recipe!!
Restoring Cal data from Flash
ath_get_caps[4735] rx chainmask mismatch actual 1 sc_chainmak 0
ath_get_caps[4710] tx chainmask mismatch actual 1 sc_chainmak 0
wifi0: Atheros 9380: mem=0xb8100000, irq=2
wlan_vap_create : enter. devhandle=0x80d202c0, opmode=IEEE80211_M_HOSTAP, flags=0x1
wlan_vap_create : exit. devhandle=0x80d202c0, opmode=IEEE80211_M_HOSTAP, flags=0x1.
VAP device ath0 created 
 
 DES SSID SET=TP-LINK_POCKET_3020_D6E207 
ieee80211_scan_unregister_event_handler: Failed to unregister evhandler=c0aeb860 arg=80c1aac0
wlan_vap_delete : enter. vaphandle=0x81eaa000
wlan_vap_delete : exit. vaphandle=0x81eaa000
wlan_vap_create : enter. devhandle=0x80d202c0, opmode=IEEE80211_M_HOSTAP, flags=0x1
wlan_vap_create : exit. devhandle=0x80d202c0, opmode=IEEE80211_M_HOSTAP, flags=0x1.
VAP device ath0 created 
 
 DES SSID SET=TP-LINK_POCKET_3020_D6E207 
 ieee80211_ioctl_siwmode: imr.ifm_active=393856, new mode=3, valid=1 
WARNING: Fragmentation with HT mode NOT ALLOWED!!
device ath0 entered promiscuous mode
br0: port 2(ath0) entering forwarding state
 ieee80211_ioctl_siwmode: imr.ifm_active=918144, new mode=3, valid=1 
br0: port 2(ath0) entering disabled state
 
 DES SSID SET=TP-LINK_POCKET_3020_D6E207 
br0: port 2(ath0) entering forwarding state

 TL-MR3020 mips #199 Tue Mar 20 11:38:41 CST 2012 (none)
TL-MR3020 login: root
Password: 5up
Jan  1 00:01:13 login[150]: root login  on `ttyS0'



BusyBox v1.01 (2012.01.16-03:21+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.

# help

Built-in commands:
-------------------
	. : break cd continue eval exec exit export help login newgrp
	read readonly set shift times trap umask wait

# cd /bin
# ls
busybox       df            kill          msh           sh
cat           echo          login         ping          true
chmod         false         ls            ps            umount
date          iptables-xml  mount         rm
#   

Mot de passe par défaut pour la console série :
login = root
password = 5up

Mot de passe par défaut pour l’interface web :
login = admin
password = admin

Ps: Je n’ai pas pris le temps de regarder l’interface web de base …
J’ai juste booté le routeur pour être sûr qu’il fonctionnait puis immédiatement après je l’ai démonté ;)

Prochaines étapes à réaliser :
– Compilation de openWRT trunk pour le TL-MR3020
– Flash du nouveau firmware
– Mise à jour du bootloader u-boot (quoi que celui d’origine semble déjà à jour)
– Boot de la uImage et d’un rootfs sur une partition de la clef usb
– Intégration de la carte arduino avec mon code BlyssSpoofer / BlyssSniffer
– Mise en place d’un GUI html + cgi

Bonus pour les curieux :

Les deux côtés du pcb en haute résolution ;)


Bon WE et bidouillage à tous ! :)

Discussion

25 réflexions sur “[hack] TL-MR3020 + openWRT = bidouillage USB / Wifi / Ethernet

  1. Mmhh .. Projet à suivre.

    Publié par Alex (@venedesign) | 23 septembre 2012, 10 h 48 min
  2. Hello,
    je suis toujours ton superbe blog avec attention, du beau boulot !
    Question sur ce projet la, pourquoi ne pas interfacer directement avec un raspbery Pi qui te permettera d avoir une interface web directement et d interagir avec des arduino via usb? Peut etre n ai je pas tout a fait compris le but de ton interface avec le routeur wifi, mais j ai pu faire ca avec 2 arduino +Pi et ca marche plutot bien !
    a+

    Publié par tibo | 24 septembre 2012, 1 h 30 min
  3. Super Projet !

    J’ai le même router et j’avoue utiliser mon RBP pour avoir une interface web et controler le Arduino.
    L’avantage de ton projet c’est que tu vas probalement économiser le RBP et donc si le projet est embarqué ca va te faire gagner pas mal en conso d’énergie !

    A suivre !

    Publié par vlp | 24 septembre 2012, 8 h 25 min
  4. Superbe article, je suis impressionné.
    Je viens de (re)commander * ce routeur pour une utilisation plus basique pour une tablette,
    mais cela me donne envie de creuser ne serait-ce que pour avoir l’usb host avec open wrt

    * Le premier reconditionné que j’ai reçu ne marchait pas :(

    Publié par Joel | 25 septembre 2012, 22 h 58 min
  5. Bonjour
    super article
    pour ma part j’ai entamé un projet équivalent basé sur un OPENRD base Marvell
    cette box me sert en plus de NAS / firewall / routeur

    Publié par David | 18 octobre 2012, 13 h 49 min
  6. salut SKYWOOD,

    Je trouve ce post particulierement interessent, j’ai moi même un MR3020 sur lequelle j’experimente, mais uniquement au niveau logiciel. J’y ai installer une version openwrt et je doit dire que ca m’apprend beaucoup sur l’administration d’un reseau sous linux, je passe beaucoup de temps sur le site de la distribution et je suis clairement déterminer a connaitre toutes les subtilité de ce routeur. d’ailleurs j’ai une petite question si tu sais y repondre :) car dans les fichiers de configuration des interfaces reseaux en ajoutant une option: « option macadrr ‘xx:xx:xx:xx:xx:xx’ on est sensé pouvoir ainsi y changé l’adresse mac de chipset wifi mais que dalle sa fonctionne pas…
    D’apres ce que j’ai lu il semblerais que pour changer l’adresse mac il faudrait la réecrire sur le mtd4 qui contient des test radio et notement l’adresse en question que ,justement, tu déconseille vivement de toucher… inutile de te dire que j’en brule d’envie :D enfin bon si tu en sais un peu plus je serais ravi d’ecouter tes bon conseils :) avant de faire potentielement une grosse erreur; surtout que je n’ai aucun moyen de réecrire sur la flash.
    Et sinon quand ‘est ce que tu pense ecrire la suite de l’article?! :D

    Publié par karol | 28 décembre 2012, 23 h 54 min
    • >> D’apres ce que j’ai lu il semblerais que pour changer l’adresse mac il faudrait la réecrire sur le mtd4 qui contient des test radio et notement l’adresse en question que ,justement, tu déconseille vivement de toucher…

      Si tu fait une sauvegarde de mtd4 et que ton bootloader est en bonne santé tu peut essayer.
      Mais bon sans connaitre l’architecture des données de config ya peu de chance de faire un truc fonctionnel (ya surement un checksum quelque pars) …

      Normalement tu peut altérer l’adresse mac au niveau du bootloader (uboot), du noyau linux (macchanger) ou du hardware (comment par contre … je sait pas).

      >> surtout que je n’ai aucun moyen de réecrire sur la flash.

      Si le bootloader est vivant tu peut toujours reflasher une sauvegarde en TFTP.
      Ou avec l’outil mtd si le linux boot même aprés tes modifications.

      >> Et sinon quand ‘est ce que tu pense ecrire la suite de l’article?!

      Pour le moment je sait pas, j’ai mis presque un mois à compiler une image openWRT custom à cause de plein de problème avec mon linux …
      Maintenant que le noyau compile je vais essayer de compiler la dernière version de uboot et de balancer le tout sur le routeur.

      Publié par skywodd | 29 décembre 2012, 0 h 51 min
      • merci de repondre aussi vite :)

        est ce que tu aurait des liens/livres ou tout autre documentation a me conseiller car, a t’es réponses, je me rend compte qu’il me manque des conaissances… t’es vachement a l’aise avec des manipulation du genre: installer un bootloader ou utiliser l’outil mtd (c’est une commande asser obscure pour moi…)

        PS: je fait parti d’une communauté de sécurité informatique http://www.zenk-security.com/ on y est plus orienté info mais j’anime principalement la catégorie « électronique » du forum. Je t’invite a venir rendre une petite visite ;D (il faut juste faire ses preuves a travers quelques épreuve pour y acceder afin d’eviter que n’importe qui ne viennent, mais tu est doué et ca ne devrait pas te poser de probleme) on a aussi un irc sur Rizon #Zenk-Security

        Publié par karol | 29 décembre 2012, 1 h 22 min
      • >> est ce que tu aurait des liens/livres ou tout autre documentation a me conseiller car, a t’es réponses, je me rend compte qu’il me manque des connaissances…

        Pas vraiment, je regarde uniquement les doc/manuels et les « how to » des projets que j’utilise.
        C’est tout en anglais mais au moins c’est toujours à jour et (la plupart du temps) c’est trés complet.

        >> t’es vachement a l’aise avec des manipulation du genre: installer un bootloader ou utiliser l’outil mtd (c’est une commande asser obscure pour moi…)

        Vachement à l’aise, non, complétement taré, oui :)
        Je compile et je flash sans me prendre la tête, dans le pire des cas je sait que j’ai de quoi reflasher en dessoudant la puce mémoire donc bon.
        A l »instinct comme on dit ^^

        >> PS: je fait parti d’une communauté de sécurité informatique http://www.zenk-security.com/ on y est plus orienté info mais j’anime principalement la catégorie « électronique » du forum.

        Je connais, c’est le forum avec une espèce de diode comme logo ^^
        J’avais vu passer des photos de votre team sur le site de la ndh (au passage j’ai jamais pu y aller à la ndh … sniff).

        Publié par skywodd | 29 décembre 2012, 22 h 21 min
  7. Je me disais justement que t’etait plutôt du genre à piocher des informations a droite a gauche pour tes projets, mais parfois ça fais du bien de choper un bon livre/doc de référence et se laisser guider par l’expert .

    Je devrais investir dans du matos genre: programateur pour microcontroleur ou eeprom ca me donnera une autonomie et peut etre faciliterai les choses pour experimenter moi-même.. il me semblais avoir lu de toi que ton père etait électronicien, j’imagine que sa aide un peu ?

    En effet c’est bien nous! je ne suis jamais aller non plus à la NDH.. mais peut être cette année qui sait? je me suis bien entendu avec certain membres donc peut être que ya moyen que je me motive.

    Amicalement

    Publié par karol | 2 janvier 2013, 16 h 56 min
    • >> Je devrais investir dans du matos genre: programmateur pour microcontrôleurs ou eeprom ca me donnera une autonomie et peut etre faciliterai les choses pour experimenter moi-même..

      Moi j’ai juste une carte bus pirate et un programmateur AVR Pocket.
      Pas besoin de matos bien spécial, la plus pars du temps je bricole ce dont j’ai besoin avec une carte arduino, arm ou autre.

      Par contre d’ici la fin du mois je vais me prendre un oscilloscope numérique (mon vieux coucou analogique est hs) , ça c’est vraiment un outil impératif pour bricoler du hardware.

      >> il me semblais avoir lu de toi que ton père etait électronicien, j’imagine que sa aide un peu ?

      Ouaip, et j’arrive à récupérer des trucs sympa par moment.

      Publié par skywodd | 2 janvier 2013, 17 h 26 min
  8. J’ai dd-wrt sur mon routeur mr 3020 et impossible de flasher pour remettre le firmware original même avec la bidouille arduino et encore moins par wifi

    Publié par yan | 10 février 2013, 18 h 50 min
  9. Merci pour le lien j’ai une connexion avec Telnet sur le routeur Mr3020 avec une belle fenêtre root@DD-wrt :~#
    je tape quoi maintenant en ligne de commande , pas d’accès internet et comment faire reconnaitre une clé usb
    sur le routeur et faire une copie du firmware dedans ?

    Publié par yan | 14 février 2013, 11 h 12 min
    • Pourquoi installer DD-WRT quand on peut installer openWRT qui supporte 100x mieux ce routeur …

      Pour copier une partition de la flash il faut utiliser la commande dd pour copier la partition dans /tmp puis la récupérer par scp.
      Pour écrire un firmware il faut utiliser la commande mtd en « write » sur la pseudo partition « firmware » (enfin sous openWRT ces son nom).

      Ne surtout pas toucher à la partition mtd0 (uboot) et mtd4 (ART).

      Je suis en train de rédiger la suite de l’article avec un tutoriel pour flasher le routeur justement.

      Publié par skywodd | 14 février 2013, 11 h 27 min
  10. bonjour
    j’aimerai savoir si je peux utiliser ce routeur comme par feu.
    J’aimerai surveiller une machine qui est sur mon reseau.
    merci a vous

    Publié par neoloop20mika | 20 mars 2013, 21 h 02 min
    • C’est un linux tout ce qui a de plus classique, avec iptables, fail2ban, … suffit juste de compiler / installer les paquets en question.

      Aprés … un par-feu avec un seul port ethernet … je vois pas l’intérêt.

      Publié par skywodd | 21 mars 2013, 17 h 52 min
  11. bonsoir
    J’ai le mm produit LT-MR3020
    Il me demande un mots de passe qaund le demarre la 3G et je ne sais pas comment faire svp aider moi

    Publié par fati | 16 octobre 2013, 18 h 53 min
  12. Bonjour,
    J’aimerais flasher ce TL-MR3020.
    Actuellement, le firmware Ripe Atlas m’empêche d’accéder à la page principale via un simple browser.

    Je vais donc devoir y accéder via tftp mais n’y connaissant rien en Linux, j’aimerais le faire sous Windows.
    La bête est déjà démontée et reliée à un FTDI.

    Est-ce possible et existe-t-il un tuto qui pourrait m’y aider ?

    Mille mercis !

    Publié par Damien | 25 août 2014, 13 h 49 min

Rétroliens/Pings

  1. Pingback: [hack] TL-MR3020 + openWRT | Actu-Radioamateur [hack] TL-MR3020 + openWRT | L'actualité radioamateur, et nouvelle technologie… - 10 octobre 2012

  2. Pingback: starena | Pearltrees - 10 octobre 2012

  3. Pingback: Astuces et Bricolage Informatique | Pearltrees - 23 juin 2013

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Archives

Wow. Dogecoin. Amaze.

Laissez un tip en Dogecoin

DMMNFk6WBVTpx2Wu1Z35GL61QXSd6r6WQx

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 768 autres abonnés