Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 08/01/2013, à 22:36

ben_capa

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Encore plus étrange, avec

sudo ./suspend-usb-device /dev/sdb

j'arrive maintenant à utiliser le script en le plaçant dans mon home. N'importe quoi lol.

Hors ligne

#27 Le 03/10/2013, à 17:19

F50

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Salut,

Ça faisait un moment que je me m'emmerdais pour stopper mon DD externe esata avant d'éteindre le rack dans lequel il se trouve, j'ai enfin trouvé, ce, sans besoin de script ou autre, ouf! Voici la commande à faire après avoir démonter le DD préalablement:

echo 1 > /sys/block/sdX/device/delete

Mais attention, remplacez le sdX par votre DD (sdc, sdd, etc.). Avant de faire cette commande il faut déjà être root (sudo -i) puis la commande. Résultat dans syslog:

ata4.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
10-03 17:08 kernel: [43082.889874] ata4.00: waking up from sleep
10-03 17:08 kernel: [43082.889887] ata4: hard resetting link
10-03 17:08 kernel: [43083.380233] ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
10-03 17:08 kernel: [43083.382342] ata4.00: configured for UDMA/133
10-03 17:08 kernel: [43083.382388] ata4: EH complete
10-03 17:09 kernel: [43176.884186] sd 3:0:0:0: [sdc] Synchronizing SCSI cache
10-03 17:09 kernel: [43176.884323] sd 3:0:0:0: [sdc] Stopping disk

Au lieu de l'éternel:

ata4.00: detaching (SCSI 3:0:0:0)
10-03 16:53 kernel: [42200.050167] sd 3:0:0:0: [sdc] Synchronizing SCSI cache
10-03 16:53 kernel: [42200.050240] sd 3:0:0:0: [sdc] 
10-03 16:53 kernel: [42200.050246] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
10-03 16:53 kernel: [42200.050251] sd 3:0:0:0: [sdc] Stopping disk
10-03 16:53 kernel: [42200.050269] sd 3:0:0:0: [sdc] START_STOP FAILED
10-03 16:53 kernel: [42200.050274] sd 3:0:0:0: [sdc] 
10-03 16:53 kernel: [42200.050277] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK

Source:

http://askubuntu.com/questions/235516/s … sata-disks

P.S. Ce serait bien de mettre ce genre d'info dans la doc, histoire d'éviter les massacres de données évaporées suite à de mauvaises manipulations...

Dernière modification par F50 (Le 02/12/2021, à 12:40)

#28 Le 15/11/2014, à 15:43

chessou

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Je remonte un peu le sujet car il est toujours d'actualité et susceptible d'être amélioré.

Pour ma part ça a très bien marché, voici le résumé de la manipulation de ce topic pour désactiver intégralement un disque dur externe WD avant débranchement:

1/ Récupérer le script de Yan Li (voir ci dessous)
2/ Le sauvegarder dans un fichier gedit avec extension .sh, le marquer comme exécutable (clic droit-propriétés-permissions, cocher la case), noter le chemin de ce fichier. Dans cet exemple je l'ai appelé "demontage.sh".
3/ Lancer la commande suivante dans un terminal:

ls /dev/disk/by-path/ -l

Qui rendra quelque chose comme ça:

ThinkPad-R400:~/Bureau$ ls /dev/disk/by-path/ -l
total 0
lrwxrwxrwx 1 root root  9 nov.  15 14:09 pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0 -> ../../sdb
lrwxrwxrwx 1 root root 10 nov.  15 14:09 pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0-part1 -> ../../sdb1

4/ Copier le chemin du périphérique (ici: pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0)
5/a/ Lancer la commande suivante dans un terminal avec le chemin du dossier ou se trouve le script sur la 1ère ligne et le nom du script avec le chemin de votre périphérique sur la 2ème ligne:

cd "chemin du dossier ou se trouve le script Yan Li"
sudo bash demontage.sh /dev/disk/by-path/pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0

5/b/ Créer fichier script .sh personnalisé pour lancer la commande rapidement et juste avoir a taper le code root, pour moi ça a donné ça:

#!/bin/bash

