Lignes directrices pour mettre "à l'état" un clone du mini-routeur chinois populaire Hame A15, alias "A5-V11 sans marque"

Si je voyais au-delà des autres, c'est parce que je me tenais sur les épaules de géants.
Newton


Je pense que beaucoup de gens connaissent le petit routeur chinois Hame A15 (lui, ou plutĂŽt ses copies massives, avec TTX amĂ©liorĂ© par rapport Ă  l'original, est Ă©galement bien recherchĂ© par les mots-clĂ©s routeur 3g / 4g sur ebay et aliexpress ). Aujourd'hui, je voulais dire comment je pensais Ă  un routeur Ă  6,5 $ et que j'y ai dĂ©pensĂ© 20 $. Pourquoi? Et pour Ă  peu prĂšs la mĂȘme raison pour laquelle les bracelets sont faits de perles - afin de former la micromotrice et la vue (les corps des composants sont principalement 0402 :) Principalement pour des raisons sportives, bien qu'il soit important que ce routeur soit de loin ma base prĂ©fĂ©rĂ©e pour divers (mĂȘme en dĂ©pit de la difficultĂ© d'accĂšs au GPIO), au lieu des "populaires" NEXX WT3020F, TP-Link TL-MR3020, TP-Link TL-WR703N et autres. La raison en est principalement sa taille et la forme de la carte de circuit imprimĂ©, pratique pour une intĂ©gration n'importe oĂč (sur la photo, vous pouvez estimer la taille). À l'avenir, pour Ă©viter toute confusion de terminologie, je nommerai l'appareil ci-dessous comme il est appelĂ© par le wiki openwrt - A5-V11 .



Le cƓur de cet appareil est le SoC Ralink RT5350F Ă  360 MHz, Ă  bord il y a un hĂŽte USB complet, 4 Mo de mĂ©moire flash et 32 ​​Mo de SDRAM avec une frĂ©quence de 166 MHz (ce qui est d'ailleurs Ă©trange, car mĂȘme l'ancien D-link DIR-320 Ă  bord avait un DDR plus rapide). Certains clones clones ont 16 Mo de mĂ©moire et ne conviennent pas sans augmenter la RAM pour les manipulations dĂ©crites dans cet article.


Comme d'habitude, l'image ci-dessous montre le routeur Hame A15 d'origine.


Original Hame A15
image

Et voici sa copie chinoise améliorée (à la fin de l'article, vous pouvez voir une autre copie de la copie, mais 10 fois plus chÚre :).


Clone chinois Hame A15
image

Les internes du firmware étaient déjà éclairés sur le hub, donc je ne m'attarderai pas sur les fonctionnalités du balisage. Les détails des problÚmes et des solutions sont décrits sur w3bsit3-dns.com . Il y a beaucoup d'informations, mais elles sont incroyablement dispersées. J'espÚre recueillir des points clés dans cet article, sur la base de l'expérience des gars - «géants de la production de routeurs» :)
La réponse à la question "pourquoi ce (routeur) a-t-il besoin d'un utilisateur inexpérimenté" cite l'utilisateur ded1971 :


Propriétés grand public - routeur 3G-WiFi compact et polyvalent. Il est pratique de faire des voyages, de connecter un modem 3G / 4G, d'organiser votre réseau WiFi ou de l'utiliser comme répéteur pour améliorer le WiFi, de connecter Internet à une Smart TV s'il n'y a pas de WiFi intégré. En général, un tas de fonctionnalités utiles pour de l'argent ridicule.

Eh bien, une comparaison avec l'ES8266 omniprésent et populaire

PremiÚre partie, préparatoire


Pendant que le routeur était sur le courrier, il était temps d'étudier les critiques des heureux propriétaires. Les principaux problÚmes rencontrés par la majorité sont les problÚmes de surchauffe du routeur (et, par conséquent, de la «lame de puce») et l'instabilité de l'alimentation, lorsque le routeur ne peut pas démarrer pendant longtemps («indicateur» - deux LED sont faiblement allumées, il est impossible de se connecter à l'appareil via Ethernet).
Pour lutter contre le premier problÚme, il a été décidé d'installer un radiateur sur la puce. Pour ce faire, j'ai commandé de petits radiateurs en aluminium de taille 12x12x3 mm (exactement la taille de la puce). La hauteur de 3 mm a été choisie parce que je voulais que le radiateur en saillie ne colle pas aux objets (dans un sac, par exemple) et que la toupie puisse reposer de maniÚre stable sur la table.


VoilĂ  Ă  quoi ressemblent les placers de radiateurs ...

Pour fixer le radiateur, j'ai dĂ©cidĂ© d'utiliser un adhĂ©sif thermofusible. Parmi les produits disponibles dans notre rĂ©gion, il n'y avait qu'un Alsil-5 «unique», ce qui, malgrĂ© la conductivitĂ© thermique assez bonne, ne signifie pas du tout un stockage Ă  long terme. Il sĂšche en quelques jours (et si vous avez de la chance, vous pouvez acheter dĂ©jĂ  sĂ©chĂ©). Par consĂ©quent, sur le mĂȘme aliexpress, deux types d'adhĂ©sifs thermofusibles ont Ă©tĂ© commandĂ©s pour les radiateurs LED haute puissance - Halnziye HY910 et Hcbonyx HC-910 .


Adhésif thermofusible chinois vigoureux

Les critiques à leur sujet dans les forums spécialisés ne sont pas mauvaises, bien que les experts recommandent toujours d'utiliser des adhésifs époxy thermofusibles à deux composants, tels que Thermopox 85CT, pour les tùches sérieuses. Mais allez le trouver encore ...
Juste au cas oĂč, je donnerai ci-dessous les caractĂ©ristiques comparatives des conductivitĂ©s thermiques de la matiĂšre fondue chaude que j'ai utilisĂ©e, trouvĂ©es sur Internet.


Thermofusible Halnziye HY910 - Conductivité thermique 0,975 W / mK
Adhésif thermofusible Alsil-5 - conductivité thermique 1,4-1,6 W / mK
Adhésif thermofusible HCBonyx HC-910 - conductivité thermique 1,7 W / mK

Et la photo générale :)

Afin d'installer le radiateur, j'ai dû couper le boßtier (y compris pour améliorer le transfert de chaleur). Pour tout faire aussi précisément que possible, la premiÚre chose que j'ai faite a été de dessiner les dimensions du carton sur du papier épais, de découper un trou pour la puce, puis de mettre ce gabarit en carton dans le boßtier. Ensuite, tout est simple - dessinez les contours du trou avec un crayon, coupez-le avec un couteau de bureau et broyez la lime.



Marquage et rognage du boĂźtier en plastique pour le radiateur 12x12



ParallÚlement à l'installation du radiateur, il est nécessaire de souder le condensateur SMD céramique 10 uF 6,3 V manquant au routeur dans le circuit convertisseur 3,3V. (sur les conseils de l'utilisateur return1 ). L'emplacement d'installation est indiqué dans l'image:



Et voici une carte avec un condensateur 10 microfarad 6,3 V déjà installé

Selon les avis, la consommation actuelle de l'appareil diminue et devient plus stable. Vraisemblablement, dans le convertisseur 3,3 V, des ondulations apparaissent sur la sortie qui désactivent le processeur. Le condensateur atténue ces ondulations.


Important! Essayez d'installer le radiateur et de souder le condensateur AVANT de démarrer et d'utiliser le routeur. Sinon, il se peut que Borjomi soit trop tard pour boire ...


Les gens résolvent le problÚme de l'alimentation en installant des puces de moniteur d'alimentation spécialisées, au lieu de la chaßne RC standard du routeur, par exemple, KR1171SP28 , DS1816 ou MAX809TTR . J'ai tout de suite aimé l'option d'utiliser les superviseurs de puissance Maxim. Les deux tùches principales que les superviseurs peuvent résoudre sont de maintenir le contrÎleur dans l'état de réinitialisation jusqu'à ce que la tension d'alimentation atteigne la valeur définie et se stabilise, ou de réinitialiser le contrÎleur lorsque la tension d'alimentation tombe en dessous d'un niveau critique ou lorsque la tension chute soudainement. Parmi les avantages de ce type de superviseur, on peut noter qu'aucun composant supplémentaire n'est requis pour installer le microcircuit, et en termes de taille, ce dispositif semi-conducteur tombe à la place des éléments retirés (oui, vous devez d'abord supprimer les résistances et condensateurs inutiles, puis passer en revue tresse sur coussinets).



La recherche sur aliexpress n'a rien donnĂ©, mais elle a fait une recherche dans le catalogue CHIPiDIP, oĂč les shapers d' impulsions MAX809TEUR + T (avec une tension de rĂ©initialisation de 3,08 volts) ont Ă©tĂ© trouvĂ©s, dont l'un a Ă©tĂ© soudĂ© avec succĂšs au routeur.



Réglage du shaper d'impulsion (reset) MAX809TEUR + T



Soit dit en passant, je ne peux m'empĂȘcher de mentionner le fer Ă  souder USB chinois, sans lequel je n'aurais jamais tournĂ© cette procĂ©dure (mĂȘme avec un micro-ondes louĂ© ...).
Afin de ne pas gaspiller un fer Ă  souder, j'ai en mĂȘme temps dĂ©cidĂ© de souder un bloc de contact aux plots de contact de la console UART (talons) pour simplifier la connexion avec les fils dupont des designers Arduino. Pads pads idĂ©alement assortis avec un pas de contact de 2 mm (les standards rĂ©pandus de 2,54 mm sont dĂ©jĂ  larges). Ce sont , par exemple. Pour le rendre plus pratique Ă  souder, Ă  l'aide d'une pince Ă  Ă©piler, j'ai pliĂ© les extrĂ©mitĂ©s des contacts avec la lettre G et Ă©tamĂ© les taches sur la carte du routeur.


Préparation de la console UART

Il suffisait ensuite d'installer le bloc sur les talons et de rĂ©chauffer lĂ©gĂšrement la jonction jusqu'Ă  ce que la soudure fonde. Il est important de ne pas en faire trop (ce qui est facile Ă  faire avec un fer Ă  souder puissant), sinon les porcelets peuvent simplement tomber d'une surchauffe. Dans ce cas, l'image montre les points de test de sauvegarde oĂč vous pouvez souder.



Au fait, vous pouvez souder les contacts avec une autre mĂ©thode, mais le boĂźtier ne peut pas ĂȘtre fermĂ© comme ça.


Soudage alternatif des contacts UART

Sur ce, la partie préparatoire s'est terminée et la partie principale a commencé.


DeuxiĂšme partie, "Programmeur"


Comme je l'ai mentionnĂ© au dĂ©but de l'article, le routeur a peu de mĂ©moire, seulement 4 Mo. Bien sĂ»r, quelqu'un peut se rappeler que "640 Ko devraient suffire Ă  tout le monde". Mais aprĂšs avoir passĂ© une semaine Ă  essayer de mettre tous les packages nĂ©cessaires (et il y a 8 Mo (!)) Dans l'openwrt auto-assemblĂ© pour D-Link DIR-320, je sais maintenant que cela ne vaut pas la peine d'Ă©conomiser sur la mĂ©moire. Par consĂ©quent, il a Ă©tĂ© dĂ©cidĂ© de changer le flash pour un plus spacieux et en mĂȘme temps d'avoir un coĂ»t raisonnable (afin de ne pas ĂȘtre plus cher que le routeur lui-mĂȘme). Des puces avec une frĂ©quence effective (frĂ©quence d'horloge SPI) d'au moins 100 MHz et une tension d'alimentation de 3,3 V sont nĂ©cessaires pour le remplacement. Des fabricants - Winbond ou tout autre (En = Eon, Mx = Macronix, Pm = PMC, At = Atmel). D'aprĂšs ce que conseille openwrt.org , W25Q128BV , MX25L128 (35F), S25FL128P, S25FL129P, GD25Q128C, GD25Q128CSIG. Le chiffre 128 dans le marquage nous indique que le volume du lecteur flash est de 16 Mo (128 Mo = 16 Mo). Le choix de la taille nominale est dĂ» au fait qu'un programmeur chinois bon marchĂ© de puces de mĂ©moire 24/25 CH341A (Ă  ce sujet ci-dessous) peut fonctionner avec un tel volume sans danser avec un tambourin. Pour les fans, je peux dire que 32 Mo peuvent ĂȘtre soudĂ©s (par exemple, W25Q256FV, MX25L25635F, N25Q256A, MX25L25645GM2I-10G et mĂȘme 64 Mo (MX25L51245G, MT25QL512AB). Cependant, je voudrais noter que les Ă©tiquettes de prix pour la mĂ©moire sont loin d'ĂȘtre humaines pour les modules de 64 Mo. Je noterai qu'en parlant de puces de mĂ©moire UNIQUEMENT dans le package SOP8, qui est le plus pratique pour le soudage, vous pouvez bien sĂ»r prendre des puces dans des cas WSON8 avec des plots de contact au lieu de pattes, mais le soudage prend trop de temps et le rĂ©sultat peut ne pas rĂ©pondre aux attentes.
Vous pouvez flasher une puce mémoire de différentes maniÚres, selon ce qui est disponible:
a) Il y a une diode / condensateur et un port parallĂšle (le programmeur le plus simple) - nous regardons les instructions du firmware sur le site tchĂšque ou en russe .


Donc, ce programmeur le plus simple à partir d'un connecteur LPT et de quelques détails ressemble à la vie
image

b) Il y a des Arduino (Pro, Micro, Nano, etc.) - nous préparerons d'eux un programmeur pour nos lecteurs flash SPI selon la recette suivante.
c) S'il y a un Raspberry Pi - regardez ici
d) Il y a un programmeur USBASP "populaire" (qui a déjà été écrit sur Habré) - nous le préparons selon la recette n ° 2 .
e) Il n'y a qu'un désir et un peu d'argent - nous achetons sur aliexpress un programmateur chinois CH341A pour flash 24/25 SPI et commençons tranquillement à travailler.


