Je possède entre autre un TL-WDR4300-v1.3 dont je suis plutôt satisfait. Il me sert de routeur principal à titre de point d'entrée sur mon réseau. La procédure qui suit présume que le routeur habite déjà OpenWRT|LEDE et que l'on désire mettre à jour celle-ci.

Images disponibles

Pour les intéressés voici les différentes images disponibles pour ce modèle de routeur. Personnellement je recommande à plus récente version LEDE:

Version LEDE 18.06.0 (Voir Getting Started):

Version LEDE 17.01.5 (Voir Getting Started):

Mise à jour

Se connecter au routeur via SSH:

whoami@localhost:~$ ssh root@router

Télécharger et vérifier l’image. Personnellement j'ai une forte préférence à utiliser la plus récente version officiel i.e. 15.05.1:

root@OpenWrt|LEDE:~# cd /tmp
root@OpenWrt|LEDE:~# wget --no-check-certificate https://downloads.openwrt.org/releases/18.06.0/targets/ar71xx/generic/openwrt-18.06.0-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin
root@OpenWrt|LEDE:~# wget --no-check-certificate https://downloads.openwrt.org/releases/18.06.0/targets/ar71xx/generic/sha256sums
root@OpenWrt|LEDE:~# sha256sum -c sha256sums 2>/dev/null | grep OK
openwrt-18.06.0-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin: OK

ATTENTION: À FAIRE SUR RÉSEAU CABLÉ, PAS SUR WIFI! Lancer le processus de mise à jour - laisser aller le processus même s'il semble demander une confirmation!

root@OpenWrt|LEDE:~# sysupgrade -v /tmp/openwrt-18.06.0-ar71xx-generic-tl-wdr4300-v1-squashfs-sysupgrade.bin
Image metadata not found
Saving config files...
...
etc/passwd
etc/profile
etc/rc.local
etc/shadow
etc/shells
etc/sysctl.conf
etc/sysctl.d/local.conf
killall: watchdog: no process killed
Sending TERM to remaining processes ... uhttpd luci luci ntpd netifd dnsmasq odhcpd ubusd askfirst dynamic_dns_upd logd rpcd 
Sending KILL to remaining processes ... askfirst 
Switching to ramdisk...
Performing system upgrade...
Unlocking firmware ...

Writing from <stdin> to firmware ...  
Appending jffs2 data from /tmp/sysupgrade.tgz to firmware..
    
Upgrade completed
Rebooting system...
umount: can't unmount /dev/pts: Resource busy
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
packet_write_wait: Connection to 192.168.80.1 port 22: Broken pipe

Résultat OpenWRT 18.06.0:

BusyBox v1.28.3 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt 18.06.0, r7188-b0b5c64c22
 -----------------------------------------------------
root@th0ma7-router:~# uname -a
Linux th0ma7-router 4.9.111 #0 Mon Jul 30 16:25:17 2018 mips GNU/Linux

Paquets recommandés (Post mise-à-jour)

Je recommande l'installation de quelques paquets optionnels auxquels je fais référence dans les procédures suivantes:

  1. Configuration initiale: "routeur"
  2. Bell Fibe WAN PPPoE
  3. Adresse WAN et DDNS
  4. Réseau invité (guest)

Dans mon cas j'utilise les outils suivants:

  • DDNS & wget pour l'association d'un nom de domaine à mon adresse WAN dynamique
  • SQM afin de limiter la bande passante sur mon réseau guest et le bufferboat sur le réseau WAN.
  • bandwidthd afin de faire la surveillance du traffic réseau pour chacun des périphériques - N'EST PLUS DISPONIBLE AVEC 18.06
  • UPNP pour certaines applications de streaming et jeux

Suivant la mise à jour la configuration a été conservée cependant je dois donc réinstaller ces outils:

root@OpenWrt|LEDE:~# opkg update
root@OpenWrt|LEDE:~# opkg install wget ddns-scripts luci-i18n-ddns-fr sqm-scripts luci-app-sqm bandwidthd miniupnpd luci-app-upnp luci-i18n-upnp-fr

Ensuite j'efface les fichiers de configuration proposés par défaut (/etc/config/*-opkg):

root@OpenWrt|LEDE:~# rm -f /etc/config/ddns-opkg /etc/config/sqm-opkg /etc/config/upnpd-opkg /etc/config/bandwidthd-opkg

Remise en place de la résolution native DNS:

root@OpenWRT|LEDE:~# ls -la /etc/resolv.conf
lrwxrwxrwx    1 root     root       16 Feb  2  2016 /etc/resolv.conf -> /tmp/resolv.conf
root@OpenWRT|LEDE:~# rm /etc/resolv.conf
root@OpenWRT|LEDE:~# ln -nsf /tmp/resolv.conf.auto /etc/resolv.conf
root@OpenWRT|LEDE:~# ls -la /etc/resolv.conf
lrwxrwxrwx    1 root     root       16 Feb  2  2016 /etc/resolv.conf -> /tmp/resolv.conf.auto

Je redémarre ensuite afin de confirmer que tous les services s'initient adéquatement à l'amorce du système:

root@OpenWrt|LEDE:~# reboot

Luci (versions Release Candidates -rc uniquement)

L'interface d'administration graphique Luci n'est pas installé par défaut sur les images “Release Candidate” (RC) et snapshots de OpenWRT | LEDE. Pour installer et activer LUCI:

root@OpenWrt|LEDE:~# opkg update
root@OpenWrt|LEDE:~# opkg install luci-ssl luci-i18n-base-fr
root@OpenWrt|LEDE:~# /etc/init.d/uhttpd enable
root@OpenWrt|LEDE:~# /etc/init.d/uhttpd start

Référence: http://wiki.openwrt.org/doc/howto/luci.essentials

OpenWRT CC 15.05 - Correctif SSH (sans mot de passe)

Après le redémarrage lors de la première connexion le routeur demandera de nouveau un mot de passe puisque le lien vers clés SSH autorisées n’existe plus (voir article concernent le SSH sans mot de passe). Simplement remettre en place la structure requise:

root@OpenWrt:~# mkdir -m 0700 /root/.ssh
root@OpenWrt:~# ln -s /etc/dropbear/authorized_keys /root/.ssh/authorized_keys
root@OpenWrt:~# exit

OpenWRT CC 15.05.1 - Correctif opkg

Suivant la mise à jour il m'est arrivé que canaux de distribution de paquets via opkg pointent encore vers une version précédente. Celle-ci utilise deux niveau de configuration:

  • /etc/opkg.conf
  • /etc/opkg/distfeeds.conf

Après la mise à jour à 15.05.1 le fichier /etc/opkg.conf contenait le lien vers la version 15.05 tandis que le fichier /etc/opkg/distfeeds.conf contenait les liens mis à jour. Il en résulte alors l'erreur suivante:

root@OpenWrt:~# opkg update
Collected errors:
 * opkg_conf_parse_file: Duplicate src declaration (chaos_calmer_base http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/base). Skipping.
 * opkg_conf_parse_file: Duplicate src declaration (chaos_calmer_luci http://downloads.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/luci). Skipping.
...

Le gestionnaire de paquets utilise alors les paquets de 15.05 plutôt que 15.05.1. Pour corriger la situation il suffit de commenter les lignes pointant vers des canaux précédents du fichier /etc/opkg.conf tel que:

dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
#src/gz chaos_calmer_base http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/base
#src/gz chaos_calmer_luci http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/luci
#src/gz chaos_calmer_packages http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/packages
#src/gz chaos_calmer_routing http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/routing
#src/gz chaos_calmer_telephony http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/telephony
#src/gz chaos_calmer_management http://downloads.openwrt.org/chaos_calmer/15.05/ar71xx/generic/packages/management
option check_signature 1