WR703N + VinciDuino

AAAaaarrrrrgggghhhh =(

Ce qui devait arriver arriva !

BRICK

[    1.150000] TCP cubic registered

[    1.150000] NET: Registered protocol family 17
[    1.150000] 8021q: 802.1Q VLAN Support v1.8
[    1.160000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[    1.170000] Freeing unused kernel memory: 204k freed
mkdir: can't create directory '/dev/shm': Read-only file system
mkdir: can't create directory '/dev/pts': Read-only file system
mount: mounting devpts on /dev/pts failed: No such file or directory
/etc/preinit: line 1: can't create /dev/null: Read-only file system
/etc/preinit: line 1: can't open : no such file
[    2.360000] Kernel panic - not syncing: Attempted to kill init!




J'arrive même pas au failsafe =( =( =(


Je vais devoir tenter un reflashage depuis U-Boot
Mais j'ai des doutes sur l'opération.
Tout d'abord, la map de la flash telle que donnée dans le wiki d'openWRT est :


dev:    size  erasesize  name
mtd0: 00020000 00010000 "u-boot"
mtd1: 000d9fa8 00010000 "kernel"
mtd2: 002f6058 00010000 "rootfs"
mtd3: 000f0000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 003d0000 00010000 "firmware"




D'où je déduit


u-boot 00000000 020000
kernel 00020000 0d9fa8
rootfs 000f9fa8 2f6058
rootfs_data 003f0000 0f0000
art 004e0000 010000
firmware 004f0000 3d0000
end 008c0000




ce qui ne marche pas pour une flash de 4MB !!!!

Mais dans u-boot je vois :


> bootargs=console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init **mtdparts=ar7240-nor0:256k(u-boot),64k(u-boot-env),2752k(rootfs),896k(uImage),64k(NVRAM),64k(ART)**



ce qui donne



u-boot 00000000 040000
u-boot-env 00040000 010000
rootfs 00050000 2b0000
kernel/uImage 00300000 0e0000
nvram 003e0000 010000
art 003f0000 010000
end 00400000




un peu plus logique

[u]Question 1:[/u]
Docteur je reflashe quoi ?
Juste le firmware ou aussi le rootfs ?

[u]Question 2:[/u]
Le Wiki d'OpenWRT décrit une méthode via liaison série mais apparemment l'u-boot d'origine du WR703 ne la supporte pas. Juste tfptboot.
Bon, apparemment y'a déjà tftp-hpa sur mon Xubuntu, je vais apprendre ....

[u]Question 3:[/u]
Est-ce que quelqu'un pourrait me confirmer les commandes u-boot pour l'opération.
Le wiki donne ceci pour remettre le firmware d'origine :



tftpboot 0x81000000 xxxx.bin
erase 0x9f020000 +0x3c0000
cp.b 0x81000000 0x9f020000 0x3c0000
bootm 9f020000



Qui n'est même pas correct par rapport à la map donnée parle wiki (kernel + rootfs = d9fa8 + 2f6058 = 3d0000 et non pas 3c0000)

Bref, je suis un peu perdu....

Merci d'avance

EDIT : Bon, ben j'ai suivit la méthode du Wiki et c'est repartit.

EDIT2: Je crois qu'il va falloir que je sauvegarde le contenu total de ma flash, y compris ART et que je m'achète quelques flash de rab parce que avec 15 à 20 reflashage par jour depuis une semaine ...

Bienvenue au club :grin:

Bon, ça a l'air d'être reparti, non ?

Pas de panique côté nombre de reflashage: le chip Flash SPI est donné pour 100 000 cycles. A coup de 20 par jour, tu en as pour 13 ans :roll_eyes:

Mais je te conseilles d'expérimenter le noyau en mettant tes expériences sous forme de modules chargeables à la main, avant de l'intégrer en fixe, cela évite pas mal de déboires !

Sinon, pour les bidouilleurs fous, j'ai beaucoup travaillé pour trouver le pinout du chip Atheros AR9331 (CPU du WR703N), le résultat est là :
http://wiki.openwrt.org/toh/tp-link/ar9331_pinout

J'avais déjà fais une étude détaillée du PCB:
http://wiki.openwrt.org/toh/tp-link/tl-wr703n_pcb

Merci

Le modules chargeables à la main c'est avec CONFIG_xxx=m au lieu de =y ?
Mais ne faut-il pas modprobe pour les charger alors ? J'ai pas trouvé modprobe sur OpenWRT

Et bon boulot sur le pinout !

barbudor:
Le modules chargeables à la main c'est avec CONFIG_xxx=m au lieu de =y ?
Mais ne faut-il pas modprobe pour les charger alors ? J'ai pas trouvé modprobe sur OpenWRT

Oui, et "modprobe" n'est qu'une surchouche à "insmod"/"rmmod" qui tente d'installer/enlever les modules dépendants, donc on peut facilement se débrouiller avec "isnmod"/"rmmod" qui eux sont présents.

barbudor:
Et bon boulot sur le pinout !

Merci ! C'était pour inaugurer ma loupe binoculaire toute neuve (en promo chez Nature & Decouvertes à 140€, -30% :astonished:).

Maintenant, y a plus qu'à bricoler avec le VinciDuino, vu qu'il n'y a pas assez de GPIO de dispo XD

Squonk42:

barbudor:
Le modules chargeables à la main c'est avec CONFIG_xxx=m au lieu de =y ?
Mais ne faut-il pas modprobe pour les charger alors ? J'ai pas trouvé modprobe sur OpenWRT

Oui, et "modprobe" n'est qu'une surchouche à "insmod"/"rmmod" qui tente d'installer/enlever les modules dépendants, donc on peut facilement se débrouiller avec "isnmod"/"rmmod" qui eux sont présents.

barbudor:
Et bon boulot sur le pinout !

Merci ! C'était pour inaugurer ma loupe binoculaire toute neuve (en promo chez Nature & Decouvertes à 140€, -30% :astonished:).

Maintenant, y a plus qu'à bricoler avec le VinciDuino, vu qu'il n'y a pas assez de GPIO de dispo XD

bonjour
Juste pour dire que je suis tout ça du coin de l’œil avec intérêt.
et j'imagine bien le temps passé :blush:
mais arrangez vous pour que tous ça soit au point mi-septembre :grin:
c'est à partir de cette date que je vais récupérer mes "WRT" 8)

Et avec un paquet cadeau aussi ? ]:smiley:

Je ferais un résumé pour quick-starter quand j'aurais quelque chose qui marche.
Pour l'instant je vais arrêter de bidouille la config du OpenWRT. C'est satisfaisant bien que j'ai quelques soucis pour mixer Ethernet et WIfi en même temps.

Cette semaine je me concentre sur un hello world : environnement de développement, test sur PC, test sur WR703, dialogue avec Arduino.
Mon idée est d'arriver à avoir une couche Serial similaire a celle de l'Arduino ce qui sera plus facile pour ceux qui veulent passer de l'une a l'autre. Et peut être quelque chose aussi de similaire a EthernetClient/EthernetServer.

barbudor:
Et avec un paquet cadeau aussi ? ]:smiley:

:grin:
D'accord mais le paquet avec un joli cerclage en bolduc :grin:

Artouste:
Juste pour dire que je suis tout ça du coin de l’œil avec intérêt.

De même, je reste dans l'ombre en attendant que le matos arrive :grin:

barbudor:
Et avec un paquet cadeau aussi ? ]:smiley:

Oublie pas le papier bulle, le papier bulle c'est la vie 8)

Moi aussi ça me plait bien votre bidouille.... je surveille aussi XD

Re,

Je viens de découvrir que U-boot (en derniére version et avec certain cpu) supporter le boot directement depuis une clef usb :astonished:
Faut recompiler avec les #define qui vont bien par contre (pas un gros probléme).

J'ai pas regarder si le WR703N était dans la liste mais ça pourrait être un truc tiptop (boot de la uImage depuis la clef usb, pivot pour avoir le rootfs sur la clef usb et hop plus besoin de flasher la flash)
Va falloir que j'approfondisse mes recherches sur le sujet !

Ca ça serait pas mal !

On pourrait faire comme le Raspberry Pi avec les cartes SD : on change de clé USB et hopla !

Mais attention, l'alim de l'USB Host est pilotée par la GPIO8, donc il faudra la mettre à 1 avant d'y accéder pour que l'USB fonctionne.

Bonne idée
Pour l'instant je n'ai pas reflashé le u-boot. Je garde celui d'origine de TP-Link.
Il est un peu limité par rapport a d'autre que j'avais vu.
Par exemple pas de possibilité de sauvegarder les modifs des variables.

Je me demande si ce n'est pas par limitation de taille de flash ?
Mais si on ne se sert plus de la flash hormis le boot, on peut prendre toute la place.

Tout à fait d'accord, le U-Boot du WR703N est assez limité! Juste pour info, pour arrêter le boot normal et obtenir le prompt U-Boot, il faut taper "tpl" rapidement au tout début. C'est écrit quelque part dans le Wiki OpenWRT, mais au moins, cela évitera à tout le monde de chercher !

Un autre truc que j'ai utilisé ailleurs et pas encore sur le WR703N, c'est la possibilité de monter le rootfs par NFS: il n'y a alors plus besoin de recopier les modifs sur le filesystem du routeur lors du développement à chaque fois, celles-ci apparaissent de manière magique au fur et à mesure 8)