Le lecteur flash lui-mĂȘme est connectĂ© au (x) programmeur (s) comme suit:


Brochage de la puce mémoire
image

Le lecteur flash peut ĂȘtre soudĂ© et connectĂ© aux pads / adaptateurs du programmateur, ou vous pouvez y souder les fils dupont dĂ©jĂ  mentionnĂ©s d'Arduino, et connecter les fils au programmeur dĂ©jĂ . Le "fonctionnement" du flash sont les contacts MISO , MOSI , CLK , CS , VCC et GND . Si la programmation est effectuĂ©e sans retirer le microcircuit de la carte, il est prĂ©fĂ©rable de dessouder et de soulever lĂ©gĂšrement le contact VCC sur le plan de la carte pendant un certain temps. AprĂšs avoir terminĂ© le travail, appuyez le pied sur la planche et soudez-le.
Comme je n'avais pas envie de chercher un port LPT, j'ai décidé de suivre la derniÚre option e) et d'acheter une piÚce de fer supplémentaire dans mon parc. Cette chose s'appelle CH341A et, étrangement, est un programmeur basé sur la puce CH341, derriÚre la création de la mégacorporation chinoise "largement connue" Jiangsu QinHeng Ltd. :)


Schéma du circuit du programmeur
image

Lorsque vous commandez uniquement un programmateur, je vous recommande fortement d'acheter en plus un adaptateur des boĂźtiers SOP8 / SOIC8 aux boĂźtiers DIP et un clip-clip pour travailler avec des microcircuits.


Adaptateur et clip


Vous ne pouvez pas rechercher des Ă©conomies limitĂ©es, mais achetez immĂ©diatement un kit prĂȘt Ă  l'emploi, composĂ© d'un programmateur et de tous les adaptateurs nĂ©cessaires, puis en plus des deux adaptateurs mentionnĂ©s ci-dessus, vous obtiendrez Ă©galement un adaptateur pour programmer des puces 1,8 V.


Cela ressemble Ă  un kit prĂȘt Ă  l'emploi

D'aprĂšs ma propre expĂ©rience, je dirai que le clip de la pince Ă  linge fonctionne une fois sur deux et que la puce devra probablement ĂȘtre non soudĂ©e et insĂ©rĂ©e dans l'adaptateur SOP8-DIP ou mĂȘme soudĂ©e aux tampons du programmateur lui-mĂȘme.


Addition : enfin mon adaptateur est venu, ou comme on l'appelle correctement l' adaptateur ZIF SOP8-DIP8 150 mil . Cet adaptateur convient aux microcircuits avec une largeur de boĂźtier de 150mil, un pas de broches de 1,27 mm. En plus de 150 mil, il peut y avoir 200 mil, il est donc important de faire attention Ă  cela lors de la commande aux enchĂšres (j'ai des puces et les mĂȘmes, donc il y a deux adaptateurs).


Comment distinguer visuellement l'adaptateur ZIF 150 et 200 mil

La piĂšce est incroyablement pratique, le microcircuit se serre facilement, naturellement et trĂšs clairement (le systĂšme ressemble Ă  une pince). Pour ce faire, cliquez simplement sur la partie supĂ©rieure Ă©lastique du boĂźtier, placez la puce sur les zones exposĂ©es et relĂąchez cette partie du boĂźtier. Les contacts supĂ©rieurs Ă  ressort s'Ă©tendent lorsqu'ils sont libĂ©rĂ©s et le microcircuit se serre automatiquement (photo pour plus de clartĂ©, car le microcircuit de 200 mil se trouve dans l'adaptateur de 150 mil, donc je ne l'ai pas frappĂ©, je l'ai coincĂ© Ă  portĂ©e de main). Ensuite, nous l'installons dans le programmateur, en regardant oĂč nous avons le pied 1 (un cercle sur la puce). Il se prĂ©sente comme ceci:



Plus belles photos de SOIC8 SOP8 sur l'adaptateur DIP8




J'ai tiré une puce de mémoire native à l'aide d'une station de soudage à air chaud, et pour ceux qui ne disposent pas d'un tel équipement, je recommande fortement d' utiliser la méthode de l'alliage Rose . AprÚs le travail, assurez-vous d'enlever les restes de l'alliage Rose avec une tresse de la carte et des microcircuits, loin du péché.
Nous connectons le microcircuit retirĂ© au programmeur (pour qui comment et comment cela se passe). J'Ă©tais trop paresseux pour souder, j'ai honnĂȘtement essayĂ© de pincer le clip, par consĂ©quent, les jambes Ă©taient trĂšs aplaties par le ressort du clip. Mais je n'avais pas l'intention de souder le flash de 4 Mo, mais un bon contact devrait assurer une lecture fluide. Et c'est arrivĂ©. Nota bene pour ceux qui soudent le microcircuit - regardez attentivement les numĂ©ros sur les cartes adaptatrices et soudez conformĂ©ment Ă  ceux-ci. Dans le cas d'un clip, le fil rouge sur le porte-clĂ©s se trouve sur le pied numĂ©ro 1.



Capturé et réussi à partir de ...




AprĂšs avoir traitĂ© du fer, vous devez vous occuper des logiciels. Comme je l'ai dĂ©jĂ  Ă©crit, sur un hub, ce programmeur apparaĂźt pĂ©riodiquement dans les articles . Il est clair que cela fonctionne sans problĂšme avec tous les systĂšmes d'exploitation modernes (par exemple, dans Windows 10, les pilotes sont automatiquement extraits du rĂ©seau, et sous Linux, ils sont dans le noyau depuis plusieurs annĂ©es). Mais, mais vous ne savez jamais ce qui se passe, vous pouvez trouver ici des pilotes (pour le mode sĂ©rie / parallĂšle) sous forme de fichiers sĂ©parĂ©s au cas oĂč. Pour la programmation sous Windows, la paternitĂ© du logiciel chinois d'un certain SkyGz est le plus souvent utilisĂ©e. Pour Linux, il existe des projets ouverts ch341prog (SPI) et ch341eepromtool (I2C), vous pouvez utiliser le flashrom "folk". Étant donnĂ© que j'utilise Windows et que les critiques sur le "programme chinois" pour la plupart des utilisateurs ne sont pas trĂšs positives (en particulier sur les nouvelles versions 1.28 ... 1.30), afin que le destin ne soit pas tentĂ©, la puce a Ă©tĂ© lue Ă  l'aide d'un programmeur russe AsProgrammer simple et fiable. version 1.4.0 . Soit dit en passant, si quelque chose n'a soudainement pas aimĂ© quelque chose / ce n'est pas clair, ou par exemple, vous devez ajouter un nouveau microcircuit, vous pouvez facilement Ă©crire dans la rubrique "support technique" et obtenir des commentaires rapides.


Pourquoi ne vaut-il PAS la peine d'acheter une mémoire flash de plus de 16 Mo

Je vais me permettre une lĂ©gĂšre digression et expliquer ma rĂ©ticence Ă  installer un lecteur flash de 32 Mo (la diffĂ©rence de prix par rapport Ă  16 Mo n'est pas critique). Le fait est que ni dans les programmes chinois (versions 1.29 ou 1.30), ni dans le support AsProgrammer mentionnĂ© pour les micropuces ala W25Q256FV, MX25L25635F, N25Q256A, MX25L25645GM2I-10G. La raison en est peut-ĂȘtre que pour un flash SPI, la quantitĂ© maximale est de 128 Mo (le maximum qui peut ĂȘtre adressĂ© avec le mode d'adressage Ă  3 octets adoptĂ© par JEDEC). Et ici, il n'y a pas tant d'options. Par exemple, vous pouvez Ă©crire en utilisant le flashrom modifiĂ© la premiĂšre moitiĂ© de la puce w25q256 (taille 16 Mo), comme la puce w25q128 familiĂšre Ă  ce programme 16 Mo et mettre le chargeur de dĂ©marrage correct (Race, par exemple) et les sections d'usine avec des informations de "service" dans ce volume (mac Adresse du routeur, Ă©talonnage Wi-Fi, etc.). Et aprĂšs avoir dĂ©jĂ  dĂ©marrĂ© en mode bootloader (en cas de reconnaissance rĂ©ussie par lui de tout le volume du microcircuit) - il serait possible d'en flasher un firmware prĂ©-compilĂ©. Vous pouvez gĂ©nĂ©ralement acheter des lecteurs flash pour l'avenir et attendre que la prise en charge de ces volumes apparaisse dans les versions cassĂ©es du logiciel chinois pour ch341a ou lorsque le flashrom est terminĂ©. Pour rĂ©sumer, il vaut mieux prendre 16 Mo :) car "fatiguĂ© de tendre la main vers les Ă©toiles, ramassez ce qui se trouve sous vos pieds".


Travailler avec AsProgrammer est extrĂȘmement simple, sĂ©lectionnez d'abord votre puce dans le menu "Puce", puis cliquez sur le bouton "Lire". Quelques minutes et une dĂ©charge dans notre poche :)


Lecture du vidage de la puce d'usine de 4 Mo

Flash complet en usine comprend un chargeur de dĂ©marrage, une paire de sections pour stocker diffĂ©rents paramĂštres et le firmware lui-mĂȘme.


Structure du firmware d'usine de 4 Mo

0x00000000-0x00030000: "Bootloader"
0x00030000-0x00040000: "Config"
0x00040000-0x00050000: "Usine"
0x00050000-0x0011282a: "Kernel"


Le fichier de vidage enregistrĂ© doit ĂȘtre ouvert dans n'importe quel Ă©diteur HEX (j'ai l'habitude d'utiliser WinHex ) et Ă  l'adresse 105720 (l'adresse en dĂ©cimal, en hexadĂ©cimal ce sera 00019CF8) nous changeons 40 00 en 00 01 pour 16 Mo de flash (enfin, ou 80 00 si tout Ă  coup, vous dĂ©cidez d'Ă©conomiser un centime et d'acheter une puce de 8 Mo). Nous enregistrons le firmware modifiĂ© pour une utilisation future. Soit dit en passant, l'adresse 105720 n'est pas le point d'une sorte de piĂšce jointe et d'autres numĂ©ros peuvent bien y ĂȘtre localisĂ©s, surtout si vous avez dĂ©jĂ  essayĂ© de dĂ©verrouiller le chargeur de dĂ©marrage pour le micrologiciel openwrt, etc. Par consĂ©quent, si rien ne se passe, et le cher «40 00 "Ă  l'adresse 105720 n'est pas visible, nous recherchons dans le menu de l'Ă©diteur hexadĂ©cimal une recherche par valeurs HEX et y pilotons la combinaison d'octets" 00 00 16 40 ". Cela conduira aux numĂ©ros / adresses souhaitĂ©s.


