[Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Riconoscimento, installazione e configurazione delle periferiche.
Scrivi risposta
Zamu
Prode Principiante
Messaggi: 98
Iscrizione: martedì 12 febbraio 2008, 21:47

[Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da Zamu »

Ho notato un particoare. Su windows, nello smontare una pendrive, viene automaticamente disabilitata l'alimentazione di quella porta usb. Questo per evitare di staccare "a strappo" il pen drive. Su ubuntu invece, smontando la periferica, l'alimentazione rimane attiva. Ovviamente non è tanto salutare... C'è modo di disattivare l'alimentazione quando smonto una penna usb?
Avatar utente
ub4ever
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1197
Iscrizione: giovedì 29 maggio 2008, 18:24
Località: Palmariggi (Le)
Contatti:

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da ub4ever »

quoto.....
è possibile???
La causa di molti problemi di solito va ricercata tra il monitor e la sedia!                                   linux: basta con le clessidre sullo schermo
->Terra del fuoco - Mediterranea<-      antoniomelcore@joindiaspora.com
Programmino creato con BUC per convertire gli .avi in .svi Samsung
Zamu
Prode Principiante
Messaggi: 98
Iscrizione: martedì 12 febbraio 2008, 21:47

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da Zamu »

Dopo un mesetto faccio un piccolo up... mi sembra un punto utile a tutti.  ;) non è salutare staccare le penne usb con l'alimentazione ancora attiva.
Avatar utente
chiccoz69
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 932
Iscrizione: domenica 28 ottobre 2007, 21:51
Desktop: gnome
Distribuzione: Ubuntu 22.04 LTS
Sesso: Maschile
Località: Bardolino
Contatti:

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da chiccoz69 »

Anch'io notai questa cosa quando due anni fa mi avvicinai a Ubuntu.
Mi viene spontanea una domanda, ma è poi vero che è dannoso per la pen drive?
In due anni che uso esclusivavamente Linux non ho mai avuto perdite di dati o danni a nessuna delle pen drive e vi assicuro che le uso moltissimo.
Sono le cose semplici che mozzano il fiato. (Gandhi)

Linux user number 497125
Xiam
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2174
Iscrizione: venerdì 25 aprile 2008, 11:59

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da Xiam »

Me lo sono chiesto anch'io.
Da qualche parte avevo trovato che in realtà Windows stacca l'alimentazione per assicurare all'utente che nulla sia più scritto o letto sulla pendrive al momento di scollegarla, e che l'equivalente Linux è smontare il disco e basta.

Però in effetti sarebbe interessante riuscire a togliere l'alimentazione prima di scollegare...
Avatar utente
Stealth
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 17365
Iscrizione: martedì 31 gennaio 2006, 22:55
Desktop: Gnome
Distribuzione: Ubuntu 22.04 LTS

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da Stealth »

Premettendo che dal punto di vista tecnico non capisco nulla......la mia obiezione ai tuoi dubbi è questa: una volta che sei certo che i dati sono al sicuro (partizione smontata), perchè la penna dovrebbe temere il distacco dalla presa?
Guardala al contrario, quando la inserisci la presa è alimentata, mica la accendi dopo l'inserimento. A che dovrebbe servire sta specie di interruttore?

Non vorrei che windows facesse così solo perchè (staccandogli la corrente) è l'unico modo in cui è sicuro che niente stia scrivendo niente da nessuna parte. Se così fosse non ci serve, non è il nostro caso  ;)
ciao
Xiam
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2174
Iscrizione: venerdì 25 aprile 2008, 11:59

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da Xiam »

È quello che sospettavo anch'io... spero sia proprio così  :)
Avatar utente
chiccoz69
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 932
Iscrizione: domenica 28 ottobre 2007, 21:51
Desktop: gnome
Distribuzione: Ubuntu 22.04 LTS
Sesso: Maschile
Località: Bardolino
Contatti:

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da chiccoz69 »

Stealth ha scritto: Premettendo che dal punto di vista tecnico non capisco nulla......la mia obiezione ai tuoi dubbi è questa: una volta che sei certo che i dati sono al sicuro (partizione smontata), perchè la penna dovrebbe temere il distacco dalla presa?
Guardala al contrario, quando la inserisci la presa è alimentata, mica la accendi dopo l'inserimento. A che dovrebbe servire sta specie di interruttore?

Non vorrei che windows facesse così solo perchè (staccandogli la corrente) è l'unico modo in cui è sicuro che niente stia scrivendo niente da nessuna parte. Se così fosse non ci serve, non è il nostro caso  ;)
ciao
Probabilmente è proprio così! ;D
Sono le cose semplici che mozzano il fiato. (Gandhi)

Linux user number 497125
Avatar utente
2Pac-79
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 307
Iscrizione: venerdì 20 giugno 2008, 11:56

[Risolto] Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da 2Pac-79 »

EUREKA!!! ;D ;D ;D

Ho trovato il modo di disattivare l'alimentazione nei dispositivi USB:

si deve creare questo piccolo script:  USBToggle.sh

Codice: Seleziona tutto

#!/bin/bash

# USB Power Switching Script
# Script to toggle power management status of USB devices
# by DanyTheBat

declare -a ARRAYDEV
declare -a ARRAYPROD
declare -a ARRAYPWRSTATUS
declare -a ARRAYMAXPWR
let nprod=0

function padl {    
    tmp=$2
    while [ ${#tmp} -lt $1 ];
    do
        tmp="$tmp "
    done
    echo "$tmp"
}

function padr {    
    tmp=$2
    while [ ${#tmp} -lt $1 ];
    do
        tmp=" $tmp"
    done
    echo "$tmp"
}

function lower {
    echo "$(echo $1 | tr [:upper:] [:lower:])"
}

function query_level {
    # level: on - auto - suspend

    if [ -e $1/power/level ]; then
        ARRAYPWRSTATUS[$nprod]=$(cat $devhome/power/level)
    else if [ ! -e $devhome/power/level ]; then
        ARRAYPWRSTATUS[$nprod]=NA
        fi
    fi
}

function scan_usb {
    for idVendor in $(ls /sys/bus/usb/devices/*/idVendor); do
        devhome=$(dirname $idVendor)
        devlevel=$devhome/power/level

        # if product, leo, else leo idvendor e idproduct
        if [ -e $devhome/product ]; then
            ARRAYPROD[$nprod]="$devhome"
            ARRAYPRODDESC[$nprod]="$(cat $devhome/product)"
            ARRAYMAXPWR[$nprod]="$(cat $devhome/bMaxPower)"
            query_level $devhome
            ((nprod++))
        else if [ -e $devhome/idVendor ]; then
            ARRAYPROD[$nprod]="$devhome"
            ARRAYPRODDESC[$nprod]="$(cat $devhome/idVendor):$(cat $devhome/idProduct)"
            ARRAYMAXPWR[$nprod]="$(cat $devhome/bMaxPower)"
            query_level $devhome
            ((nprod++))
            fi
        fi
    done
}

function list_usb {
    for element in $(seq 0 $((${#ARRAYPROD[@]} -1))); do
        echo -e "|$(padl 25 "${ARRAYPRODDESC[$element]}")|$(padl 30 "(${ARRAYPROD[$element]})")|$(padr 11 "[${ARRAYPWRSTATUS[$element]}]")|$(padr 7 "${ARRAYMAXPWR[$element]}")|"
        #echo -e "${ARRAYPRODDESC[$element]}\\t(${ARRAYPROD[$element]})\\t[${ARRAYPWRSTATUS[$element]}]\\t${ARRAYMAXPWR[$element]}"
    done
}

function toggle_usb {
    for element in $(seq 0 $((${#ARRAYPROD[@]} -1))); do
        if [[ $(lower "${ARRAYPRODDESC[$element]}") =~ $(lower "$1") ]]; then
            if [ "${ARRAYPWRSTATUS[$element]}" == "on" ] || [ "${ARRAYPWRSTATUS[$element]}" == "auto" ] ; then
                echo "suspend" > ${ARRAYPROD[$element]}/power/level
                echo -e "${ARRAYPRODDESC[$element]} switching from [${ARRAYPWRSTATUS[$element]}] to [suspend]"
            else
                echo "auto" > ${ARRAYPROD[$element]}/power/level    
                echo -e "${ARRAYPRODDESC[$element]} switching from [${ARRAYPWRSTATUS[$element]}] to [auto]"
            fi
        fi
    done
}

function verify_usb {
    for element in $(seq 0 $((${#ARRAYPROD[@]} -1))); do
        if [[ $(lower "${ARRAYPRODDESC[$element]}") =~ $(lower "$1") ]]; then
            return 0
        fi
    done

    return 1
}

function get_usb_by_name {
    for element in $(seq 0 $((${#ARRAYPROD[@]} -1))); do
        if [[ $(lower "${ARRAYPRODDESC[$element]}") =~ $(lower "$1") ]]; then
            echo -e "|$(padl 25 "${ARRAYPRODDESC[$element]}")|$(padl 30 "(${ARRAYPROD[$element]})")|$(padr 11 "[${ARRAYPWRSTATUS[$element]}]")|$(padr 7 "${ARRAYMAXPWR[$element]}")|"
        fi
    done
}

scan_usb

case $1 in
    -l) echo -e
        echo -e "USB Power Switching Script"
        echo -e "------------------------------------------------------------------------------"
        list_usb
        echo -e "------------------------------------------------------------------------------"
        echo -e
    ;;

    -t) if [ ! "$2" == "" ] && verify_usb $2; then
        toggle_usb $2
        else
        echo "Specify a valid USB Device: '$2' doesn't exist!!!"
        fi
    ;;

    -v) if verify_usb $2; then
        echo -e
        echo -e "USB Power Switching Script"
        echo -e "------------------------------------------------------------------------------"
        get_usb_by_name $2
        echo -e "------------------------------------------------------------------------------"
        echo -e
        echo -e "'$2' USB Device exists!!!"
        echo -e
        else
        echo -e
        echo -e "USB Power Switching Script"
        echo -e
        echo -e "'$2' USB Device doesn't exist!!!"
        echo -e
        fi
    ;;

    *) echo -e
       echo -e "USB Mouse Power Switching Script"
       echo -e "------------------------------------------------------------------------------"
       echo -e "-l\\tList USB Devices"
       echo -e "-t name\\ttoggle USB Device 'name' status"
       echo -e "-v name\\tverify if USB Device 'name' exists"
       echo -e
    ;;
esac
Basta dare diritti di esecuzione, e il gioco è fatto!

Ciao ciao
Too kool 4 thiz planet
Xiam
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2174
Iscrizione: venerdì 25 aprile 2008, 11:59

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da Xiam »

non ci capisco molto, ma sarebbe interessante provarlo. Hai trovato fonti esterne per arrivarci?
Avatar utente
2Pac-79
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 307
Iscrizione: venerdì 20 giugno 2008, 11:56

[Risolto] Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da 2Pac-79 »

Sì, anche se purtroppo ho perso il link... Ho fatto copia-incolla dello script e l'ho provato. Funziona benissimo.

Basta creare questo script nella cartella /usr/bin:

Codice: Seleziona tutto

sudo vim /usr/bin/USBToggle.sh
Fare copia-incolla dello script postato in precedenza, salvare e uscire, ed alla fine dare diritti di esecuzione:

Codice: Seleziona tutto

sudo chmod +x /usr/bin/USBToggle.sh
A questo punto si può provare il comando.

Ciao ciao
Too kool 4 thiz planet
futurekiller
Prode Principiante
Messaggi: 4
Iscrizione: martedì 24 marzo 2009, 10:37

Re: [Risolto] Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da futurekiller »

2Pac-79 ha scritto: Sì, anche se purtroppo ho perso il link... Ho fatto copia-incolla dello script e l'ho provato. Funziona benissimo.

Basta creare questo script nella cartella /usr/bin:

Codice: Seleziona tutto

sudo vim /usr/bin/USBToggle.sh
Fare copia-incolla dello script postato in precedenza, salvare e uscire, ed alla fine dare diritti di esecuzione:

Codice: Seleziona tutto

sudo chmod +x /usr/bin/USBToggle.sh
A questo punto si può provare il comando.

Ciao ciao
Ciao ragazzi, sono nuovo del forum anche se è da un bel pò che vi leggo.. ieri ho trovato anch'io questo script
(potete trovare qui la discussione di quello che lo ha fatto --> http://forum.eeepc.it/viewtopic.php?id=5642 )
ma non riesco a farlo funzionare.. ne su kubuntu ne su xubuntu
Non so perche ma se eseguo il comando lui me lo da in suspend ma la corrente non cambia

Codice: Seleziona tutto

alberto@graphics2:~$ sudo ./USBToggle.sh -l

USB Power Switching Script

USB Storage Adapter     (/sys/bus/usb/devices/5-2)      [auto]   98mA
UHCI Host Controller    (/sys/bus/usb/devices/usb1)     [auto]    0mA
UHCI Host Controller    (/sys/bus/usb/devices/usb2)     [auto]    0mA
UHCI Host Controller    (/sys/bus/usb/devices/usb3)     [auto]    0mA
UHCI Host Controller    (/sys/bus/usb/devices/usb4)     [auto]    0mA
EHCI Host Controller    (/sys/bus/usb/devices/usb5)     [auto]    0mA


alberto@graphics2:~$ sudo ./USBToggle.sh -t USB
USB Storage Adapter switching from [auto] to [suspend]
alberto@graphics2:~$ sudo ./USBToggle.sh -l

USB Power Switching Script

USB Storage Adapter     (/sys/bus/usb/devices/5-2)      [suspend]        98mA
UHCI Host Controller    (/sys/bus/usb/devices/usb1)     [auto]    0mA
UHCI Host Controller    (/sys/bus/usb/devices/usb2)     [auto]    0mA
UHCI Host Controller    (/sys/bus/usb/devices/usb3)     [auto]    0mA
UHCI Host Controller    (/sys/bus/usb/devices/usb4)     [auto]    0mA
EHCI Host Controller    (/sys/bus/usb/devices/usb5)     [auto]    0mA
come potete vedere la corrente non cambia.. e nemmeno con la chiavetta della VO..
resta sempre a 500mA

Il mio problema è proprio per la chiavetta... dopo 2 giorni che resta collegata rischia di impallarsi.. (resta la spia blu accesa e fissa che mi da il collegamento umts ma non c'è più verso di scollegarla e collegarla a meno che non la si stacchi fisicamente e la si reinserisca)

con questo script volevo spegnerla e riaccenderla..

anche perchè è un pc remoto e deve fare tutto da solo se non voglio fare 15km per riattivare la connessione...

sapete secondo voi perchè non mi disabilita l'alimentazione?

Ps. ho la 8.10

Ciao e grazie a tutti
Avatar utente
2Pac-79
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 307
Iscrizione: venerdì 20 giugno 2008, 11:56

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da 2Pac-79 »

La lucina della chiavetta rimane accesa o si spegne?
Too kool 4 thiz planet
futurekiller
Prode Principiante
Messaggi: 4
Iscrizione: martedì 24 marzo 2009, 10:37

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da futurekiller »

rimane sempre accesa.. quella che vedi sopra è un hd usb..
resta sempre alimentato...
quello che non riesco a capire è che non funziona su 2 pc diversi.. boh!
please help me!

Ciao
Avatar utente
sono io il vero spillo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1614
Iscrizione: domenica 3 dicembre 2006, 15:40
Località: casa mia
Contatti:

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da sono io il vero spillo »

lasciando da parte che è interessante che esista uno script del genere e che me lo leggerò con calma appena possibile...

state tranquilli che la pendrive non si rovina affatto se è ancora alimentata. quando spegnete una luce cosa credete di fare? interrompete bruscamente un circuito elettrico, lo stesso che fate con la pendrive ;)
futurekiller
Prode Principiante
Messaggi: 4
Iscrizione: martedì 24 marzo 2009, 10:37

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da futurekiller »

sono io il vero spillo ha scritto: lasciando da parte che è interessante che esista uno script del genere e che me lo leggerò con calma appena possibile...

state tranquilli che la pendrive non si rovina affatto se è ancora alimentata. quando spegnete una luce cosa credete di fare? interrompete bruscamente un circuito elettrico, lo stesso che fate con la pendrive ;)
D'accordo, ma a me non interessa non rovinare la pen drive..
devo simulare di staccarla e riattaccarla alla usb.. e visto che è un pc distante da me non ho altre vie che via software

:(
futurekiller
Prode Principiante
Messaggi: 4
Iscrizione: martedì 24 marzo 2009, 10:37

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da futurekiller »

proprio nessuno che ha il mio stesso problema? nessuno che possa provare lo script per vedere se va o meno?
ciao e grazie
Alberto
Andrea9
Prode Principiante
Messaggi: 61
Iscrizione: lunedì 23 marzo 2009, 9:03

Re: [Usb] Disattivare alimentazione usb dopo aver smontato la Pendrive

Messaggio da Andrea9 »

futurekiller ha scritto: proprio nessuno che ha il mio stesso problema? nessuno che possa provare lo script per vedere se va o meno?
ciao e grazie
Alberto
Ho provato su una porta USB sulla quale c'è attaccata una ventola e la ventola non si ferma. Lo stato della porta passa però da [auto] a [suspend]

EDIT: Non è vero, la ventola non si vede tra i dispositivi. Quello che vedo è il mouse. Non posso essere utile.
Ultima modifica di Andrea9 il martedì 14 settembre 2010, 17:49, modificato 1 volta in totale.
Andrea9
-----------
DELL XPS17 FHD WLED --- i7-2670QM -- 8 GB RAM -- GeForce® GT 550M  ---- Ubuntu 12.04 64 bit - 3.2.0-23
HP Pavillon DV9820el --- T5550 -- 4 GB RAM -- nVidia 8600 -- 17'' ---- Ubuntu 12.04 64 bit - 3.2.0-23
Scrivi risposta

Ritorna a “Driver e periferiche”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 10 ospiti