My Book World, et que la lumière soit
Ça commence à faire un moment que j’ai mon My Book World et je dois avouer que c’est terriblement pratique et efficace. Mais, depuis que je vis dans mon petit studio d’étudiant, la lumière blanche émise par les LED du disque externe est assez embêtante pour dormir.
Outre l’idée géniale du “tout est fichier”, GNU/Linux permet une personnalisation du système incroyable. Comme le My Book World utilise un système GNU/Linux léger autant en profiter non ? C’est ainsi que je me suis dit “hop un petit coup de echo dans les fichiers qui vont bien et je vais maîtriser les LED”. Grave erreur, enfin non, mais c’est un peu plus compliqué à cause justement du système minimal.
1. Activer SSH
Première chose, il faut activer le service SSH si ce n’est pas déjà fait. Pour cela, on se connecte sur l’interface web, on passe en Mode Avancé puis dans l’onglet Système on clique sur Avancés. Là, on coche la case Activer en face de Accès SSH.
On peut donc ensuite se logger avec… SSH. Le login est root et le mot de passe welc0me. Je vous invite bien évidemment à changer ce dernier à coup de passwd une fois connecté.~$ ssh root@adresse_ip
~ # passwd
2. Vérification connexion Internet
Hé oui, au titre on le devine. On va avoir besoin d’une connexion Internet pour les quelques opérations à venir. Pour cela, il faut vérifier les paramètres réseaux. Dans l’interface d’administration, en mode avancé, cliquer sur l’onglet Réseau puis sur Réseau local. Si vous utilisez le client DHCP ça devrait être tout bon. En revanche, si comme moi vous utilisez le l’adressage en mode statique assurez-vous de bien avoir mis au moins un serveur DNS accessible (8.8.8.8 pour moi).
Normalement, vous devriez pouvoir tester un ping sur une machine extérieure au réseau local depuis le SSH.~ # ping respawner.fr
PING respawner.fr (88.191.119.214): 56 data bytes
84 bytes from 88.191.119.214: icmp_seq=0 ttl=56 time=30.9 ms
3. Installation de cron
Par défaut, il n’y a pas de cron sur le système du My Book World. Il est tout de même possible de l’ajouter car on va l’utiliser pour planifier l’extinction et l’allumage des LED. Il est existe un utilitaire nommé optware permettant d’installer des paquets IPK qui va nous faciliter la vie. On commence alors par installer optware. Toujours dans notre session SSH, on entre les commandes suivantes.~ # wget http://mybookworld.wikidot.com/local--files/optware/setup-whitelight.sh
~ # sh setup-whitelight.sh
Maintenant, on met à jour (un peu à la façon APT) la liste des paquets avec :~ # /opt/bin/ipkg update
Puis, on peut enfin installer cron :~ # /opt/bin/ipkg install cron
4. Configuration
Comme on peut le voir, le binaire ipkg installe tous les paquets dans le dossier /opt/. C’est un bon moyen pour être certain de ne pas exploser le système. Le souci c’est que, du coup, cron ne se lancera pas au démarrage du disque dur externe. On va donc créer un lien du fichier /opt/etc/init.d/S10cron vers /etc/init.d/S10cron pour corriger le problème.~ # ln -s /opt/etc/init.d/S10cron /etc/init.d/S10cron
Et puis, pour tester que notre cron fonctionne, on va mettre à jour l’heure via un serveur NTP. On édite (avec vi par exemple) alors le fichier /opt/etc/crontab pour y ajouter à la fin la ligne suivante :* 4 * * * root ntpdate pool.ntp.org
Pour que l’ajout dans le fichier soit pris en compte, on redémarre le cron.~ # /opt/etc/init.d/S10cron
5. Au tour des LED
On va enfin pouvoir nous occuper des LED. Comme je le disais plus haut, on peut contrôler les LED avec de simple echo de valeur dans les fichiers qui vont bien. Il suffira alors de mettre 192 pour éteindre ou 255 pour allumer les LED dans le fichier /sys/class/leds/oxnas-wd810-leds:sw/brightness. On peut tester rapidement les effets avec ces 2 commandes :echo 192 > "/sys/class/leds/oxnas-wd810-leds:sw/brightness"
echo 255 > "/sys/class/leds/oxnas-wd810-leds:sw/brightness"
Mais bon, le but pour nous est de faire ça automatiquement. Par conséquent, ces 2 commandes prendront place dans le fichier /opt/etc/crontab. On ajoute donc à la fin de ce dernier les lignes suivantes :30 23 * * * root echo 192 > "/sys/class/leds/oxnas-wd810-leds:sw/brightness"
30 9 * * * root echo 255 > "/sys/class/leds/oxnas-wd810-leds:sw/brightness"
On enregistre et on redémarre le cron. Et voilà, le tour est joué. Avec la configuration donnée ici, on constatera alors que les LED s’éteindront à 23h30 pour se rallumer à 9h30.