Merci pour ce tuto j'ai pu bypasser totalement la neufbox. Pour la partie TV ce tuto n'est plus d'actualité et j'ai crée un compte exprès pour vous donner la solution car j'ai bien galéré en suivant les instructions de la page 1 pour au final avoir le message d'erreur sur la box : votre décodeur n'est pas connecté à un modem compatible ...
Si quelqu'un peut maj la page 1 :
Il faut faire l'install de igmpproxy et activer Enable IGMP snooping mais aussi avoir un serveur web sur le routeur sur le port 80 qui distribue les fichiers xml du routeur SFR. C'est cette vérification qui fait que la box TV SFR détecte que votre décodeur n'est pas connecté à un modem compatible si vous n'avez pas ces fichiers sur l'adresse du routeur en http.
J'ai pu le faire sur le routeur SANS installer lighttpd et en conservant du coup le port 80 du serveur web uhttpd livré de base avec OpenWRT.
Procéder comme suit (via ssh / putty), notez que c'est désormais apk pour gérer les package et la page 1 doit etre remis à jour :
apk add igmpproxy
etc/init.d/igmpproxy restart
Aller dans l'interface web Luci en allant dans l'onglet "Réseau" (Network) puis "Interfaces" puis "Devices" puis faire Configure sur "br-lan" puis aller dans "Advanced device options" puis cocher "Enables IGMP snooping". Puis "Sauvegarder et appliquer".
La page 1 parle de modifier dans la section interface mais cela ne fonctionne plus comme ca, c'est dans device que cela se passe. Si vous voulez éditer vous meme le fichier /etc/config/network voici un extrait ce que j'ai, notez l'emplacement correct de " option igmp_snooping '1' " :
...
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
option igmp_snooping '1'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.1.1'
...
Pour faire fonctionner la BOX TV (exemple STB7 fourni par SFR) avant de débrancher votre routeur SFR neufbox (ou rebranchez le temporairement), récupérez les fichiers suivants (seuls certains sont nécessaire mais bon on ne sait jamais ca ne coute pas plus cher de tous les récupérer et remettre) :
http://192.168.1.1/api/1.0/?method=ftth.getInfohttp://192.168.1.1/api/1.0/?method=lan.getHostsListhttp://192.168.1.1/api/1.0/?method=system.getInfohttp://192.168.1.1/api/1.0/?method=system.getInfohttp://192.168.1.1/api/1.0/?method=tv.getInfohttp://192.168.1.1/api/1.0/?method=usb.getInfohttp://192.168.1.1/api/1.0/?method=wan.getInforemettre le routeur OpenWRT
faire (sous ssh/putty/winSCP) :
pour la suite 2 solutions :
SOLUTION 1 avec PHP (testé OK)
=====================
apk add php8 php8-cgi
vi /etc/config/uhttpd
aller dans la section :
config uhttpd 'main'
...
ajouter à la fin :
option interpreter '.php=/usr/bin/php-cgi'
list index_page 'index.php'
Redémarrer le service uhttpd :
/etc/init.d/uhttpd restart
aller dans /www créer les sous répertoires "api" et "1.0" et copier tous les fichiers (ou les recréer avec vi) comme suit, dans "/www/api/1.0/" :
-rw-r--r-- 1 root root 124 May 1 22:23 ftth.xml
-rw-r--r-- 1 root root 953 May 2 00:10 index.php
-rw-r--r-- 1 root root 1005 May 1 22:23 lan.xml
-rw-r--r-- 1 root root 514 May 1 22:22 system.xml
-rw-r--r-- 1 root root 475 May 1 22:27 tv.xml
-rw-r--r-- 1 root root 81 May 1 22:24 usb.xml
-rw-r--r-- 1 root root 258 May 1 22:23 wan.xml
Le fichier index.php doit contenir le code de redirection suivant :
<?php
header('Content-Type: application/xml; charset=utf-8');
if (isset($_GET['method'])){
$method = $_GET['method'];
switch ($method) {
case "system.getInfo":
echo file_get_contents('system.xml');
break;
case 'lan.getHostsList':
echo file_get_contents('lan.xml');
break;
case 'wan.getInfo':
echo file_get_contents('wan.xml');
break;
case 'ftth.getInfo':
echo file_get_contents('ftth.xml');
break;
case 'tv.getInfo':
echo file_get_contents('tv.xml');
break;
case 'usb.getInfo':
echo file_get_contents('usb.xml');
break;
}
return;
}
?>
SOLUTION 2 simple et consomme moins de ressource (pas testée mais surement OK)
=====================================================
Aller dans /www créer les sous répertoires "api" et "1.0" et copier tous les fichiers xml (ou les recréer avec vi) dans "/www/api/1.0/".
Créer un fichier /www/api/1.0/index.cgi avec dedans :
#!/bin/sh
case "$QUERY_STRING" in
method=ftth.getInfo) FILE="ftth.xml" ;;
method=lan.getHostsList) FILE="lan.xml" ;;
method=system.getInfo) FILE="system.xml" ;;
method=tv.getInfo) FILE="tv.xml" ;;
method=usb.getInfo) FILE="usb.xml" ;;
method=wan.getInfo) FILE="wan.xml" ;;
*) echo "Status: 404 Not Found"; echo; exit 0 ;;
esac
echo "Content-type: application/xml"
echo
cat "/www/api/1.0/$FILE"
taper sous ssh :
chmod +x /www/api/1.0/index.cgi
vi /etc/config/uhttpd
aller dans la section :
config uhttpd 'main'
...
ajouter à la fin :
option cgi_prefix '/api/1.0'
Redémarrer le service uhttpd :
/etc/init.d/uhttpd restart
Voila la BOX TV SFR fonctionne PARFAITEMENT avec le routeur totalement by-pass par la Xiaomi AX3000T (mais ca marche sur les autres routeurs OpenWRT si pas trop vieille) et la vieille neufbox est remise dans le carton !