Trouver la combinaison convoitée 00 00 16 40

Pourquoi était-ce nécessaire? Et puis, pour que le chargeur de démarrage modifié vous permette de flasher le routeur via UART via TFTP, en utilisant un firmware plus grand.
Ensuite, remplissez le micrologiciel enregistré dans un lecteur flash plus grand pré-acheté à partir de l'adresse 0 (depuis le début). En cas de programmation réussie, soudez la puce de mémoire en place et passez à l'étape suivante. Au fait, lors de la programmation d'un microcircuit acheté, je me suis senti désolé de le pincer avec un clip et j'ai dû le souder au bloc :)


Téléchargement du firmware

TroisiĂšme partie, openwrt-shnaya


L'Ă©tape suivante consiste Ă  crĂ©er votre propre version d'Openwrt. Si je n'avais pas besoin de packages spĂ©cifiques qui ne peuvent pas ĂȘtre trouvĂ©s dans le firmware sysupgrade officiel existant (et «des passionnĂ©s»), alors vous pouvez simplement tĂ©lĂ©charger la premiĂšre version disponible du firmware pour votre modĂšle de routeur et le charger via de grandes puces de mĂ©moire modifiĂ©es ALREADY bootloader ou Ă  l'ancienne pour utiliser le programmeur ci-dessus. Mais j'ai besoin d'incorporer des packages inhabituels dans le firmware de mon routeur, j'ai donc dĂ» aller plus loin et crĂ©er openwrt pour moi-mĂȘme. Cette procĂ©dure est assez bien dĂ©crite pour de nombreux modĂšles de routeurs (par exemple, pour Tp-Link TL-WR741ND sur HabrĂ©, Tp-Link TL-MR3020 , D-Link DIR320A1 , des milliers d'entre eux ...), je me limiterai donc Ă  une brĂšve liste des principales Ă©tapes (plus de dĂ©tails peuvent ĂȘtre regardez ici et ici ).


S'il n'y a pas de machine * nix Ă  la maison, alors la premiĂšre chose que nous installons sur la VirtualBox est Ubuntu x64 (ou quelque chose).


Mise à jour des informations sur les packages installés
mise Ă  jour sudo apt-get
Installez le nécessaire. Pour Ubuntu 16.04 LTS, cela ressemble à ceci:
sudo apt-get install build-essential subversion mercurial libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libssl-dev unzip


Copiez le code source du micrologiciel sélectionné sur votre ordinateur à l'aide de la commande git clone . Sous le spoiler - liens vers les sources des différentes versions d'Openwrt.


Référentiels Git des projets OpenWrt et LEDE

