tyrann27 Posté(e) le 11 octobre 2008 Partager Posté(e) le 11 octobre 2008 Hello, Hier en utilisant le mac de mon frère, je me suis rendu compte que lorsque j'ai démonté mon dd externe il en a profité pour arreter la rotation du disque... J'aimerais faire le meme sur mon nunux... J'ai déjà cherché sur le net et tout ce que j'ai trouvé est une commande hdparm. Le soucis étant ceci : (sam oct 11, 09:40:24)-(tyrann@Sebastien)-(~/dl/phpBB3)- $ sudo hdparm -y /dev/sde /dev/sde: issuing standby command SG_IO: bad/missing ATA_16 sense data:: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 SG_IO: bad/missing ATA_16 sense data:: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 HDIO_DRIVE_CMD(standby) failed: Input/output error Probablement que pour les sdX c'est une autre commande mais je ne la trouve pas ! Avez-vous une idée ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
madko Posté(e) le 11 octobre 2008 Partager Posté(e) le 11 octobre 2008 question bête mais j'ai rien pour tester, mais eject /dev/sdX ça ne le ferait pas? Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 11 octobre 2008 Auteur Partager Posté(e) le 11 octobre 2008 (sam oct 11, 12:38:56)-(tyrann@Sebastien)-(~/dl/phpBB3)- $ eject /dev/sde1 eject: impossible d'ouvrir le fichier `/dev/sde1' C'était bien essayé Je n'y avais pas pensé. Mais ça ne fonctionne pas Lien vers le commentaire Partager sur d’autres sites More sharing options...
Amour Posté(e) le 11 octobre 2008 Partager Posté(e) le 11 octobre 2008 et un eject de /dev/sde ? (sans le "1") Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabien29200 Posté(e) le 11 octobre 2008 Partager Posté(e) le 11 octobre 2008 Le but d'eject est d'enlever un media amovible d'un lecteur. Il n'arrête pas le lecteur pour autant après. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lurker Posté(e) le 11 octobre 2008 Partager Posté(e) le 11 octobre 2008 Hello, J'avais également le même problème avec mon disque externe USB qui continuait à tourner après avoir été "éjecté en toute sécurité". J'ai trouvé un script sur le fofo Ubuntu qui coupe l'alimentation du disque (tourne plus et voyant éteint). cd /sys/bus/usb/devices bon_usb=$(grep -H Maxtor usb?/?-?/manufacturer | cut -d"/" -f1,2) ## on localise automatiquement le bon disque cd ${bon_usb}/power sudo sh -c 'echo "suspend" > level' sudo -k ## demande le mot de passe la prochaine fois qu'on utilise sudo sleep 6 ## 6 secondes par précaution echo "alimentation Maxtor One Touch Mini coupée" Bien sûr le script doit être personnalisé mais ça marche. En revanche une question subsiste : les disques durs au repos parquent leur tête de lecture pour la protéger. Mais dans ce cas je ne sais pas si la tête est parquée ce qui serait préférable pour un disque externe susceptible d'être trimballé. Lien vers le commentaire Partager sur d’autres sites More sharing options...
nonas Posté(e) le 11 octobre 2008 Partager Posté(e) le 11 octobre 2008 Normalement le disque fait ça de lui-même (lorsque le disque tourne il y a un coussin d'air qui empêche les têtes de toucher les plateaux, donc même sans être trimballé, une tête sur un disque qui tourne pas c'est pas très bon). Tu devrais pouvoir l'entendre (même si sur les disques modernes c'est assez discret). Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 12 octobre 2008 Auteur Partager Posté(e) le 12 octobre 2008 Salut, Je viens de tester mais ça ne fonctionne pas... J'ai bien un Maxtor, il trouve bon_usb (qui est correct) et je mets suspend dedans mais ça ne fait rien C'est trop bizarre... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lurker Posté(e) le 12 octobre 2008 Partager Posté(e) le 12 octobre 2008 A nonas Je suis d'accord qu'en fonctionnement les têtes sont protégées. Par contre je connaissais pas l'histoire du coussin d'air, moi j'avais compris que les têtes étaient parquées. (D'ailleurs c'est un problème connu pour les disques de portables que la fréquence de parcage est trop élevée, ce parcage intervenant lorsque le disque est mis au repos pour économiser la batterie). La question que je me pose est justement que se passe t-il quand un disque est arrêté électriquement ? Que ce soit un disque interne dans une tour arrêté avec l'ensemble de la machine ou un disque externe seulement déconnecté ? A tyrann27 Si tu n'as pas besoin de personnaliser le script essaye le peut-être tel quel. Il me semble que ce n'est pas au moment du "suspend" que le disque s'arrête mais après les six secondes du "sleep". Edit : grosse bêtise Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 12 octobre 2008 Auteur Partager Posté(e) le 12 octobre 2008 j'ai exécuté le script ligne par ligne afin de suivre le déroulement. J'ai laissé bien plus de 6 secondes ce petit suspend dans le fichier Entre-temps j'ai cherché du coté du auto-suspend mais je n'ai pas le droit de modifier le fichier. Et j'ai donc regardé dans les options du module usb. Il est possible de déterminer après combien de temps on veut que le disque dur s'arrete. Je n'ai pas encore essayé car je me demande si mes autres périphériques usb ne vont pas être affectés... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lurker Posté(e) le 13 octobre 2008 Partager Posté(e) le 13 octobre 2008 Attention aussi j'ai oublié de te prévenir, il faut que le disque soit démonté avant de lancer le script. J'ai retrouvé le topic sur lequel j'ai vu cette solution : Forum Ubuntu Toutes les explications sont dedans. Je viens de retester ligne par ligne et le disque s'arrête bien quelques secondes après le "suspend". Au passage, il me semble bien entendre un petit bruit lorsque le disque est au repos depuis quelques secondes (mais toujours alimenté), ce qui pourrait être le parcage des têtes de lecture. Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 13 octobre 2008 Auteur Partager Posté(e) le 13 octobre 2008 Tu sais que je t'aime toi ? Donc.... Grosso merdo, c'est grâce à la lecture du post que j'ai pu trouver, et principalement avec le bug sur launchpad ou un gars donnait une méthode qui ne fonctionnait pas chez lui. Je me doutais bien que hdparm n'irait pas car ce n'était pas un disque ata... Je n'ai jamais été penser qu'il existait sdparm ! Et pourtant... Bref, installation de sdparm et un petit : (lun oct 13, 19:20:25)-(tyrann@Sebastien)-(/sys/bus/usb/devices/usb5/5-3/power)- $ sudo sdparm --command=stop /dev/sde1 /dev/sde1: Maxtor 3200 0344 Hop làààààààààà Maintenant je vais regarder si il y a moyen de l'éteindre avec un UUID. Merci pour ton aide EDIT : A voir maintenant si il faut réellement faire un umount... Faut que je me renseigne... Lien vers le commentaire Partager sur d’autres sites More sharing options...
madko Posté(e) le 23 octobre 2008 Partager Posté(e) le 23 octobre 2008 il faut surement que le FS soit démonté sinon ça va pas etre jolie (où vont partir les données en cache non ecrites), ceci dit le eject fait ça très bien. Pour le uuid t'arrive a en chopper un sur un disque et non une partition? Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 23 octobre 2008 Auteur Partager Posté(e) le 23 octobre 2008 Exact... Je n'ai pas eu le temps de chercher... eject interroge surement quelque chose pour savoir si le cache est vide ou pas... Dans ce cas je pourrais ajouter ça dans l'exécution du sdparm... pffffff j'ai pas le temps de chercher :-( Lien vers le commentaire Partager sur d’autres sites More sharing options...
madko Posté(e) le 23 octobre 2008 Partager Posté(e) le 23 octobre 2008 En fait c'est tout bête, eject regarde juste si des partitions du disque sont montées (dans /etc/mtab ou /proc/mounts cf les options). Donc si c'est monté hop il démonte. magie Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 23 octobre 2008 Auteur Partager Posté(e) le 23 octobre 2008 eject ne fonctionne pas avec mon disque dur externe, j'ai déjà essayé Mais je me suis penché sur la question et j'ai trouvé la solution ! Je te sors un extrait du man : COMMANDS The command option sends a SCSI command to the DEVICE. If the command fails then this is reflected in the non-zero exit status. To obtain more information about the error use the -v option. The ’capacity’ command sends a READ CAPACITY command (valid for disks and cd/dvd media). If successful yields "blocks: " [the number of blocks], "block_length: " [typically either 512 or 2048] and "capacity_mib: " [capacity in MibiBytes (1048576 byte units)]. The ’eject’ command stops the medium and ejects it from the device. Note that ejection (by command or button) may be prevented in which case the ’unlock’ command may be useful in extreme cases. Typically only appropriate for cd/dvd drives and disk drives with removable media. Objects if sent to another peripheral device type (but objection can be overridden with ’-f’ option). The ’load’ command loads the medium and and starts it (i.e. spins it up). See ’eject’ command for supported device types. The ’ready’ command sends the "Test Unit Ready" SCSI command to the DEVICE. No error is reported if the device will respond to data requests (e.g. READ) in a reasonable timescale. For example, if a disk is stopped then it will report "not ready". All devices should respond to this com‐ mand. The ’sense’ command sends a REQUEST SENSE command. It reports a hardware threshold exceeded, warning or low power condition if flagged. If a progress indication is present (e.g. during a format) then it will be output as a percentage. Yields a process status of 0 if the command suc‐ ceeds and the sense key is 0; else yields 1. The --quiet option can be used to lessen output, and --hex to output sense data in hex. The ’start’ command starts the medium (i.e. spins it up). Harmless if medium has already been started. See ’eject’ command for supported device types. The ’stop’ command stops the medium (i.e. spins it down). Harmless if medium has already been stopped. See ’eject’ command for supported device types. The ’sync’ command sends a SYNCHRONIZE CACHE command. The device should flush any data held in its (volatile) buffers to the media. The ’unlock’ command tells a device to allow medium removal. It uses the SCSI "prevent allow medium removal" command. This is desperation stuff, possibly overriding a prevention applied by the OS on a mounted file system. The "eject" utility (from the "eject" package) is more graceful and should be tried first. This command is only appropriate for devices with removable media. For loading and ejecting tapes the mt utility should be used (i.e. not these commands). The ’ready’ command is valid for tape devices. Grosso merdo, la commande est la suivante sudo sdparm --command=CMD [device] Et donc : sudo sdparm --command=sync /dev/sde1 #pour flusher le cache sudo sdparm --command=stop /dev/sde1 #pour arreter le disque Ca évite de devoir le démonter. Reste plus qu'à mettre ça dans un script avec un gksu et hop un petit bouton sur le bureau Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lurker Posté(e) le 23 octobre 2008 Partager Posté(e) le 23 octobre 2008 C'est bien que tu ais résolu ton problème mais je me posais une question. Normalement sdparm c'est pour les disques SCSI et hdparm pour les disques IDE et SATA. Rien à voir entre hdparm / hda,b,c et sdparm / sda,b... Ou alors j'ai raté un épisode ? T'as essayé les mêmes commandes avec hdparm ? (c'est ce que tu avais fait en tout début de topic ?) Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 24 octobre 2008 Auteur Partager Posté(e) le 24 octobre 2008 Le plus simple encore est que je te fasses une démo (ven oct 24, 07:21:32)-(tyrann@Sebastien)-(~)- $ sudo hdparm -y /dev/sde1 /dev/sde1: issuing standby command SG_IO: bad/missing ATA_16 sense data:: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 SG_IO: bad/missing ATA_16 sense data:: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 HDIO_DRIVE_CMD(standby) failed: Input/output error (ven oct 24, 07:21:43)-(tyrann@Sebastien)-(~)- $ Et je dois donc te contre-dire, apparemment c'est comme ça... Il semblerait que ce soit comme ça maintenant... Et je vais même dire pire... Depuis Hardy, mes lecteurs/graveurs [cd][DVD]-rom sont passés en nomenclature scd... Je ne sais pas si ça entraine quelque chose, si c'et l'élément déclencheur ou pas, mais sdparm fonctionne également avec eux. Je vais finir par dire des (plus) grosses bétises (qu'au dessus) mais bien que je n'ai pas testé avec toutes les commandes de hdparm sur tous types de disques gérés, on pourrait croire que sdparm gère ata-sata-scsi et remplacera à terme hdparm. Je n'ai pas de disque dur ide pour tester... Lien vers le commentaire Partager sur d’autres sites More sharing options...
madko Posté(e) le 24 octobre 2008 Partager Posté(e) le 24 octobre 2008 normalement même les disques IDE s'appellent sdX, tout ça pour simplifier la gestion des dd ya plus qu'une couche qui gère tout ça (ide/sata/scsi). Pour revenir à eject tu dis que ça marche pas avec ton disque externe c'est étonnant, mais dans ton post où tu en parles tu a tapé "eject /dev/sde1" or il faut pas ejecter une partition mais un disque donc "eject /dev/sde", ou ça marche pas non plus? de toute façon la commande sync est excellente, en espérant qu'entre ton sync et ton stop il n'y a rien qui se soit passé sur ton FS (donc en théorie c'est pas aussi propre que de démonter tes FS mais bon si ça te va). Sinon le top serait de modifier les commandes dans HAL pour démonter un disque, pour rajouter la commande stop via sdparm. Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 24 octobre 2008 Auteur Partager Posté(e) le 24 octobre 2008 Mmmmmh effectivement je n'ai pas pensé à ça... Faudra que j'essaye ça... Et si ça fonctionne, faudra que je rajoute la commande de mount dans samba pour quand mon frère voudra accéder à mon disque... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lurker Posté(e) le 24 octobre 2008 Partager Posté(e) le 24 octobre 2008 En effet j'avais pas pensé mais c'est probable qu'à terme le hdparm disparaisse pour n'en garder qu'un. Il me semble pourtant que dans le man la différence est (encore ?) bien précisée. L'avenir nous le dira ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 25 octobre 2008 Auteur Partager Posté(e) le 25 octobre 2008 Voila madko j'ai testé eject ! Effectrivement tu avais raison, ça fonctionne mieux quand on met le disque et pas la partition Cependant, ça ne donne pas l'effet escompté... Il démonte le disque tente une ejection mais sans succès et puis il fait un mount. :-/ Maintenant je le confirme, il faut absolument que je démonte le disque après chaque utilisations... Le problème c'est que cettte cochonnerie se met en route tous les matins vers 8h... Je dois avoir un cron.daily qui me le réveillle... Or, je voudrais juste que 2 choses puissent le réveiller : mon frère via samba et moi. Ce qui est chiant poar contre c'est que j'ai mis le UUID dans le fstab et du coup il ne se monte plus automatiquement, il faut à chaque fois que je fasse une mount -a Faut que je cherche aussi comment faire pour qu'il le fasse directement... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.