Merci Jean-François!
Je disais donc: voici enfin le schéma du TL-WR703N reconstitué presque intégralement :
Le schéma n'est pas complet, car il est basé uniquement sur l'observation des couches externes. Les marqueurs 0-9/A-Q encerclés dans le schéma sont des vias qui vont vers les couches internes, et ils correspondent aux étiquettes sur les routages PCBs dessus/dessous. Si quelqu'un veux participer, c'est possible
Mais tel quel, le schéma est déjà très intéressant. En se servant du cadre de localisation externe du schéma, on voit :
- qu'il y a de nombreuses broches inutilisées sur l'AR9331, mais que toutes ne sont pas des GPIOs. Certaines on une fonction dédiée, comme la seconde interface RF connectée à GND dans la zone G4, ou les ports Ethernet additionnels dans la zone D4
- qu'il y a des GPIOs inutilisées qui le sont sur d'autres modèles TP-Link (MR3020) dans la zone D5, mais qu'elles ne sont pas accessibles car localisées sous le chip AR9331
- que les seules GPIOs disponibles sont celles que nous connaissons déjà: celles en E3 : GPIO11 (RESET_SW), GPIO7, GPIO6 (LDO, qui est en fait !USB_OC pour l'indicateur de sur-courant USB), GPIO29, GPIO8 (USB_POWER) et GPIO27 (LED3); celles localisées en G4-5: GPIO28, GPIO13 to GPIO17, GPIO0, GPIO1 et bien sûr les pads de l'UART LVTTL TP_IN/TP_OUT
- que la plupart de ces GPIOs sont connectées à GND ou VCC par des résistances de pull-up/pull-down, et qu'elles sont utilisées au démarrage comme switch de configuration, et qu'on ne peut donc les mettre dans l'état opposé, au moins pendant cette phase initiale. C'est pourquoi j'ai tenté de le faire et regardé si le WR703N bootait toujours
C'est le deuxième endroit où on peut encore découvrir des choses intéressantes : en lisant les sources du noyau modifié par Atheros, on trouve des indications qui laissent à penser qu'il est possible :
- de booter sur le bus MDIO, peut-être aussi depuis l'USB... Le démarrage en USB en mode DFU permettrait de récupérer un WR703N "brické", par exemple
- d'overclocker le quartz 25 MHz à 40 MHz
- de mettre l'USB en mode host ou device
- de booter soit normalement depuis le SPI, soit depuis une ROM interne (boot USB ?)
- de choisir une SDRAM SDR/DDR1/DDR2
Mais en regardant attentivement le schéma, il y a des choses qui sont d'ores et déjà possibles :
- on peut souder une antenne en enlevant J1 et en soudant l'antenne côté chip avec le gros pad de masse juste à côté pour le blindage
- en mettant un gros pâté de soudure à la place de R113 qui n'est pas montée, on court-circuite le switch d'alimentation et de protection en sur-courant USB, permettant ainsi d'alimenter le WR703N par le port USB hôte
- en enlevant R65/R68, on accède aux paires Ethernet 1/2 et 4/5 pour alimenter le WR703N en PoE
- en désactivant l'USB dans le noyau et en pilotant le signal USB_POWER en tant que GPIO, on peut alimenter qqchose connecté sur le port USB hôte avec VBUS/GND, comme un relais "solid state" pour piloter une charge alimentée par le 220 V...
Bref, il y a de quoi s'amuser !