18/06/1
git clone git: //github.com/openwrt/openwrt.git -b v18.06.1
18/06/0
git clone git: //github.com/openwrt/openwrt.git -b v18.06.0
1 / 17,5
git clone git: //github.com/openwrt/openwrt.git -b v17.01.5
17/01/4
git clone git: //github.com/openwrt/openwrt.git -b v17.01.4
17/01/3
git clone git: //github.com/openwrt/openwrt.git -b v17.01.3
17/01/2
git clone git: //github.com/openwrt/openwrt.git -b v17.01.2
17/01/1
git clone git: //github.com/openwrt/openwrt.git -b v17.01.1
17/01
git clone git: //github.com/openwrt/openwrt.git -b v17.01.0
15/05/1
git clone git: //github.com/openwrt/archive.git -b v15.05.1
15.05
git clone git: //github.com/openwrt/archive.git -b v15.05
07/14
git clone git: //github.com/openwrt/archive.git -b v14.07
12.09
git clone git: //github.com/openwrt/archive.git -b v12.09


Le bien téléchargé sera déployé dans le répertoire openwrt. Nous y allons avec la commande cd , échangeons et mettons à jour des composants supplémentaires avec la commande
./scripts/feeds update -a && ./scripts/feeds install –a
Il est maintenant temps de corriger les "fichiers importants" afin que le compilateur puisse correctement assembler le firmware de notre lecteur flash agrandi, et ne pas caler s'il dépasse soudainement les 4 Mo prescrits . Pour ce faire, procédez comme suit. Dans le répertoire téléchargé avec les sources openwrt dans le fichier target / linux / ramips / dts / A5-V11.dts nous remplaçons par les valeurs indiquées dans l'image ci-dessous (j'ai utilisé l'éditeur nano, c'est aussi possible via F4 en mc).


Modification du fichier * .dts pour une mémoire accum (pour le 15/05/1)

Enregistrez le fichier, exécutez dans la console
faire defconfig
et appliquez les paramÚtres standard pour le profil, puis faites menuconfig . Ici, le principal point clé est de choisir le bon profil:


SystĂšme cible: Ralink RT288x / RT3xxx
Sous-cible: cartes basées sur RT3x5x / RT5350
Profil cible: A5-V11

puis - par analogie avec l'assembly openwrt pour les autres routeurs (j'ai donné les liens ci-dessus), nous modifions l'ensemble des packages de la maniÚre dont nous avons besoin et enregistrons la configuration (dans le fichier .config ). Soit dit en passant, si vous prévoyez de modifier fréquemment les configurations, vous pouvez effectuer une sauvegarde à chaque fois avec la commande scripts / diffconfig.sh> mydiffconfig , nous enregistrons donc à chaque fois nos modifications de configuration dans le fichier mydiffconfig. AprÚs avoir fait la configuration nécessaire (et sélectionné tous les packages nécessaires), nous commençons la construction avec la commande make .
En raison de l'auto-compilation du noyau, vous pouvez constater que de nombreux packages provenant de rĂ©fĂ©rentiels officiels ne conviennent pas Ă  l'installation. Ceci doit ĂȘtre pris en compte et plus souvent positionner le drapeau «M» devant le package souhaitĂ©. Ensuite, ces packages peuvent ĂȘtre trouvĂ©s dans le dossier openwrt / bin / ramips / packages et tĂ©lĂ©chargĂ©s sur un serveur HTTP pour crĂ©er votre propre rĂ©fĂ©rentiel de blackjack personnel et ... pour OpenWRT :).
Soit dit en passant, je me suis souvenu qu'il était trÚs pratique d'exécuter la commande make sous la forme suivante:
faire V = 99 2> & 1 | tee build.log | erreur grep -i
Dans ce cas, le compilateur enregistre une copie détaillée complÚte des informations de débogage sur l'assembly dans le fichier build.log dans le répertoire openwrt et affiche uniquement les erreurs à l'écran. Ensuite, ce journal est commodément attaché aux forums pour trouver la cause de l'erreur ou poser une question. En outre, il est idéal pour identifier les packages sur lesquels le compilateur cesse de fonctionner. Vous pouvez trouver le texte mentionné dans le journal en recherchant le répertoire à l'aide de la commande
grep –Hr "TEXT" <chemin d'accĂšs au rĂ©pertoire de recherche> | cut –d: -f1 | trier -u
Mais j'espÚre sincÚrement que la compilation sera réussie et qu'il n'est pas nécessaire de rechercher des erreurs. Une fois le processus terminé, vous pouvez trouver les fichiers du firmware dans le dossier bin du répertoire openwrt, quelque chose comme openwrt-ramips-rt305x-a5-v11-squashfs-sysupgrade.bin . Nous prenons ce fichier et passons à l'étape finale.


QuatriĂšme partie, console


Une fois le firmware collecté dans les entrailles de la machine virtuelle, il ne reste plus qu'à le déposer dans le routeur. J'aime l'option avec UART (ce n'est pas pour rien que j'ai soudé le tampon aux contacts nickels). Pour vous connecter, vous avez besoin soit d'un adaptateur USB vers TTL UART, soit au moins d'un cùble de données d'un ancien Siemens. Heureusement, j'avais un tel adaptateur sur la puce FT232 (CP2102 et l'omniprésent CH340 conviennent également). Le brochage est indiqué sur la photo.



Brochages principal et de secours pour la console UART

Nous connectons les contacts Ă  l'adaptateur comme suit:


Routeur GND → Adaptateur GND
Routeur RX → RĂ©sistance 470 Ohm-1 kOhm → Adaptateur TX
Routeur TX → Adaptateur RX

Je vais expliquer pourquoi une résistance est nécessaire. Lorsque j'ai allumé le routeur connecté à l'adaptateur, il s'est bloqué et a commencé à chauffer.


Alors tout est connecté ...

En mĂȘme temps, quelque chose comme


