Le piDrive (western digital) connecté à mon Raspberry bipe de façon aléatoire.
Dans un précédent article, je vous parlais de la raison pour laquelle j’ai installé le système de mon Jeedom sur un disque dur physique plutôt que sur la SD. Tout se passait bien jusqu’à aujourd’hui. Le disque dur se met à émettre des “bips” de façon aléatoire.
Les raisons possibles
Après avoir fouillé un peu partout sur le web voici les raisons possibles:
- Le disque dur est endommagé
- Le disque dur n’est pas assez alimenté.
- Cela peut arriver quand le disque dur via le power management passe souvent du mode “sleep” au mode “actif”
Mes résolutions.
Disque dur endommagé?
Commençons par le problème de DD endommagé. J’avoue que ce n’est pas le problème que je préfère.
Pour vérifier un peu l’état de mon disque, je commence par chercher s’il y a des blocks corrompus:
$>sudo badblocks -v /dev/sda1
$> sudo badblocks -v /dev/sda1 Checking blocks 0 to 4194303 Checking for bad blocks (read-only test):done Pass completed, 0 bad blocks found. (0/0/0 errors)
Idem pour la partition /dev/sda2
Rien non plus en executant dmesg ni dans les fichiers /var/log/kern.log et /var/log/syslog
$> sudo less /var/log/syslog ... $> sudo less /var/log/kern.log
Le disque dur à l’air OK.
Disque dur pas assez alimenté?
Il faut d’abord être sûr que le disque dur est bien alimenté. De mon côté j’ai pris le kit d’alimentation qui est vendu par Western Digital:
Avec une alimentation 2A qui est normalement suffisante : http://wdlabs.wd.com/products/raspberry-pi-accessories/#pidrive_cable_kit
C’est largement suffisant, comme on le voit sur l’image ci-dessus, le disque dur est directement alimenté par le bloc secteur. Mais pour être bien sûr, je vais un peu augmenter la puissance délivré par les ports USB (voir https://www.reddit.com/r/raspberry_pi/comments/3i84t8/ext_hdd_beeps_when_connected_to_pi/)
il s’agit d’éditer le fichier /boot/config.txt. Il faudra redémarrer par la suite. Je commence par regarder le contenu de ce fichier :
$> more /boot/config.txt device_tree=
puis je vais le modifier pour ajouter
max_usb_current=1
Mon fichier contient maintenant
$> more /boot/config.txt max_usb_current=1 device_tree=
Cela signifie que les ports USB peuvent maintenant délivrer jusqu’à 1A
Cela peut arriver quand le disque change de mode de gestion d’énergie.
Dernière possibilité! Pour cela la solution est là : https://community.wd.com/t/pidrive-314gb-random-beeps/169023/7
Le mieux est de désactiver le mode Advanced Power Management de mon disque dur. Avant de le désactiver je regarde son état en installant la commande hdparm
$> sudo apt-get install hdparm
Puis je regarde le mode utilisé pour mon disque dur:
$> sudo hdparm -B /dev/sda /dev/sda: APM_level = 128
et enfin je désactive le Advanced Power Management
$> sudo hdparm -B 255 /dev/sda /dev/sda: setting Advanced Power Management level to disabled SG_IO: bad/missing sense data, sb[]:70 00 01 00 00 00 00 0a 00 00 00 00 00 1d 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 APM_level = off
Une petite vérification:
$> sudo hdparm -B /dev/sda /dev/sda: APM_level = 254
et voilà, c’est bon, c’est fini.
Reboot du système
Il me reste maintenant à rebooter le tout, mais avant, je vais demander un fdisk pour être sûr qu’il n’y a pas de problème caché sur mon disque dur. (voir http://www.cyberciti.biz/faq/linux-force-fsck-on-the-next-reboot-or-boot-sequence/)
Il suffit pour cela de créer un fichier à la racine du système de fichier:
$> sudo touch /forcefsck $> sudo reboot
Ce fichier sera automatiquement supprimé après le fsck au reboot.
Conclusion
Pour être bien sur que tout va bien:
- Vérifier l’état du disque dur
- Vérifier qu’il est bien alimenté
- Désactiver le Advanced Power Management
Je vous donne rendez-vous dans quelques jours pour savoir si le disque bipe toujours.
Pingback: Le piDrive (western digital) connecté à mon Raspberry bipe de façon aléatoire. | Veille techno de Hotfirenet
Bonjour
Alors ça bipe toujours ?
cordialement
François
Bonjour
En effet, j’ai oublié de mettre à jour ce post.
Le disque dur ne bipe plus du tout et je n’ai plus aucun problème depuis ces manips.
Bonjour,
Hdparm retourne à la valeur 254 après chque démarrage. Comment forcer la valeur a 255 au boot?
J’ai essayé d’éditer etc/hdparm.conf et d’ajouter “hdparm -B 255 /dev/sda” à la fin..dans ce cas hdparm retourne a 128!
Pour persister la valeur en root tapez:
crontab -e
puis ajoutez la ligne
@reboot hdparm -B 255 /dev/sda