<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Test_de_la_bande_passante_Open_WRT</id>
	<title>Test de la bande passante Open WRT - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Test_de_la_bande_passante_Open_WRT"/>
	<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Test_de_la_bande_passante_Open_WRT&amp;action=history"/>
	<updated>2026-04-28T18:13:50Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Test_de_la_bande_passante_Open_WRT&amp;diff=1870&amp;oldid=prev</id>
		<title>Jpinon : /* Prerequis cote routeur */</title>
		<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Test_de_la_bande_passante_Open_WRT&amp;diff=1870&amp;oldid=prev"/>
		<updated>2026-03-06T22:49:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Prerequis cote routeur&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 6 mars 2026 à 22:49&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l58&quot;&gt;Ligne 58 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 58 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Reference generique sur feeds/packages du projet OpenWrt (contexte buildroot/SDK): (ref turn15search16)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Reference generique sur feeds/packages du projet OpenWrt (contexte buildroot/SDK): (ref turn15search16)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Accessoirement on peut utiliser ce SDK pour [[Cross compiler son propre code en C pour GLInet|cross compiler son propre code en C]] pour notre petit routeur. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Partie B - Installer le binaire sur le routeur ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Partie B - Installer le binaire sur le routeur ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key knowledge:diff:1.41:old-1869:rev-1870:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Jpinon</name></author>
	</entry>
	<entry>
		<id>https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Test_de_la_bande_passante_Open_WRT&amp;diff=1869&amp;oldid=prev</id>
		<title>Jpinon : Page créée avec « Il existe un programme en C et en ligne de commande qui fait très bien le travail mais... sur mes micro routeurs j&#039;ai pas la place de builder du C!  Il faut donc procéder à une cross compilation sur une autre machine.   Dans ce exemple ce sera un PC sous Windows avec WSL2.  == Audience == Utilisateurs OpenWrt 18.06.x sur GL-Inet GL-AR150 (SoC AR9331, target ar71xx/generic, arch mips_24kc) souhaitant:  # Compiler en cross sous WSL2 (hote x86_64). # Installer le... »</title>
		<link rel="alternate" type="text/html" href="https://knowledge.pinon-hebert.fr/mediawiki/index.php?title=Test_de_la_bande_passante_Open_WRT&amp;diff=1869&amp;oldid=prev"/>
		<updated>2026-03-06T22:46:18Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « Il existe un programme en C et en ligne de commande qui fait très bien le travail mais... sur mes micro routeurs j&amp;#039;ai pas la place de builder du C!  Il faut donc procéder à une cross compilation sur une autre machine.   Dans ce exemple ce sera un PC sous Windows avec WSL2.  == Audience == Utilisateurs OpenWrt 18.06.x sur GL-Inet GL-AR150 (SoC AR9331, target ar71xx/generic, arch mips_24kc) souhaitant:  # Compiler en cross sous WSL2 (hote x86_64). # Installer le... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Il existe un programme en C et en ligne de commande qui fait très bien le travail mais... sur mes micro routeurs j&amp;#039;ai pas la place de builder du C!&lt;br /&gt;