cd /home/yoyo/programmes
sudo bash demontage.sh /dev/disk/by-path/pci-0000:00:1d.7-usb-0:2:1.0-scsi-0:0:0:0
 
exit 0

J'ai mis ce script dans mon "home" que j'ai appelé "eject.sh" et je tape la ligne suivante pour exécuter le script de débranchement:

bash eject.sh

Voilà! En revanche je n'ai pas réussi à exécuter le script directement depuis le bureau ou un raccourci ce qui serait pourtant pratique, il semble que l'on soit obligé de passer par le terminal à cause du mot de passe root, à moins qu'il y ait une astuce!?
C'est pour l'heure la seule technique qui permet de désactiver rapidement et intégralement un disque dur WD.

La deuxième technique, pour les patients, c'est tout simplement de démonter le disque dur WD et d'attendre gentillement qu'il s'arrête de tourner, ça évite toute la manipulation de ce topic mais il faut pas être pressé (le mien met peut être 15 ou 30 min avant de s'arrêter...)!

Merci aux précédents pour les infos que je n'ai fait que condenser...:P

wink

Pour info le Script Yan Li donné plus haut dans le topic :

Yann Li a écrit :

#!/bin/bash
#
#  suspend-usb-device: an easy-to-use script to properly put an USB
#  device into suspend mode that can then be unplugged safely
#
#  Copyright (C) 2009, Yan Li <elliot.li.tech@gmail.com>
#
#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.
#
#  To reach the auther, please write an email to the address as stated
#  above.

#  ACKNOWLEDGEMENTS:
#      Christian Schmitt <chris@ilovelinux.de> for firewire supporting
#      David <d.tonhofer@m-plify.com> for improving parent device
#      search and verbose output message


usage()
{
    cat<<EOF
suspend-usb-device  Copyright (C) 2009  Yan Li <elliot.li.tech@gmail.com>

This script is designed to properly put an USB device into suspend
mode that can then be unplugged safely. It sends a SYNCHRONIZE CACHE
command followed by a START-STOP command (if the device supports it),
unbinds the device from the driver and then suspends the USB
port. After that you can disconnect your USB device safely.

usage:
$0 [options] dev

sample:
$0 /dev/sde

options:
  -l     show the device and USB bus ID only
  -h     print this usage
  -v     verbose

This program comes with ABSOLUTELY NO WARRANTY.  This is free
software, and you are welcome to redistribute it under certain
conditions; for details please read the licese at the beginning of the
source code file.
EOF
}

set -e -u

SHOW_DEVICE_ONLY=0
VERBOSE=0
while getopts "vlh" opt; do
    case "$opt" in
        h)
            usage
            exit 2
            ;;
        l)
            SHOW_DEVICE_ONLY=1
            ;;
        v)
            VERBOSE=1
            ;;
        ?)
            echo
            usage
            exit 2
            ;;
    esac
done
DEV_NAME=${!OPTIND:-}

if [ -z ${DEV_NAME} ]; then
    usage
    exit 2
fi

# mount checking
if mount | grep "^${DEV_NAME}[[:digit:]]* "; then
    1>&2 echo
    1>&2 echo "the above disk or partition is still mounted, can't suspend device"
    1>&2 echo "unmount it first using umount"
    exit 1
fi

# looking for the parent of the device with type "usb-storage:usb", it
# is the grand-parent device of the SCSI host, and it's devpath is
# like
# /devices/pci0000:00/0000:00:1d.7/usb5/5-8 (or /fw5/fw5-8 for firewire devices)

# without an USB hub, the device path looks like:
# /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/host5/target5:0:0/5:0:0:0
# here the grand-parent of host5 is 2-1

# when there's a USB HUB, the device path is like:
# /devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2.2/5-2.2:1.0/host4/target4:0:0/4:0:0:0
# and the grand-parent of host4 is 5-2.2

DEVICE=$(udevadm info --query=path --name=${DEV_NAME} --attribute-walk | \
    egrep "looking at parent device" | head -1 | \
    sed -e "s/.*looking at parent device '\(\/devices\/.*\)\/.*\/host.*/\1/g")