Voici un projet intéressant au sujet du U-Boot sur le WR703N: wr703n-uboot-with-web-failsafe

Une petite mise à jour concernant le WR703N : après avoir décortiqué le brochage du CPU AR9331, je continue mon exploration avec le PCB complet.

Le rôle de chaque composant est maintenant identifié, et à part la datasheet du AR9331 que nous n'aurons probablement jamais, il ne reste que 2 chips non formellement identifiés, bien que leur fonction soit parfaitement connue: U5 (convertisseur DC/DC 5V/3.3V avec diode Schottky intégrée) et U6 (switch d'alimentation USB).

Voici 2 images du PCB "zoomables" avec la molette du mulot :astonished::

http://zoom.it/4ym9
http://zoom.it/nsDQ

Les mêmes images en HR "fixes":

http://img684.imageshack.us/img684/3559/tlwr703ntop.jpg
http://img253.imageshack.us/img253/1109/tlwr703nbottom.jpg

Notez que les 2 images se superposent parfaitement et que l'on peut donc par transparence suivre les vias :grin:

Non, je n'ai pas d'image des couches internes =(

Scanné ? Pour faire une photo de carte sans ombres je ne vois que çà comme solution :wink:
Merci, je vais arrêter de me bousiller les yeux.
Je pense que tu as inversé U5 et U6 dans ta description.

barbudor:
Scanné ? Pour faire une photo de carte sans ombres je ne vois que çà comme solution :wink:
...

Bonjour barbudor
il y a aussi la technique de l’éclairage scyalitique, qui permet de faire des photos sans ombres portées et avec une profondeur de champ "assez importante" selon les optiques choisies.
mais pour du PCB la technique scanner est souvent suffisante, encore que la profondeur de champ est tres restreinte

barbudor:
Scanné ? Pour faire une photo de carte sans ombres je ne vois que çà comme solution :wink:
Merci, je vais arrêter de me bousiller les yeux.

Non, avec reflex APN 5 MPX avec éclairage fort par le dessus. Etant donnée la faible hauteur des composants, les ombres ne sont pas trop visibles. On arrive à avoir 1000 dpi avec une bonne profondeur de champ, ce qui n'est pas le cas avec un scanner à plat, même si avec les scanners modernes (pas comme le mien !), la résolution est supérieure.

Barbudor, pour ne pas abimer tes beaux yeux XD, voici des photos du PCB nu auxquelles j'ai contribué, cette fois-ci avec un reflex APN 8 MPX avec 1600 dpi:

Je suis assez silencieux en ce moment car je prépare une surprise, et je ne dirais qu'une chose : faites chauffer EagleCAD :zipper_mouth_face:

barbudor:
Je pense que tu as inversé U5 et U6 dans ta description.

Heu, non ?

U5 est bien un convertisseur DC/DC 5V/3.3V avec diode Schottky intégrée et sa self à noyau ferrite L14 juste à côté, et U6 est bien un switch d'alimentation USB, placé sous le connecteur d'alim microUSB.

Squonk42:
Je suis assez silencieux en ce moment car je prépare une surprise, et je ne dirais qu'une chose : faites chauffer EagleCAD :zipper_mouth_face:

Et moi je procrastine... pas bougé depuis 15j....

barbudor:
Je pense que tu as inversé U5 et U6 dans ta description.

Heu, non ?

U5 est bien un convertisseur DC/DC 5V/3.3V avec diode Schottky intégrée et sa self à noyau ferrite L14 juste à côté, et U6 est bien un switch d'alimentation USB, placé sous le connecteur d'alim microUSB.
[/quote]
Ok.
L'emplacement ne me paraissait pas logique : régulateur sous l'USB de "sortie" et switch sous l'USB d'entrée ?
J'ai pas regardé plus que çà.

Salut tout le monde,

il m'aura fallu un peu de temps mais c'est bon j'ai un TL-MR3020 (la version dispo en france du WR703N) qui va arriver vendredi (si tout va bien).
J'ai préparé un buildroot openWRT propre pour pas tout mélanger, je suis en version "trunk" au passage.

Squonk42: Je prendrai des photos en résolution max du pcb, on sait jamais ça pourrait être utile.

Re,

Bon mon joujou est arrivé hier soir :grin:
J'ai pu tourner un peu autour de la bête mais j'ai un problème con ...

Comme séparer la partie coloré du corps du routeur ? :sweat_smile:
J'ai essayé de passer un lame de couteau mais j'ai l'impression qu'il y a plusieurs clips, voir même un peu de colle ?