C'est la crise des composants. Depuis plusieurs mois. Au début on le sentait, on le voyait, on l'annonçait, on l'expliquait que c'était la crise.
Mais comme les gens ont continué à trouver ce qu'ils cherchaient sur le marché consumer pendant quelque temps, ils ne s'en sont pas rendu compte toute de suite.
Aujourd'hui, nous sommes en plein dedans : il va falloir "innover", c'est à dire trouver des solutions, par exemple en utilisant du matériel dont on dispose déjà, en le modifiant, en le hackant, en réalisant ce que l'on nomme la "désobéissance technologique" : emparons nous du matériel pour lui faire faire ce que nous voulons, pas ce que le fabricant a prévu que l'on en fasse.
Quoi de mieux qu'un routeur pour s'amuser : c'est typiquement le type de machine fermée qui fonctionne sous Linux - avec toutes les backdoors injectées par le constructeur - que l'on peut modifier pour en faire du matériel fonctionnant sur de l'open source propre.
Allons voir ça : cet article décrit comment faire un NAS pour 10€ : laissez-vous faire, au pire vous perdez vos 10 balles et au passage vous aurez appris quelque chose. Et si ça marche, vous aurez appris quelque chose aussi !
NAS, ou Network Attached Storage, ça permet d'avoir un disque dur partagé sur le réseau. Et sur ce disque, on pourra installer tous les fichiers musicaux que l'on présentera au Logitech Media Player. Ha, il ne s'agit pas de faire l'équivalent d'un Synology (je vous explique ici comment recycler un vieux PC pour en faire un SYNO). Mais 10€, une après-midi de canicule, et voilà votre NAS.
Comme je suis irrécupérable, dans les lignes ci-dessous j'essaye d'expliquer l'intérêt d'un firmware alternatif :
open source, à la place du logiciel déjà installé dans le routeur, fermé et plein de backdoors (de portes dérobées) qui permettent à la NSA et aux pirates de rentrer chez vous comme dans une auberge espagnole
recyclage et "désobéissance technologique"
économie d'énergie : un petit processeur ça ne consomme pas grand chose !
C'est un article peut-être un peu ardu, mon espoir est de donner un éclairage et des idées sur la réutilisation du matériel d'occasion. Et puis c'est 10 balles !
La plupart des particuliers ont accès à internet via la box de leur fournisseur d'accès. Dans un cadre familial, cela fonctionne parfaitement. Par contre il y a des cas où l'on souhaite disposer de matériel différent ou complémentaire. La plupart du temps il s'agit d'améliorer des performances et / ou améliorer les fonctionnalités. Per exemple on cherche une solution pour améliorer le Wifi ou une solution pour partager un accès aux visiteurs dans une association ou autre.
C'est là que l'on achète un routeur... Et dans ce cas, on se retrouve avec une machine qui utilise du logiciel propriétaire, fermé et qui intègre les failles de sécurité requises par les différents gouvernements.
Globalement, un logiciel alternatif permet d'installer du logiciel ouvert, open source et sans backdoors qui offre pour l'utilisateur de nombreuses possibilités de paramétrages qui sont la plupart du temps réservées à du matériel professionnel très onéreux.
Différentes options sont disponibles, citons par exemple :
DD-WRT gère plein de matériels différents mais à besoin de plus de ressources qu'Open WRT
Tomato WRT disponible seulement pour les routeurs à processeur Broadcom
Open WRT peu gourmand en ressources qui s'installe donc sur des machines sur lesquelles DD-WRT ne s'installera pas, par exemple l'excellent TL-902AC
Pour ma part, installer un logiciel tel que DD-WRT ou Open WRT (je n'ai installé qu'une fois Tomato et je ne m'en souviens plus) me permet, quel que soit le routeur, d'avoir la même interface et peu ou prou les mêmes fonctionnalités. N'oublions pas qu'un routeur c'est un ordinateur dédié aux taches réseau et donc c'est un équipement qui contient un processeur, de la mémoire RAM et de la mémoire de stockage. De temps en temps un routeur dispose d'un ou plusieurs ports USB : on peut brancher un disque dur dessus et le partager à travers le réseau.
Nous partons sur le principe de réutiliser quelque chose d'existant. On trouve un Netgear N600 dans les 10€ et à moins de 15€ avec les frais de port.
Il existe plusieurs versions du routeur et celle que j'ai entre les mains est la version v2 :
Le vrai nom du routeur, c'est WNDR3700.
Sur la page de base de données de dd-wrt on voit que le WNDR3700 peut accueillir le logiciel de la version V1 à la version V4.
Attention, il existe une version 5 du 3700 qui ne supporte pas dd-wrt. Conclusion : avant d'acheter, renseignez-vous sur le numéro de version !
Sur le wiki de dd-wrt on apprend que :
les v1, v2, v4 utilisent un processeur Qualcom Atheros,
la v3 utilise un processeur Broadcom (comme un Pi :o)
la v5 utilise un processeur Mediatek incompatible avec dd-wrt... Ha ben non, maintenant (2022) il y a une version !
La v1 est réputée pour avoir un Wifi faiblard
Dans tous les cas, il faudra choisir la version logicielle qui correspond à votre version matérielle.
Pour la version 2 - celle dont je dispose - nous avons un chipset AR7161, 64 MB de mémoire et 16 MB de mémoire Flash (le "disque dur").
La database liste de nombreuses versions, on dispose de fichiers images et de fichiers bin. Ce sont les fichiers qui permettent de flasher le routeur.
Consultez le wiki dd-wrt pour flasher le matériel : mon routeur a été flashé il y a des années et je ne me souviens plus de la procédure, désolé.
Un petit truc qui m'a couté plusieurs heures... Comme toute machine qui se respecte, on peut prendre la main avec une session SSH.
Avant de se connecter via SSH, il faut autoriser dans le routeur la prise en main à distance via SSH.
Pour activer la prise en main à distance Secure Shell, vous devez effectuer deux étapes.
Dans Services, Service, Secure Shell, activez SSHd et Paswword login
2. Dans Administration, Management, Remote Access, activez SSH Management.
N'oubliez sur chaque page de cliquer sur Apply Settings pour que vos réglages soient enregistrés.
Alors attention, pour prendre la main, le couple user / password c'est "root" + le mot de passe de votre utilisateur, indiqué lors de votre premier login dans l'IHM du routeur. En résumé : grenneugneu@##$%%§§§ !
Et voilà, ci contre une prise en main avec la commande SSH (qui fonctionne sous Windows ou sous Linux, c'est la même chose).
Au log nous sommes gratifiés d'un petit ASCII ART, la classe !
SAMBA, c'est du logiciel sous UNIX / LINUX qui permet de faire croire aux machines Windows qu'elles ont affaire à une machine WINDOWS qui partage ses fichiers sur le réseau. En gros résumé caricatural. Wikipedia pour plus d'informations.
C'est un protocole simple que l'on peut activer dans DD-WRT pour partager ses fichiers à travers le réseau.
Pour activer SAMBA, nous allons effectuer deux opérations :
Connecter un disque USB sur le port USB du routeur et activer le montage du disque
Configurer SAMBA pour partager le disque à travers le réseau, comme un NAS
Dans l'onglet Services, dans l'onglet USB, dans le cadre USB Support, il faut
activer Core USB Support
USB Storage Support
Automatic Drive Mount
Comme indiqué ci-contre.
Quand c'est fait, n'oubliez pas de cliquer sur Save puis Apply Settings
Si vous avez activé la connexion SSH, la commande :
df -h
permet de voir que le disque de 4.5To est vu par le système.
Son point de montage est :
/tmp/mnt/sda1
On va changer le directory "cd", changer de dossier, dans la ligne de commande pour aller sur le disque dur que l'on vient de connecter sur le port USB.
C'est le dossier Musiques que nous voulons indexer avec le Logitech Media Server.
La commande pour aller sur le disque :
cd /tmp/mnt/sda1
et la commande pour voir le dossier :
ls
La configuration comprend 3 parties :
le Server en indiquant quelques paramètres, par exemple la version du protocole ou le nom du groupe de travail
File Sharing, ce qui est partagé : quel(s) disque(s) ou dossier(s)
Users, éventuellement "à qui"
Dans la partie Services, NAS, Samba Server, on configure le serveur de fichier :
Activez SAMBA
Server String Ajoutez NAS
Worgroup indiquez WORKGROUP
Laissez les paramètres tels quels, SMB 2.1 et 3.11
Pas besoin d'encryption
Voilà, c'est fait, la partie Server est configurée.
Dans la partie File Sharing :
on indique le disque à partager et ensuite un sous dossier
on indique son alias sur le réseau
si on coche public, il sera visible par tout le monde sur le réseau ce n'est pas forcément recommandé, mais pour un test on peut le laisser public 5 minutes
READ/WRITE : l'accès en Write est obligatoire pour le LMS
Ensuite on peut configurer un "USER" qui accède au partage. Notez qu'il est mieux de configurer un USER - qui va accéder au partage - d'un point de vue sécurité. On renseigne :
le nom
le mot de passe
le nom de partage auquel le compte va accéder
et on coche la case SAMBA pour un partage via SAMBA
Sus Windows, dans le navigateur de fichiers, dans la partie réseau, vous trouverez lz DD-WRT en train de partager le dossier Musiques.
Je peux vous raconter un blague ?
Il y a quelques années de nombreuses petites entreprises utilisaient des NAS avec un protocole SAMBA v1.
Un jour Microsoft a décidé de mettre à jour les machines Windows en interdisant le protocole SAMBA v1 et en obligeant l'utilisation de la v2.
D'un seuls coup, des centaines de milliers de petites organisations n'ont plus eu accès à leur NAS.
Moi je dis que les mises à jour de Windows, c'est quand même très beau. Ca fait longtemps (2014) qu'il n'y a plus de service de test en interne et les utilisateurs Windows le payent. La question des mises à jour, c'est une plaie. D'aucun se demandent même si Microsoft a un management, un service qualité... Enfin bon, quand vous installez un Windows PRO ou ENTREPRISE, vous avez des niouzes people, de la pub pour des jeux, plein de trucs qui n'ont rien à faire sur un système d'exploitation de travail. Mais Zindoze est devenu une caisse enregistreuse, ce n'est plus un système d'exploitation depuis longtemps.
La suite de cet article explique comment configurer la Raspberry Pi pour lire les données sur le disque partagé par le routeur, transformé en NAS "à 10 balles". Si vous n'avez besoin que d'une fonctionS NAS, vous pouvez vous épargner la lecture de la suite.
Sur la Raspberry nous avons besoin de passer trois commandes sur la lignes de commande :
installer le logiciel pour SAMBA
apt-get install samba-common smbclient samba-common-bin smbclient cifs-utils
créer un point de montage
sudo mkdir /mnt/NAS_Netgear
relier le point de montage au NAS
sudo mount -t cifs //DD-WRT/Musiques /mnt/NAS_Netgear
Ce ne sont que trois commandes à passer sur la ligne de commande. En avant :
La première étape consiste à passer la ligne de commande suivante :
apt-get install samba-common smbclient samba-common-bin smbclient cifs-utils
Dans le dossier /mnt, on va créer un dossier NAS_Netgear en passant la commande ;
sudo mkdir /mnt/NAS_Netgear
En conséquence, le dossier /mnt/NAS_Netgear est créé, il est visible dans le navigateur de fichiers sur la Raspberry Pi.
Pour l'instant il est vide, parce que l'on n'a pas encore relié ce point de montage avec le partage du routeur.
En avant !
Avec la commande ci-dessous, on attache le dossier distant de notre NAS au point de montage local que l'on vient de créer :
sudo mount -t cifs //DD-WRT/Musiques /mnt/NAS_Netgear
La commande suivante permet de vérifier que l'on voit bien les dossiers du répertoire partagé du NAS
ls /mnt/NAS_Netgear
C'est bien le cas, on a la liste des dossiers contenus dans le point de montage qui s'affiche.
Pour information, c'est la commande suivante qui "démonte" le montage :
sudo umount /mnt/NAS_Netgear
Alors ensuite je démonte le disque, sur le routeur je supprime l'accès public et j'active le partage via mot de passe. Ensuite je clique sur les boutons Save et Apply Settings.
Et maintenant le montage en utilisant le user password défini dans le routeur Netgear :
sudo mount -t cifs //DD-WRT/Musiques /mnt/NAS_Netgear -o user=user,pass=password,dom=domain
Ou pour notre cas :
sudo mount.cifs //DD-WRT/Musiques /mnt/NAS_Netgear -o username=renaud,password=MonPassword123*
N'oublions pas que l'on a fait tout ça pour pouvoir faire pointer le LMS vers le dossier partage du NAS.
Le gestionnaire de fichier de la Raspberry nous montre le point de montage et les dossiers qui sont sur le disque USB connecté à notre routeur à 10€.
Tout est présent, il reste à indiquer au LMS que les fichiers de musique à indexer se trouvent à cet endroit.
Allons-y !
Avec l'ancienne interface (sur le port 9000) on clique sur le bouton Settings en bas à droite de la page d'accueil.
Ensuite :
dans l'onglet Basic Settings, sélectionner le bouton Browse en face de Media Folder
dans la popup sélectionner le dossier dans lequel se trouve les dossier de musique
cliquer sur le bouton Close
cliquer sur le bouton Apply en bas à droite de la fenêtre de Settings
laisser mijoter
Vu la configuration, le routeur converti en NAS à 10€, la Raspberry Pi déjà un peu encombrée avec du logiciel qui tourne dessus, son Wifi en 2.4GHz, le Terra Octtets de fichiers risque de prendre un peu de temps à l'indexation.
Au moment ou je viens de lancer l'indexation, j'ai peur que tout cela dure plus de cinq heures.
Un coup d'oeil sur la bande passante pendant l'indexation sur la connexion Wifi utilisée par la Raspberry Pi.
Un copie du statut d'avancement de l'indexation après 20 minutes.
C'est pas mal, bien mieux que ce que je redoutais.
Ha quelle surprise ! L'indexation n'a pris que 45 minutes !
Je referais un test ultérieurement sur un câble réseau.
Cet article montre comment réutiliser un vieux routeur dont personne ne veut plus, pour l'utiliser en mode NAS. Cela fonctionne très bien pour une utilisation Logitech Media Server.
En plus de la fonction NAS que l'on vient d'implémenter, les fonctions routeur sont toujours présentes. Grace au logiciel flashé on bénéficie d'une tonne de possibilités, de deux interfaces WIFI puissantes, de la capacité à contrôler toutes les entrées sorties, d'installer un VPN en interne etc...
En temps de crise des composants et au moment ou les Raspberry Pi sont introuvables, ce peut être une alternative. La mise en oeuvre est un peu ardue, mais le chemin est aussi très intéressant et permet d'apprendre. Les performances de transfert de fichiers sont très faibles, mais cela suffit pour des fichiers en format FLAC exploités par le Logitech Media Server.
Merci d'avoir lu jusqu'au bout.