if [ -z $DEVICE ]; then
    1>&2 echo "cannot find appropriate parent USB/Firewire device, "
    1>&2 echo "perhaps ${DEV_NAME} is not an USB/Firewire device?"
    exit 1
fi

# the trailing basename of ${DEVICE} is DEV_BUS_ID ("5-8" in the
# sample above)
DEV_BUS_ID=${DEVICE##*/}

[[ $VERBOSE == 1 ]] && echo "Found device $DEVICE associated to $DEV_NAME; USB bus id is $DEV_BUS_ID"

if [ ${SHOW_DEVICE_ONLY} -eq 1 ]; then
    echo Device: ${DEVICE}
    echo Bus ID: ${DEV_BUS_ID}
    exit 0
fi

# flush all buffers
sync

# root check
if [ `id -u` -ne 0 ]; then
    1>&2 echo error, must be run as root, exiting...
    exit 1
fi


# send SCSI sync command, some devices don't support this so we just
# ignore errors with "|| true"
[[ $VERBOSE == 1 ]] && echo "Syncing device $DEV_NAME"
sdparm --command=sync "$DEV_NAME" >/dev/null || true
# send SCSI stop command
[[ $VERBOSE == 1 ]] && echo "Stopping device $DEV_NAME"
sdparm --command=stop "$DEV_NAME" >/dev/null

# unbind it; if this yields "no such device", we are trying to unbind the wrong device
[[ $VERBOSE == 1 ]] && echo "Unbinding device $DEV_BUS_ID"
if [[ "${DEV_BUS_ID}" == fw* ]]
then
    echo -n "${DEV_BUS_ID}" > /sys/bus/firewire/drivers/sbp2/unbind
else
    echo -n "${DEV_BUS_ID}" > /sys/bus/usb/drivers/usb/unbind

    # suspend it if it's an USB device (we have no way to suspend a
    # firewire device yet)

    # check if CONFIG_USB_SUSPEND is enabled
    [[ $VERBOSE == 1 ]] && echo "Checking whether $DEVICE can be suspended"
    POWER_LEVEL_FILE=/sys${DEVICE}/power/level
    if [ ! -f "$POWER_LEVEL_FILE" ]; then
        1>&2 cat<<EOF
It's safe to remove the USB device now but better can be done. The
power level control file $POWER_LEVEL_FILE
doesn't exist on the system so I have no way to put the USB device
into suspend mode, perhaps you don't have CONFIG_USB_SUSPEND enabled
in your running kernel.

Read
http://elliotli.blogspot.com/2009/01/sa … linux.html
for an detailed explanation.
EOF
        exit 3
    fi

    [[ $VERBOSE == 1 ]] && echo "Suspending $DEVICE by writing to $POWER_LEVEL_FILE"
    echo 'suspend' > "$POWER_LEVEL_FILE"
fi

Dernière modification par chessou (Le 21/11/2014, à 02:48)

Hors ligne

#29 Le 16/11/2014, à 19:30

F50

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Pourquoi faire simple quant on peut faire compliqué...

echo 1 > /sys/block/sdX/device/delete

#30 Le 16/11/2014, à 20:12

The Uploader

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Dans le cas d'un DD externe qui a besoin d'être mis en veille avant d'être déconnecté, je doute que cela soit suffisant.
Et puis faudrait peut-être démonter la partition avant...
Et pas se tromper de sdX (raison pour laquelle on a inventé les UUID).


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#31 Le 16/11/2014, à 20:21

F50

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

@ The Uploader : À qui est destiné ton message ?

#32 Le 16/11/2014, à 20:31

moko138

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Le premier message a presque deux ans...
Il y en a vraiment, parmi vous, qui avez encore des problèmes avec xfce pour éjecter un usb ???


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#33 Le 16/11/2014, à 20:35

F50

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Pas vraiment. Et mon exemple au #27 est un DD externe en esata pas une vulgaire clé USB > éjecter...

#34 Le 16/11/2014, à 23:31

chessou

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

fcn50 a écrit :

Pourquoi faire simple quant on peut faire compliqué...

echo 1 > /sys/block/sdX/device/delete

Bonjour fcn50,

Cette technique ne fonctionne pas pour mon WD, pourquoi je n'en sais rien, seul le compliqué fonctionne smile.

Hors ligne

#35 Le 17/11/2014, à 07:06

F50

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Salut chessou,

Comment est-il branché, en usb ou sata/esata et quel modèle est-ce ?

#36 Le 17/11/2014, à 12:32

chessou

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

fcn50 a écrit :

Salut chessou,

Comment est-il branché, en usb ou sata/esata et quel modèle est-ce ?

C'est disque dur externe branché en USB sur un thinkpadR400, sous xubuntu 14.04LTS.
Modèle: Western Digital WDBACY5000ABK-EESN 500 GB My Passport Essential.

Comme dit The Uploader il semble que ce type de DD ait besoin d'être mis en veille pour être débranché, ce que fait le script, ou un démontage simple avec une attente de 15/30min environ car le DD a une espèce d'auto veille programmée.

Voilà! wink

Hors ligne

#37 Le 17/11/2014, à 13:17

F50

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Ah ok, donc le genre de WD à fuir comme la peste ! lol

#38 Le 17/11/2014, à 16:08

chessou

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

fcn50 a écrit :

Ah ok, donc le genre de WD à fuir comme la peste ! lol

Mais pour ceux qui ont la peste et qui souhaite tout de même désactiver leur DD je leur recommande la manip, ça prend 5 min, et après avec son petit fichier script on est plus embêté! Je m'en suis fait deux, un pour chaque port USB, un petit bash avant de retirer son DD, fin de l'histoire. cool

Hors ligne

#39 Le 17/11/2014, à 18:43

The Uploader

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

fcn50 a écrit :

@ The Uploader : À qui est destiné ton message ?

À toi.
Même s'il n'a pas besoin de mettre en veille le disque dur externe, faudrait peut-être démonter la partition d'abord avant de faire le gros bourrin... tongue

Dernière modification par The Uploader (Le 17/11/2014, à 18:45)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#40 Le 17/11/2014, à 19:33

moko138

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Ben justement,

en #27, fcn50 a écrit :

pour stopper mon DD externe esata avant d'éteindre le rack dans lequel il se trouve, j'ai enfin trouvé, ce, sans besoin de script ou autre, ouf! Voici la commande à faire après avoir démonter le DD préalablement:

echo 1 > /sys/block/sdX/device/delete

(...) Avant de faire cette commande il faut déjà être root (sudo su) (...)

  Mais ce qui m'inquiète, c'est le "sudo su".

Dernière modification par moko138 (Le 17/11/2014, à 19:34)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#41 Le 17/11/2014, à 20:03

F50

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

The Uploader a écrit :

Même s'il n'a pas besoin de mettre en veille le disque dur externe, faudrait peut-être démonter la partition d'abord avant de faire le gros bourrin...

C'est bien ce que j'indique au #27, t'es tombé du lit à 17:43 ? tongue

@ moko : T'es bien inquiets pour si peu. smile Impossible d'exécuter cette commande sans être en sudo préalablement, essayes, tu verras.

Edit : En effet, c'est sudo -i pas sudo su !

Dernière modification par F50 (Le 02/12/2021, à 12:43)

#42 Le 30/11/2014, à 10:37

F50

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

[nom de d..., ça fait la 3ème fois que j'ai ceci parce que ce crétin me dit : vous n'avez pas le droit de poster!!!!]

J'ai essayer la solution chessou mais qui ni n'éteint le DD et donne l'erreur :

WARNING! power/level is deprecated; use power/control instead

Par contre j'ai trouvé la solution (hybride) pour mon DD (WD rouge dans boitier ICY) que voici :

sudo sdparm --command=stop /dev/sdc

Résultat :

/dev/sdc: ASMT      2115              0

sudo hdparm -Y /dev/sdc

Résultat (ici le DD s'arrête de tourner) :

/dev/sdc:
issuing sleep command

echo 1 > /sys/block/sdc/device/delete

Résultat :

sd 10:0:0:0: [sdc] Synchronizing SCSI cache

Puis je débranche le DD et résultat :

usb 4-2: USB disconnect, device number 5

Aucune erreur, DD arrêté et synchronisé, tout me semble propre, parfait et sans script. smile

Si d'autres pouvait essayer, ceserait intéressant. Je me demande si la première commande est nécessaire ? Je testerai et posterai.

#43 Le 30/11/2014, à 13:53

chessou

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

root@ThinkPad-R400:/home/bibi# sudo sdparm --command=stop /dev/sdb
    /dev/sdb: WD        My Passport 0730  1016
root@ThinkPad-R400:/home/bibi# sudo hdparm -Y /dev/sdb

/dev/sdb:
 issuing sleep command
SG_IO: bad/missing sense data, sb[]:  70 00 05 00 00 00 00 0a 00 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
root@taraud-ThinkPad-R400:/home/yoann# echo 1 > /sys/block/sdb/device/delete

Voilà bah pour moi ça donne rien. La première commande fait ralentir temporairement le DD mais il repart aussitôt, la deuxième renvoie une erreur et la troisième me supprime le disque dur de mon système mais le disque dur est toujours bien alimenté.

Bref il faut jamais que ça marche pour tout le monde!!! lol

Hors ligne

#44 Le 30/11/2014, à 14:11

F50

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Décidément, une vraie plaie ton WD ! tongue Merci d'avoir testé, dommage que ça ne marche pas pour toi.

Pour être précis, chez moi le boitier reste allumé jusqu'à la déconnexion du câble USB (c'est le port qui l'alimente, normal) mais le DD s'arrête bien après la commande hdparm ce qui permet de le synchroniser et le retirer du système avec la dernière commande en sécurité.

J'ai déjà entendu pas mal de soucis avec ces WD mytruc ou mymachin. J'ai eu de la chance que billou m'a fait connaître ces boîtiers 2.5" vierge où l'on peut mettre le DD de son choix, c'est un vrai plus et ça permet d'avoir plusieurs DD avec un seul boîtier le tout sans logiciel constructeur pré-installé.

#45 Le 30/11/2014, à 14:46

chessou

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Juste pour info c'est quoi comme boitier ICY que tu as pris? Tu peux mettre des disques dur externe ou c'est juste pour les disques dur en rack?

Merci
wink

Hors ligne

#46 Le 30/11/2014, à 16:13

F50

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Ceci :

http://www.ldlc.com/fiche/PB00158762.html

C'est juste un boîtier (pour un seul DD 2.5") en alu (refroidit mieux que le plastoche) sobre, solide et propre, à peine plus grand qu'un paquet de clopes, la moitié moins épais avec un système d'ouverture du couvercle à glissière (permet d'ouvrir pour encore mieux refroidir lors de utilisation en pays chauds). Pas de soft à deux balles (type WD mysuck), reconnu instantanément et pouvant bouffer le DD de ton choix en 2.5". Bref, je suis super content de cet outil.

Billou en utilise des moins chers (il ne m'avait pas montré avant mon achat) :

http://forum.xubuntu-fr.org/viewtopic.php?id=1729791

#47 Le 30/11/2014, à 17:19

Hors ligne

#48 Le 03/09/2015, à 15:27

chessou

Re : [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Bonjour,

Encore désolé de remonter ce vieux sujet mais j'ai trouvé plus simple.
Pour éjecter mon fameux WD externe My Passport avec son fameux système de mise en veille interne j'utilise à présent gnome-disk-utility 3.10 https://doc.ubuntu-fr.org/gnome-disk-utility#voir_aussi et ça fonctionne parfaitement. Il suffit d'ouvrir l'utilitaire, de sélectionner son disque dur et de cliquer sur l'icône d'extinction situer dans la fenêtre de droite. Avec cette méthode j'éjecte tout mes disques dur sans aucun problème et proprement.
Voilà plus de script ou de ligne de commande, bref 0 prise de tête dans mon cas avec cet utilitaire.

Cordialement. wink

PS: je me suis également fait un petit disque dur externe sur les idées de f50 avec un boîtier ORICO 2599US3 et un WD 750Go Blue 9,5mm et j'en suis très content merci big_smile.

Dernière modification par chessou (Le 03/09/2015, à 15:41)

Hors ligne