[Plugin Tiers] miwifiRouter

au temps pour moi, confirmé par un utilisateur : ce routeur (le 4A) est bien compatible ^^

Si tu aimes bidouiller un peu, j’ai regardé rapidement, et il semble aussi possible de remplacer le firmware du 4A par OpenWRT.
J’ai depuis longtemps migré mon routeur Xiaomi et je ne le regrette pas (j’ai aussi fait un plugin pour ça qui est d’ailleurs plus facile à maintenir pour moi puisque je n’ai plus le firmware d’origine du Xiaomi).

hello !
alors je vois effectivement que c’est faisable, mais visiblemetn il ne faut pas se tromper de routeur ^^
https://openwrt.org/inbox/toh/xiaomi/xiaomi_mi_router_4a_gigabit_edition
=> si c’est le mi 4A 100M, ça risque de brick…

par exemple je vois le mi 4A chez boulanger, mais je ne sais pas quelle « version » c’est …
EDIT: ok on doit bien chercher « mi 4A gigabit edition » :wink: ok plus clair !
mais bon… sans matos en plus, visiblement flasher le FW (comme tout flash) peut brick le router… pas terrible :frowning:

  • Using a firmware exploit (Does not require extra hardware): for instructions follow the OpenWRTInvasion repository. ( Warning.!! snapshot build may brick your router if you use this method, You need to custom firmware server to older or more stable build.) A Video guide for this method can be found here:External Link

Le risque n’est jamais nul, mais si tu suis les tutoriels à la lettre généralement ça se passe bien. Mais c’est sans obligation. C’est une simple recommandation.

Bonjour à tous,

Je déterre le sujet, de mon côté, routeur RM1800 (AX1800 mais la version ronde) donc pas de possibilité de le passer en OpenWRT …
Du coup, le plugin m’intéressait pas mal (merci pour le dev) … seulement, même constat que @Krehigo & @jonathan.

Il s’avère que suivant la liste d’équipements, la récupération peut être plus ou moins longue …
Or, ligne 92 du fichier miwifirouterapi.class.php, le délai est de 2 sec avec 2 tentatives. C’est trop peu, je n’ai pas fait énormément de test, mais je l’ai monté à 20.

$json = $http->exec(20, 2);

D’ailleurs, si je ne dis pas de bêtise, il doit manquer un :

 $json_connect = json_decode($json, true);

De mon côté, j’ai aussi modifié le SI de la ligne 118 du fichier miwifirouter.class.php :

if ($equipment->name != '') {
            $this->setName($equipment->name);
            $this->setConfiguration('macAddress', $equipment->mac);
        }

Ainsi que dans le fichier .JS à la ligne 32.

  jQuery.each(data.result, function(id, equipment) {
                inputOptions.push({ text: equipment.name + ' (' + equipment.mac + ')', value: equipment.mac })
            });

Dans le Json, je trouve que oname ne reflète pas vraiment le nom de mes équipements. (surtout si on a fixé les IP en leur donnant des noms.)

En tout cas, merci pour le travail réalisé …
De mon côté, mes compétences en PHP / JS sont trop limités pour pouvoir ajouter des options, mais j’avais commencé à dev. un petit utilitaire PC permettant de faire les choses suivantes :

  • Récupération de l’ensemble des équipements.
  • Possibilité de sauvegarder / restaurer une configuration
  • Extraire l’ensemble en format .XML (Le jour ou ça crash, on est content d’avoir une backup avec les adresses IP fixe)
  • Possibilité de fixer une IP

A voir si le besoin est vraiment nécessaire & qui sait, p-e qu’un jour je me mettrai à dev du PHP / JS :slight_smile:

En espérant avoir aidé,

Bonjour Shaff0, merci pour ton analyse, dès que j’aurai un peu de temps je regarderai plus en détail les lignes que tu as modifié.
Sachant que je n’ai plus le bon firmware pour tester, je préfère éviter de toucher ce qui fonctionne pour les autres, mais si ça solutionne vos problématiques ça peut être intéressant.

Du coup tu n’as plus de souci d’erreur 404 avec un timeout plus long ?

Non plus de soucis de 404. :wink:
Aucun soucis pour les modifications, j’ai fixe de mon côté donc pas de problème. :slight_smile:

J’ai appliqué les modifications proposées par Shaff0 qui m’ont semblé pertinentes.
Ne pouvant pas le tester n’hésitez pas à me faire un retour en cas de régression…