ϟr▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒1▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒A▒▒ (0▒▒▒▒▒
? ▒▒▒ {▒F▒▒▒▒▒ ^ ▒▒B▒▒▒KӉSP @ ▒ (Y <0▒0▒ $ ▒ @ ▒▒▒ ▒▒▒ 怘 ▒▒ff▒▒▒▒▒`▒▒ ▒▒▒▒▒▒▒▒▒x▒▒x▒▒▒▒▒x ~ `▒▒ 怘 ▒▒▒▒▒x▒▒f▒▒▒▒▒f▒▒`ff▒▒▒▒▒▒▒ ▒▒fx▒▒▒f ~ f▒f▒▒`fxf▒▒▒▒`fx▒▒ ~ ▒x▒f▒▒f ~ f▒`▒f▒fx▒ ~ ▒f▒xf▒ ~ ▒▒fx ▒▒x▒▒▒xx▒▒▒▒xx▒▒▒▒x▒▒▒xf▒▒`x▒▒▒▒▒▒fxf▒x▒▒`▒▒▒f▒▒f▒▒f▒fxx▒ x▒ 枘 ▒x▒f▒▒

La résistance (vous pouvez en connecter n'importe quel, dans la plage de 470 Ohms à 1 kOhm) a tout fixé. Et ici , par exemple, l'auteur recommande généralement d'utiliser la puce d'isolateur de signal numérique AduM1201 pour se connecter à l'UART pour le découplage. Mais la résistance me suffisait, ce que je vous souhaite aussi.


UART et AduM1201
image

Nous recevons le signal du routeur en utilisant le programme du terminal sur le PC. D'une certaine maniÚre, je n'ai pas réussi avec le favori de Putty, et j'utilise l'excellent programme Terminal . Sélectionnez le port COM virtuel souhaité (sur lequel se trouve notre USB-UART), définissez les paramÚtres:


Vitesse: 57600
Bits de données: 8
Parité: aucune
Stop Bits: 1

Et cliquez sur Connecter. Maintenant, lorsque l'alimentation est fournie au routeur, nous verrons les journaux du chargeur dans la console:


Bootloader enregistre A5-V11 tel quel

U-Boot 1.1.3 (11 avril 2013 - 00:10:51)
Carte: Ralink APSoC DRAM: 32 Mo
relocate_code Pointer at: 81fb4000
spi_wait_nsec: 42
identifiant de périphérique spi: ef 40 18 0 0 (40180000)
Attention: ID de puce non reconnu, veuillez mettre à jour le chargeur de démarrage!
raspi_read: de: 30000 len: 1000
. *** Avertissement - mauvais CRC, en utilisant l'environnement par défaut
==============================================
Version Ralink UBoot: 3.6.0.0




ASIC 5350_MP (Port5 <-> Aucun)
DRAM_CONF_FROM: Boot-Strapping
DRAM_TYPE: SDRAM
DRAM_SIZE: 256 Mbits
DRAM_WIDTH: 16 bits
DRAM_TOTAL_WIDTH: 16 bits
TOTAL_MEMORY_SIZE: 32 Mo
Composant Flash: SPI Flash
Date: 11 avril 2013 Heure: 00: 10: 51
==============================================
icache: sets: 256, voies: 4, linesz: 32, total: 32768
dcache: sets: 128, voies: 4, linesz: 32, total: 16384


La fréquence du processeur = 360 MHz

estimation de la taille de la mémoire = 32 Mo
Veuillez choisir l'opération:
1: Charger le code systĂšme sur SDRAM via TFTP.
2: Chargez le code systÚme puis écrivez sur Flash via TFTP.
3: démarrage du code systÚme via Flash (par défaut).
4: Interface de ligne de commande de démarrage Entr.
7: Chargez le code du chargeur de démarrage puis écrivez dans Flash via Serial.
9: Chargez le code du chargeur de démarrage puis écrivez dans Flash via TFTP.
4 3 2 1
Vous en avez choisi 3
0
3: Code systÚme de démarrage du systÚme via Flash.


Démarrage de l'image sur bc050000 ...


raspi_read: Ă  partir de: 50 000 len: 40
. Nom de l'image: MIPS OpenWrt Linux-3.7.5
Créé: 2013-04-11 14:41:22 UTC
Type d'image: Image du noyau Linux MIPS (compressé lzma)
Taille des données: 915849 octets = 894,4 ko
Adresse de chargement: 80000000
Point d'entrée: 80 000 000
raspi_read: Ă  partir de: 50040 len: df989
... Vérification de la somme de contrÎle ... OK
Décompression de l'image du noyau ... OK
Pas d'initrd


Transfert du contrĂŽle vers Linux (Ă  l'adresse 80000000) ...


Donner Linux memsize en Mo, 32


Démarrage du noyau ...
[0.000000] Linux version 3.7.5 (lich @ lich-pc) (gcc version 4.6.4 20121210 (version préliminaire) (Linaro GCC 4.6-2012.12)) # 2 Thu Apr 11 22:41:02 CST 2013
[0.000000] bootconsole [early0] activé
[0.000000] La révision du processeur est: 0001964c (MIPS 24KEc)
[0.000000] Ralink RT5350 id: 1 rev: 3 fonctionnant Ă  360,00 MHz
[0.000000] Carte RAM physique déterminée:
[0.000000] mémoire: 02000000 @ 00000000 (utilisable)
[0.000000] Carte RAM physique définie par l'utilisateur:
[0.000000] mémoire: 02000000 @ 00000000 (utilisable)
[0.000000] Initrd introuvable ou vide - désactivation de initrd
[0.000000] Plages de zones:
[0.000000] Normal [mem 0x00000000-0x01ffffff]
[0.000000] DĂ©but de la zone mobile pour chaque nƓud
[0.000000] PremiĂšres plages de nƓuds de mĂ©moire
[0.000000] noeud 0: [mem 0x00000000-0x01ffffff]
[0.000000] Cache d'instruction primaire 32 Ko, VIPT, 4 voies, taille de ligne 32 octets.
[0.000000] Cache de données primaire 16 Ko, 4 voies, VIPT, pas d'alias, taille de ligne 32 octets
[0.000000] Construction de 1 zones dans l'ordre des zones, regroupement de mobilité activé. Nombre total de pages: 8128
[0.000000] Ligne de commande du noyau: board = MPR-A1 console = ttyS1,57600 mtdparts = spi0.0: 192k (u-boot) ro, 64k (u-boot-env) ro, 64k (factory) ro, 896k (kernel ), 2880k (rootfs), 3776k @ 0x50000 (firmware) rootfstype = squashfs, jffs2 mem = 32M
[0.000000] Entrées de table de hachage PID: 128 (ordre: -3, 512 octets)
[0.000000] Entrées de la table de hachage du cache Dentry: 4096 (commande: 2, 16384 octets)
[0.000000] Entrées de table de hachage de cache d'inode: 2048 (ordre: 1, 8192 octets)
[0.000000] __ex_table déjà trié, sautant le tri
[0.000000] Écriture du registre ErrCtl = 00023ff6
[0.000000] Registre ErrCtl de relecture = 00023ff6
[0.000000] Mémoire: 29632k / 32768k disponibles (code du noyau 1969k, 3136k réservés, 473k données, 180k init, 0k highmem)
[0.000000] SLUB: Genslabs = 9, HWalign = 32, Order = 0-3, MinObjects = 0, CPU = 1, Nodes = 1
[0.000000] NR_IRQS: 48
[0.000000] console [ttyS1] activée, console de démarrage désactivée
[0.000000] console [ttyS1] activée, console de démarrage désactivée
[0.010000] Calibration de la boucle de retard ... 239.61 BogoMIPS (lpj = 1198080)
[0.080000] pid_max: par défaut: 32768 minimum: 301
[0.080000] Entrées de table de hachage de montage-cache: 512
[0.090000] NET: famille de protocoles enregistrés 16
[0.100000] MIPS: la machine est HAME MPR-A1
[0.130000] bio: créer la dalle <bio-0> à 0
[0.140000] Passage Ă  la source d'horloge MIPS
[0.150000] NET: famille de protocoles enregistrée 2
[0.160000] Entrées de table de hachage TCP établies: 1024 (ordre: 1, 8192 octets)
[0.180000] Entrées de table de hachage de liaison TCP: 1024 (ordre: 0, 4096 octets)
[0.190000] TCP: tables de hachage configurées (liaison 1024 établie 1024)
[0.200000] TCP: enregistrement enregistré
[0.210000] Entrées de table de hachage UDP: 256 (ordre: 0, 4096 octets)
[0.220000] Entrées de table de hachage UDP-Lite: 256 (ordre: 0, 4096 octets)
[0.230000] NET: famille de protocoles enregistrée 1
[0.280000] squashfs: version 4.0 (31/01/2009) Phillip Lougher
[0.290000] jffs2: version 2.2 (NAND) (SOMMAIRE) (LZMA) (RTIME) (CMODE_PRIORITY) © 2001-2006 Red Hat, Inc.
[0.320000] msgmni a été défini sur 57
[0.320000] io ordonnanceur noop enregistré
[0.330000] Date limite du programmateur io enregistrée (par défaut)
[0.340000] Série: pilote 8250/16550, 2 ports, partage IRQ désactivé
[0.360000] serial8250: ttyS0 Ă  MMIO 0x10000500 (irq = 13) est un 16550A
[0.370000] serial8250: ttyS1 Ă  MMIO 0x10000c00 (irq = 20) est un 16550A
[0.390000] ramips-spi ramips-spi.0: le maĂźtre n'est pas mis en file d'attente, c'est obsolĂšte
[0.410000] m25p80 spi0.0: trouvé w25q128, pm25lq032 attendu
[0.420000] m25p80 spi0.0: w25q128 (16384 Ko)
[0.430000] 6 partitions cmdlinepart trouvées sur le périphérique MTD spi0.0
[0.440000] Création de 6 partitions MTD sur "spi0.0":
[0.450000] 0x000000000000-0x000000030000: "u-boot"
[0.460000] 0x000000030000-0x000000040000: "u-boot-env"
[0.480000] 0x000000040000-0x000000050000: "usine"
[0.490000] 0x000000050000-0x000000130000: "noyau"
[0.500000] 0x000000130000-0x000000400000: "rootfs"
[0.520000] mtd: la partition "rootfs" est définie comme étant le systÚme de fichiers racine
[0.530000] mtd: partition "rootfs_data" créée automatiquement, ofs = 380000, len = 80000
[0.550000] 0x000000380000-0x000000400000: "rootfs_data"
[0.560000] 0x000000050000-0x000000400000: "firmware"
[0.580000] ramips-wdt ramips-wdt: la valeur du dĂ©lai d'attente doit ĂȘtre 0 <dĂ©lai d'attente <= 35, en utilisant 35
[0.600000] TCP: cube enregistré
[0.610000] NET: famille de protocoles enregistrés 17
[0.620000] 8021q: prise en charge de VLAN 802.1Q v1.8
[0.650000] VFS: racine montée (systÚme de fichiers squashfs) en lecture seule sur le périphérique 31: 4.
[0.660000] Libération de la mémoire du noyau inutilisée: 180 Ko libérés
[5.100000] entrée: gpio-keys-polled as / devices / platform / gpio-keys-polled / input / input0
[5.210000] Button Driver Hotplug version 0.4.1


  • preinit - Appuyez sur la touche [f] et appuyez sur [entrĂ©e] pour passer en mode de sĂ©curitĂ© intĂ©grĂ©e

Lors de la lecture et de la lecture des journaux, il est important de ne pas manquer l'instant et quand il y aura une telle ligne:


Veuillez choisir l'opération:
1: Charger le code systĂšme sur SDRAM via TFTP.
2: Chargez le code systÚme puis écrivez sur Flash via TFTP.
3: démarrage du code systÚme via Flash (par défaut).
4: Interface de ligne de commande de démarrage Entr.
7: Chargez le code du chargeur de démarrage puis écrivez dans Flash via Serial.
9: Chargez le code du chargeur de démarrage puis écrivez dans Flash via TFTP.

Vous devez rapidement avoir le temps d'appuyer sur le chiffre "2". Ensuite, nous verrons ce qui suit:


Vous en avez choisi 2
2: chargez le noyau Linux puis écrivez sur Flash via TFTP.
Attention !!! Effacez Linux dans Flash puis gravez-en un nouveau. Êtes-vous sĂ»r? (O / N)
Veuillez en saisir de nouveaux / ou Ctrl-C pour les éliminer
IP du périphérique d'entrée (10.10.10.123) ==: 10.10.10.123
IP du serveur d'entrée (10.10.10.3) ==: 10.10.10.3
Entrez le nom de fichier du noyau Linux () ==: openwrt-ramips-rt305x-a5-v11-squashfs-sysupgrade.bin

Appuyez sur "Y" sĂ©quentiellement, entrez, entrez, "openwrt-ramips-rt305x-a5-v11-squashfs-sysupgrade.bin". Dans ce dernier cas, il sera nĂ©cessaire d'enregistrer manuellement le nom de notre firmware, qui devra ĂȘtre tĂ©lĂ©chargĂ© sur le serveur tftp prĂ©cĂ©demment lancĂ©. J'ai utilisĂ© le programme TFTPD64 Ă  cet effet. AprĂšs avoir activĂ© le tĂ©lĂ©chargement du firmware de la console, vous devez connecter notre A5-V11 Ă  un ordinateur dont l'adresse IP correspond Ă  celle spĂ©cifiĂ©e dans la console. Au fait, pour me connecter directement (ala "clĂ© USB"), je me suis fait les adaptateurs RJ45-RJ45. Ils sont trĂšs pratiques Ă  porter avec une toupie.



Adaptateurs RJ45-RJ45 et leur circuit

Le routeur sera cousu et aprĂšs le redĂ©marrage sera prĂȘt Ă  effectuer de nouvelles missions de combat. Soit dit en passant, s'il n'Ă©tait pas possible de flasher avec la console, nous revenons Ă  la partie "programme" de l'article et flashons le firmware openwrt-ramips-rt305x-a5-v11-squashfs-sysupgrade.bin via le bon vieux AsProgrammer, mais pas Ă  partir de l'adresse 0, mais Ă  partir de l' adresse 327680 ( !).


Addition: vous ne pouvez pas bricoler avec la recherche d'octets et modifier le firmware natif, mais remplissez le programmeur avec une puce chinoise Breed d'un ami Hackpascal dans la nouvelle puce, pour notre V5 la derniÚre option trouvée est race-rt5350-hame-a5-r1163.bin . Et déjà de ce meilleur (à mon humble avis) à ce jour, le chargeur de démarrage pour flasher tout ce dont vous avez besoin. Il y a encore toutes sortes de goodies dignes d'un article séparé, MAIS, mais putain le firmware est absolument sans localisation, en chinois nu. Il semble que les termes techniques soient clairs ... Mais les "sédiments sont restés". Les Chinois, en principe, ne prennent pas contact :(


CinquiÚme partie, Informations («Note»)


À la fin de l'histoire, je voudrais dire quelques mots sur les appareils qui rendent l'utilisation de notre A5-V11 plus confortable.
Tout d'abord, il s'agit d'un adaptateur en forme de U Ă  un port USB. Un appareil indispensable, lors du partage d'un routeur avec un lecteur flash USB / lecteur de carte / modem 3G-4g / tuner SDR enfin :)



Les adaptateurs ont donc l'air en direct



Le deuxiÚme «jalon» important lorsque vous travaillez avec le mini-routeur décrit est un concentrateur USB. Oui, avec une disposition trÚs compliquée des ports USB. L' agencement vertical de ce hub passif pousse à l'achat de " champignon " Bluetooth sur certains CSR8510 . Depuis mon enfance, j'aime le concept des PC industriels d'Octagon - MicroPC - et leurs « sandwichs » PC / 104 verticaux. Avec le hub mentionné, il est possible de faire quelque chose de similaire (en passant, si l'un des lecteurs a trouvé quelque chose de similaire intéressant sur les étendues des enchÚres en ligne - veuillez partager dans les commentaires).



Carte Ă  puce Genesys Logic Inc. GL8506



En principe, au lieu d'un port USB vertical, il est tout à fait possible de placer le petit trousseau USB-Bluetooth décrit ci-dessus ou un lecteur de carte microSD miniature .



Et cela ressemble Ă  un "sandwich micro-routeur" prĂȘt Ă  l'emploi :)



Plus de micro-habr-sandwichs






Et enfin, le plus délicieux. Il existe un tel bureau néo-zélandais CloudStore dans le monde qui est connu pour ses produits sous la marque Airconsole . Ces appareils sont bons, entre autres, et le fait qu'ils sont les seuls en toute légalité et à un prix raisonnable à connecter toutes sortes d'enregistreurs RS232 à iOS. , , RS232. .
:)


COM/USB , Moxa*, Perle* Opengear*? AirConsole , .

, . . " 10 " :)


Airconsole Mini (69$) Hame A15 (6.9$)

image

Airconsole Standart (79$) Hame MPR-A1 (7.9$)

image

Airconsole XL (139$) Hame MPR-A3 (13.9$)

image

, , . :) . " . . , . . ".


" A5-V11 Airconsole". Ham 6$ Airconsole 69$. , Zyxel Keenetic 4G II .


Soit dit en passant, si tout à coup parmi les lecteurs il y a des propriétaires de l'AirConsol d'origine qui les ont déjà ouverts, je serai ravi d'accepter des tableaux photo en cadeau et de compléter l'article :)


Eh bien, en principe, tout ce que je voulais dire. Une grande partie de ce qui est écrit ici est applicable à d'autres matériels (compacts) et j'espÚre que cela sera utile au "large public" :)



