Mandiva 2008.0 et disque Free Agent 500 Go
Le disque USB Seagate FreeAgent 500 présente une particularité mal reconnue par Linux : par défaut, il passe en économie d'énergie au bout de quelques minutes. Quand le disque est dans cet état, si on essaie d'écrire ou de lire des données, on obtient une erreur...
Plusieurs solutions permettent cependant à ce disque de bien fonctionner sous Linux.
Référence : http://ubuntuforums.org/showthread.php?t=494673
1. La première solution consiste à interdire la mise en veille avec l'outil d'administration Windows livré avec le disque. Cette solution présente l'avantage de fonctionner sur tout système linux dans modification. De plus elle permet d'améliorer les temps de réponse du disque qui ne doit plus sortir de son mode veille lorsqu'il est sollicité . Par contre il présente l'inconvénient de ne pas mettre en oeuvre l'économie d'énergie du disque. De plus, il est nécessaire de disposer d'un système Windows pour régler le problème.
2. On peut aussi changer le paramètre de veille directement sous Linux avec la commande :
où /dev/sdb est la 'device' qui correspond au disque.
3. Si l'on souhaite conserver le fonctionnement en mode veille, il faut indiquer au kernel, qui ne reconnaît pas bien les caractéristique du disque, que celui-ci doit être réveillé lorsque l'on veut y accéder. Il faut pour cela créer un règle UDEV, voici comment :
- créer un fichier de règle UDEV, par exemple
BUS=="scsi",KERNEL=="sd?",SYSFS{vendor}=="Seagate",SYSFS{model}=="FreeAgentDesktop",RUN+="/usr/local/bin/usbhdfix %k"
Cette commande exécute le fichier /usr/local/bin/usbhdfix chaque fois que le disque est reconnu par le système (au démarrage de Linux si le disque est à demeure, lorsque l'on connecte le disque au port USB sinon).
- Ce script doit contenir le code suivant :
Il ne faut pas oublier de rendre le script exécutable :
Quelque que soit l'une des 3 solutions, les erreurs de lecture et d'écriture disparaissent alors...
2. On peut aussi changer le paramètre de veille directement sous Linux avec la commande :
sdparm --clear STANDBY -S /dev/sdb/
où /dev/sdb est la 'device' qui correspond au disque.
3. Si l'on souhaite conserver le fonctionnement en mode veille, il faut indiquer au kernel, qui ne reconnaît pas bien les caractéristique du disque, que celui-ci doit être réveillé lorsque l'on veut y accéder. Il faut pour cela créer un règle UDEV, voici comment :
- créer un fichier de règle UDEV, par exemple
/etc/udev/rules.d/85-usb-hd-fix.rules
qui contient :BUS=="scsi",KERNEL=="sd?",SYSFS{vendor}=="Seagate",SYSFS{model}=="FreeAgentDesktop",RUN+="/usr/local/bin/usbhdfix %k"
Cette commande exécute le fichier /usr/local/bin/usbhdfix chaque fois que le disque est reconnu par le système (au démarrage de Linux si le disque est à demeure, lorsque l'on connecte le disque au port USB sinon).
- Ce script doit contenir le code suivant :
#!/bin/bash
echo 1 > /sys/block/$1/device/scsi_disk:*/allow_restart
Il ne faut pas oublier de rendre le script exécutable :
chmod 755 /usr/local/bin/usbhdfix
Quelque que soit l'une des 3 solutions, les erreurs de lecture et d'écriture disparaissent alors...
Commentaires
Afficher les commentaires en Vue non groupée | Vue groupée
zergof sur :
sudo sdparm --clear STANDBY -6 /dev/sdb