&lt;br /&gt;
Il faut donc procéder à une cross compilation sur une autre machine. &lt;br /&gt;
&lt;br /&gt;
Dans ce exemple ce sera un PC sous Windows avec WSL2.&lt;br /&gt;
&lt;br /&gt;
== Audience ==&lt;br /&gt;
Utilisateurs OpenWrt 18.06.x sur GL-Inet GL-AR150 (SoC AR9331, target ar71xx/generic, arch mips_24kc) souhaitant:&lt;br /&gt;
&lt;br /&gt;
# Compiler en cross sous WSL2 (hote x86_64).&lt;br /&gt;
# Installer le binaire sur le routeur.&lt;br /&gt;
# Corriger wget pour qu il supporte HTTPS (eviter les erreurs &amp;quot;SSL support not available&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Notes et limites ==&lt;br /&gt;
&lt;br /&gt;
* Le SDK OpenWrt 18.06 pour ar71xx/generic fournit des outils hote pour x86_64. Il faut donc compiler sur un hote x86_64 (WSL2 convient). Tenter la compilation sur Raspberry Pi (ARM) provoquera un &amp;quot;Exec format error&amp;quot; sur les utilitaires hote du SDK. Cette contrainte est inherente aux toolchains SDK precompiles par OpenWrt (voir docs et discussions generiques sur paquets et SDK OpenWrt). OpenWrt packages feed (contexte SDK/feeds) (ref turn15search16)&lt;br /&gt;
* Sur OpenWrt, les acces HTTPS des utilitaires en ligne de commande necessitent a la fois: (a) un backend TLS (libustream-... ou un client avec TLS integre), (b) un store de CA (ca-bundle/ca-certificates), (c) et parfois un client qui sait reellement faire du TLS (wget-ssl ou curl). (refs: ca-bundle pkgdata et fils de discussion OpenWrt) (ref turn15search13 turn15search11)&lt;br /&gt;
&lt;br /&gt;
== Prerequis cote routeur ==&lt;br /&gt;
Routeur cible:&lt;br /&gt;
&lt;br /&gt;
* OpenWrt 18.06.x, ar71xx/generic, mips_24kc.&lt;br /&gt;
* Espace libre dans /overlay &amp;gt; 1 MB.&lt;br /&gt;
&lt;br /&gt;
Verifier: opkg print-architecture cat /etc/openwrt_release&lt;br /&gt;
&lt;br /&gt;
Exemple attendu: DISTRIB_RELEASE=&amp;#039;18.06.1&amp;#039; DISTRIB_TARGET=&amp;#039;ar71xx/generic&amp;#039; DISTRIB_ARCH=&amp;#039;mips_24kc&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Partie A - Mettre en place le SDK OpenWrt 18.06 sur WSL2 (x86_64) ==&lt;br /&gt;
&lt;br /&gt;
# Installer les dependances build sur WSL2 (Ubuntu/Debian) sudo apt update sudo apt install -y build-essential git python3 unzip  libncurses5-dev gawk gettext libssl-dev xsltproc rsync&lt;br /&gt;
# Telecharger et extraire le SDK 18.06.1 ar71xx/generic (hote x86_64) mkdir -p ~/openwrt-sdk &amp;amp;&amp;amp; cd ~/openwrt-sdk wget &amp;lt;nowiki&amp;gt;https://downloads.openwrt.org/releases/18.06.1/targets/ar71xx/generic/openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64.tar.xz&amp;lt;/nowiki&amp;gt; tar xf openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64.tar.xz cd openwrt-sdk-18.06.1-ar71xx-generic_gcc-7.3.0_musl.Linux-x86_64&lt;br /&gt;
# Ajouter votre paquet (exemple: speedtest-cli-c, client speedtest en C) mkdir -p package/speedtest-cli-c cat &amp;gt; package/speedtest-cli-c/Makefile &amp;lt;&amp;lt; &amp;#039;EOF&amp;#039; include $(TOPDIR)/rules.mk&lt;br /&gt;
&lt;br /&gt;
PKG_NAME:=speedtest-cli-c PKG_VERSION:=1.0 PKG_RELEASE:=2&lt;br /&gt;
&lt;br /&gt;
PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=&amp;lt;nowiki&amp;gt;https://github.com/GlideX/speedtest-cli.git&amp;lt;/nowiki&amp;gt; PKG_SOURCE_VERSION:=master&lt;br /&gt;
&lt;br /&gt;
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)&lt;br /&gt;
&lt;br /&gt;
include $(INCLUDE_DIR)/package.mk&lt;br /&gt;
&lt;br /&gt;
define Package/speedtest-cli-c SECTION:=utils CATEGORY:=Utilities TITLE:=Speedtest CLI (C client) URL:=&amp;lt;nowiki&amp;gt;https://github.com/GlideX/speedtest-cli&amp;lt;/nowiki&amp;gt; endef&lt;br /&gt;
&lt;br /&gt;
define Package/speedtest-cli-c/description Minimal speedtest.net client in C for OpenWrt. endef&lt;br /&gt;
&lt;br /&gt;
define Build/Prepare $(call Build/Prepare/Default) rm -rf $(PKG_BUILD_DIR) git clone $(PKG_SOURCE_URL) $(PKG_BUILD_DIR) ( cd $(PKG_BUILD_DIR); git checkout $(PKG_SOURCE_VERSION) ) endef&lt;br /&gt;
&lt;br /&gt;
define Build/Compile $(MAKE) -C $(PKG_BUILD_DIR) CC=&amp;quot;$(TARGET_CC)&amp;quot; STRIP=&amp;quot;$(TARGET_STRIP)&amp;quot; endef&lt;br /&gt;
&lt;br /&gt;
define Package/speedtest-cli-c/install $(INSTALL_DIR) $(1)/usr/bin # binaire genere a la racine ou parfois dans src/, adapter si besoin: $(INSTALL_BIN) $(PKG_BUILD_DIR)/speedtest-cli $(1)/usr/bin/speedtest # alternative (decommenter si le binaire est dans src/): # $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/speedtest-cli $(1)/usr/bin/speedtest endef&lt;br /&gt;
&lt;br /&gt;
$(eval $(call BuildPackage,speedtest-cli-c)) EOF&lt;br /&gt;
&lt;br /&gt;
# (Optionnel) make menuconfig pour cocher le paquet make menuconfig Utilities -&amp;gt; speedtest-cli-c &amp;lt;m&amp;gt;&amp;lt;/m&amp;gt;&lt;br /&gt;
# Compiler uniquement le paquet make package/speedtest-cli-c/clean V=s make package/speedtest-cli-c/compile V=s&lt;br /&gt;
# Recuperer l IPK genere (ou le binaire nu) Trouver l IPK: ls bin/packages/mips_24kc/base/ | grep speedtest Chemin attendu: bin/packages/mips_24kc/base/speedtest-cli-c_*_mips_24kc.ipk&lt;br /&gt;
&lt;br /&gt;
Reference generique sur feeds/packages du projet OpenWrt (contexte buildroot/SDK): (ref turn15search16)&lt;br /&gt;
&lt;br /&gt;
== Partie B - Installer le binaire sur le routeur ==&lt;br /&gt;
&lt;br /&gt;
=== Option 1 - Installer l IPK ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ROUTER=&amp;quot;192.168.8.1&amp;quot; # IP du routeur à adapter&lt;br /&gt;
scp bin/packages/mips_24kc/base/speedtest-cli-c_mips_24kc.ipk root@${ROUTER}:/tmp/&lt;br /&gt;
ssh root@${ROUTER}&lt;br /&gt;
# et sur le routeur&lt;br /&gt;
opkg install /tmp/speedtest-cli-c_mips_24kc.ipk&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Option 2 - Copier le binaire nu (je suis pas fan de celle ci) ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp build_dir/*/speedtest-cli-c/speedtest-cli root@ROUTEUR:/usr/bin/speedtest &lt;br /&gt;
ssh root@ROUTEUR &amp;#039;chmod +x /usr/bin/speedtest&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Test rapide: ssh root@ROUTEUR &amp;#039;speedtest -s&amp;#039; Note: si l outil doit telecharger la liste de serveurs via HTTPS, voir Partie C.&lt;br /&gt;
&lt;br /&gt;
== Partie C - Activer HTTPS pour wget sur OpenWrt 18.06 ==&lt;br /&gt;
Problematique&lt;br /&gt;
&lt;br /&gt;
* Par defaut, beaucoup d images OpenWrt utilisent soit:&lt;br /&gt;
** BusyBox wget (sans HTTPS), ou&lt;br /&gt;
** /bin/wget -&amp;gt; uclient-fetch (sans HTTPS).&lt;br /&gt;
* Installer uniquement ca-bundle/ca-certificates/libustream ne suffit pas, car wget BusyBox/uclient-fetch ne sait pas parler TLS. (refs: ca-bundle et discussions OpenWrt sur wget/opkg et TLS) (ref turn15search13 turn15search11)&lt;br /&gt;
&lt;br /&gt;
Etapes recommandees&lt;br /&gt;
&lt;br /&gt;
Installer les certificats et une lib TLS (utile pour curl/opkg/wget-ssl) &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
opkg update opkg install ca-bundle ca-certificates libustream-mbedtls&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;(refs: pkgdata ca-bundle, discussions TLS/ustream) (ref turn15search13 turn15search11)&lt;br /&gt;
&lt;br /&gt;
Installer un client avec HTTPS reel: wget-ssl (ou curl) &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
opkg install wget-ssl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Verifier qui est appele quand on tape &amp;quot;wget&amp;quot; type wget ls -l /bin/wget ls -l /usr/bin/wget&lt;br /&gt;
Cas frequent a corriger: /bin/wget -&amp;gt; uclient-fetch (KO pour HTTPS) /usr/bin/wget -&amp;gt; wget-ssl (OK pour HTTPS)&lt;br /&gt;
Fix: faire pointer /bin/wget vers wget-ssl rm /bin/wget ln -s /usr/bin/wget-ssl /bin/wget ln -s /usr/bin/wget-ssl /usr/bin/wget&lt;br /&gt;
&lt;br /&gt;
Verification: wget --version # doit montrer un wget avec SSL, pas BusyBox wget -qO- &amp;lt;nowiki&amp;gt;https://www.speedtest.net/speedtest-servers-static.php&amp;lt;/nowiki&amp;gt; | head&lt;br /&gt;
&lt;br /&gt;
* Si vous voyez du XML, HTTPS fonctionne.&lt;br /&gt;
* Si vous voyez &amp;quot;429 Too Many Requests&amp;quot;, c est un rate limit temporaire impose par speedtest.net; attendre quelques minutes et limiter la frequence des requetes. (info sur l usage du fichier servers-static et l acquisition via HTTP(S) par des outils tiers) (ref turn15search24)&lt;br /&gt;
&lt;br /&gt;
Important:&lt;br /&gt;
&lt;br /&gt;
* Les messages d erreur &amp;quot;SSL support not available, please install one of the libustream-.* [ssl|tls] packages as well as the ca-bundle and ca-certificates&amp;quot; signifient tres souvent que le binaire appele est BusyBox wget ou uclient-fetch, pas wget-ssl. Installer wget-ssl et repointer /bin/wget corrige le probleme. (ref turn15search11 turn15search15)&lt;/div&gt;</summary>
		<author><name>Jpinon</name></author>
	</entry>
</feed>