Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#26 Le 08/01/2013, à 21: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, à 16:19

fcn50

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 su) 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 fcn50 (Le 03/10/2013, à 19:35)


14.04.1 LTS, Xfce 4.10.1, Phenom II x6 1090T BE, SSD Patriot Inferno 60 Go, WD Black 1 To, Sapphire HD 7750 ULTIMATE, RME HDSP 9632, Dell U2713HM.
Un site qui vaut le détour: http://blog.syti.net  Une radio hors du commun: http://solenopole.org  You like the american dream? Wellcome to Guantànamo!

En ligne

#28 Le 15/11/2014, à 14: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, à 01:48)


Xubuntu 14.04LTS
XFCE 4.10

Hors ligne

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

fcn50

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

14.04.1 LTS, Xfce 4.10.1, Phenom II x6 1090T BE, SSD Patriot Inferno 60 Go, WD Black 1 To, Sapphire HD 7750 ULTIMATE, RME HDSP 9632, Dell U2713HM.
Un site qui vaut le détour: http://blog.syti.net  Une radio hors du commun: http://solenopole.org  You like the american dream? Wellcome to Guantànamo!

En ligne

#30 Le 16/11/2014, à 19: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).


Passer de Ubuntu 10.04 à Xubuntu 12.04 LTS
ASUS N56VV (UEFI + GPT, Core i5-3230M @ 2.60GHz, Intel HD4000 + GeForce 750M, 12 Go de RAM, SSD 1 To)
Système principal : Archlinux (amd64), avec KDE
Système oublié la plupart du temps : Windows 8.1 Update 1 (x64, OEM)

Hors ligne

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

fcn50

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

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


14.04.1 LTS, Xfce 4.10.1, Phenom II x6 1090T BE, SSD Patriot Inferno 60 Go, WD Black 1 To, Sapphire HD 7750 ULTIMATE, RME HDSP 9632, Dell U2713HM.
Un site qui vaut le détour: http://blog.syti.net  Une radio hors du commun: http://solenopole.org  You like the american dream? Wellcome to Guantànamo!

En ligne

#32 Le 16/11/2014, à 19: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 ???

Hors ligne

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

fcn50

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...


14.04.1 LTS, Xfce 4.10.1, Phenom II x6 1090T BE, SSD Patriot Inferno 60 Go, WD Black 1 To, Sapphire HD 7750 ULTIMATE, RME HDSP 9632, Dell U2713HM.
Un site qui vaut le détour: http://blog.syti.net  Une radio hors du commun: http://solenopole.org  You like the american dream? Wellcome to Guantànamo!

En ligne

#34 Le 16/11/2014, à 22: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.


Xubuntu 14.04LTS
XFCE 4.10

Hors ligne

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

fcn50

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 ?


14.04.1 LTS, Xfce 4.10.1, Phenom II x6 1090T BE, SSD Patriot Inferno 60 Go, WD Black 1 To, Sapphire HD 7750 ULTIMATE, RME HDSP 9632, Dell U2713HM.
Un site qui vaut le détour: http://blog.syti.net  Une radio hors du commun: http://solenopole.org  You like the american dream? Wellcome to Guantànamo!

En ligne

#36 Le 17/11/2014, à 11: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


Xubuntu 14.04LTS
XFCE 4.10

Hors ligne

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

fcn50

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

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


14.04.1 LTS, Xfce 4.10.1, Phenom II x6 1090T BE, SSD Patriot Inferno 60 Go, WD Black 1 To, Sapphire HD 7750 ULTIMATE, RME HDSP 9632, Dell U2713HM.
Un site qui vaut le détour: http://blog.syti.net  Une radio hors du commun: http://solenopole.org  You like the american dream? Wellcome to Guantànamo!

En ligne

#38 Le 17/11/2014, à 15: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


Xubuntu 14.04LTS
XFCE 4.10

Hors ligne

#39 Le 17/11/2014, à 17: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, à 17:45)


Passer de Ubuntu 10.04 à Xubuntu 12.04 LTS
ASUS N56VV (UEFI + GPT, Core i5-3230M @ 2.60GHz, Intel HD4000 + GeForce 750M, 12 Go de RAM, SSD 1 To)
Système principal : Archlinux (amd64), avec KDE
Système oublié la plupart du temps : Windows 8.1 Update 1 (x64, OEM)

Hors ligne

#40 Le 17/11/2014, à 18: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, à 18:34)

Hors ligne

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

fcn50

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.


14.04.1 LTS, Xfce 4.10.1, Phenom II x6 1090T BE, SSD Patriot Inferno 60 Go, WD Black 1 To, Sapphire HD 7750 ULTIMATE, RME HDSP 9632, Dell U2713HM.
Un site qui vaut le détour: http://blog.syti.net  Une radio hors du commun: http://solenopole.org  You like the american dream? Wellcome to Guantànamo!

En ligne

  • Accueil
  • » Forum
  • » XFCE
  • » [RESOLU] Ejecter des clés USB et DDE avec Xubuntu

Haut de page ↑