ps Pour les propriĂ©taires des NEXX WT3020F, TP-Link TL-MR3020, TP-Link TL-WR703N (c'est-Ă -dire tous les routeurs avec un boĂźtier assez spacieux) mentionnĂ©s au dĂ©but de l'article, un concentrateur Ă  faible coĂ»t sur la puce HS8836 illustrĂ© ci-dessous peut ĂȘtre une option trĂšs pratique pour l'intĂ©gration :



Au cas oĂč, le circuit trouvĂ© ici est montrĂ© sous le spoiler.


Schéma d'un hub chinois à 3 ports sur le HS8836

Le principal avantage, à mon avis, en plus de la taille miniature et du minimum de piÚces, est le montage de la carte avec le contrÎleur et les ports USB via des fils. Pour une intégration dans le routeur - un minimum de mouvements du corps, bien que vous puissiez toujours installer une plaque de radiateur en aluminium sur la puce.



Mise à jour de 2019 : nous avons mis la main sur le refroidissement walti . Détails sous le spoiler



Plaque de refroidissement externe

Tout d'abord, j'ai trouvé et découpé une plaque en aluminium adaptée d'une épaisseur de 1 mm



J'ai percé des trous pour les vis M1 et coupé le filetage dans la plaque (j'attendais spécialement le taraud sur le M1)





