Dnes jsem měl trochu času na testování, tak ti popíši postup a ty si to budeš muset přizpůsobit podle svého počítače. Pokud by si to nezvládl, přikročilo by se ke zdlouhavějšímu řešení, že by si sem dával výpisy a já bych ti ten script přímo přizpůsobil. Dobrá takže jako první věc si dej výpis připojených USB zařízení
lsusb
já ti dám na ukázku moje dva. První je bez zařízení, které se bude vypínat a ten druhý s ním.
1:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 04a9:220d Canon, Inc. CanoScan N670U/N676U/LiDE 20
Bus 002 Device 003: ID 03f0:1604 Hewlett-Packard DeskJet 940c
Bus 002 Device 004: ID 0db0:6970 Micro Star International MS-6970 BToes Bluetooth adapter
Bus 002 Device 005: ID 09da:000a A4 Tech Co., Ltd Optical Mouse Opto 510D
Bus 002 Device 006: ID 04d9:1503 Holtek Semiconductor, Inc. Shortboard Lefty
2:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 04a9:220d Canon, Inc. CanoScan N670U/N676U/LiDE 20
Bus 002 Device 003: ID 03f0:1604 Hewlett-Packard DeskJet 940c
Bus 002 Device 004: ID 0db0:6970 Micro Star International MS-6970 BToes Bluetooth adapter
Bus 002 Device 005: ID 09da:000a A4 Tech Co., Ltd Optical Mouse Opto 510D
Bus 002 Device 006: ID 04d9:1503 Holtek Semiconductor, Inc. Shortboard Lefty
Bus 001 Device 010: ID 13fe:1e00 Kingston Technology Company Inc. Flash Drive 2 GB [ICIDU 2 GB]
Jak můžeš vidět, přibylo nové zařízení
Bus 001 Device 010: ID 13fe:1e00 Kingston Technology Company Inc. Flash Drive 2 GB [ICIDU 2 GB]
Ty si takto identifikuj tu tvoji chladící podložku. Pak si musíš identifikovat adresář tvého zařízení v
/sys/bus/usb/devices/
zaměř se na dvojčísla oddělené pomlčkou. Takže
cd /sys/bus/usb/devices
a pak si vypiš obsah složky
ls
pokud by tě zajímaly podrobnosti tak
ls -all
usb1 1-9 2-1 2-2:1.0 2-4:1.1 2-7:1.0 2-8:1.1
usb2 1-9:1.0 2-1:1.0 2-4 2-4:1.2 2-8
1-0:1.0 2-0:1.0 2-2 2-4:1.0 2-7 2-8:1.0
O mém zařízení vím, že je
Bus 001 Device 010: ID 13fe:1e00 Kingston Technology Company Inc. Flash Drive 2 GB [ICIDU 2 GB]
tudíž se zaměřím na složky, začínající číslem 1. A mám podle výpisu Bus 001 pouze dvě zařízení, takže v úvahu připadají složky
1-9 a 1-0
protože ty jsou obsazené nějakým zařízením. Poznáš to tak, že máš za číslem složky
:1.0
Nyní si ověřím, v jaké složce je můj flashdisk. Na to použij
cat
musíš být pořád ve složce devices
cuore@quadrofoglio:/sys/bus/usb/devices$ cat 1-9/busnum
1
tím mám potvrzeno, že je ve složce zařízení s Bus číslem 1 protože mi cat poslal na druhý řádek výstup s číslem
1
dále si zjistím device číslo
cuore@quadrofoglio:/sys/bus/usb/devices$ cat 1-9/devnum
10
Cat mi vrátil hodnotu
10
a tím mám potvrzeno jeho umístnění. Vypínání si otestuju
echo 2 > /sys/bus/usb/devices/1-9/power/autosuspend
kde si USB uspím na 2s
V mém případě bude script vypadat takhle
#!/bin/sh
set -x;
exec 2>/var/tmp/`basename $0`.log;
# tento script vypíná napájení USB
case "$1" in
hibernate|suspend)
echo suspend > /sys/bus/usb/devices/1-9/power/level &
;;
resume|thaw)
;;
*)
exit 0
;;
esac
Je to bohužel závislé na tom, že budeš muset mít podložku vždy ve stejném USB portu, pokud by sis ho měnil, tak by si musel napsat script na vypnutí všech USB portů. Řešilo se to třeba tady
http://ubuntuforums.org/archive/index.php/t-1463175.html Ničeho se nelekej jsou tam vypsámy jednoduše všechny složky z
/sys/bus/usb/devices
Hodně zdaru