J'ai essayé de resserrer davantage les écrous M1. Accroché à ma poche, je n'aimais pas ça, alors j'ai refusé cette idée et j'ai simplement aiguisé les extrémités saillantes des vis.



( ) 1,5 .



—



( - ) .



— :).


Ajout d' artem_kramov concernant le wifi cassé lors du remplacement du flash. Moral - garder un vidage complet et transférer la section de configuration avec les paramÚtres du module wifi


Plus de détails
: - Wi-Fi . 4 , , 8 Wi-Fi ( ). , , .
: , Config ( ), Wi-Fi. Breed, . , Ethernet, Config Wi-Fi . - , , - .

Emplacement GPIO sur le routeur (extrait d'ici )


GPIO A5-V11 (photo cliquable)
CĂąblage GPIO sur A5-V11

Un exemple:
22- - GPIO 22 est lié à Gnd
25+ - GPIO 25 est lié à + 3,3 V

sda, scl est préférable d'utiliser sur 21 et 26 (remplacer les résistances par Gnd, mettre 10kΩ). Seulement sur ces derniers, lorsque le LCD 1602, 2004 est connecté et que l'alimentation est fournie, le routeur démarre normalement, sur les autres gpio, il est nécessaire de connecter l'alimentation du module un peu plus tard, sinon le routeur ne démarre pas.

À 25 (w1), utilisez le capteur ds1820, car il est dĂ©jĂ  liĂ© Ă  + 3,3 V Ă  4,7 kOhm.

Gpio 21 a d'abord calculé qu'il sortait sur le piston, soudé au piston (nano), mais il s'est avéré qu'il était assis sur le sol aprÚs 1kΩ pour une raison quelconque. Puis il est allé à ce fil et l'a remplacé par gpio 26 avec 10kOhm.





Sources utilisées
  • http://skproj.ru/hame-mpr-a1-proshivka-openwrt-i-apgrejd-fleshki-na-16-ili-8-megabajt/?doing_wp_cron=1472313516.0620179176330566406250
  • http://w3bsit3-dns.com/forum/index.php?showtopic=884713&
  • https://github.com/nofeletru/UsbAsp-flash/releases/
  • http://forum.easyelectronics.ru/viewtopic.php?f=17&t=10947
  • http://my-embedded.blogspot.com/2013/12/mini-4g-router-rt5350f.html
  • http://eko.one.pl/?p=openwrt-gpio2
  • https://habr.com/post/238713/
  • https://nm-projects.de/2017/09/analysis-of-mini-3g4g-wifi-wireless-router-a5-v11/
  • https://tuxotronic.org/wiki/tools/flashrom/
  • http://srr.cherkessk.ru/owrt/help-owrt.html
  • https://tuxotronic.org/wiki/openwrt/rt5350/build-firmware/
  • https://mysku.ru/blog/aliexpress/27796.html
  • https://habr.com/post/247513/

Important! Toutes les mises Ă  jour et notes provisoires Ă  partir desquelles les habr-articles sont correctement formĂ©s peuvent maintenant ĂȘtre vues dans mon laboratoire de tĂ©lĂ©gramme66. Abonnez-vous pour ne pas vous attendre au prochain article, mais pour ĂȘtre immĂ©diatement au courant de toutes les recherches :)

Source: https://habr.com/ru/post/fr425281/


All Articles