Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Vypnutí napájení USB  (Přečteno 2771 krát)

Fargotronic

Vypnutí napájení USB
« kdy: 10 Června 2013, 09:19:02 »
Ahoj,

Mám notebook již v trochu rozpadajícím stavu. Takže ventilátor je napojený do USB (konektor na základní desce je mrtvý). Takže bych potřeboval poradit s jednou věcí. Mám nastavené, že počítač automaticky usne po hodině neaktivity. Chtěl bych se tedy zeptat, jestli se nějakým způsobem dá udělat, že by se s uspáním počítače automaticky vypnulo napájení USB a zároveň by naběhlo s probuzením počítače.

Kdyby náhodou šlo, že by se pouštěl proud do jednoho USB podle teploty PC (něco jako je regulace ventilátoru na základní desce) tak by to bylo super, ale spokojím se s tím automatickým vypínáním při uspání PC.

Jde totiž o to, že většinou usnu při filmu a poté mi až do rána počítač "hučí". :/

Děkuji mockrát
„Potřebujeme podstatně nový způsob myšlení, jestliže má lidstvo přežít.“
Albert Einstein

RRRadek Neužil

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4672
Re:Vypnutí napájení USB
« Odpověď #1 kdy: 10 Června 2013, 11:54:23 »
PS: omluvte moji češtinu není to moje silná stránka, snažím se hlavně vystihnou podstatu problému. ;)

Fargotronic

Re:Vypnutí napájení USB
« Odpověď #2 kdy: 10 Června 2013, 12:03:32 »
Děkuji za rychlou reakci, ale z uvedeného odkazu nejsem vůbec chytřejší. :/

Vím, je to pěkná prasárna mít takto zapojený ventilátor, ale nějak PC chladit musím. :D :D :D
„Potřebujeme podstatně nový způsob myšlení, jestliže má lidstvo přežít.“
Albert Einstein

RRRadek Neužil

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4672
Re:Vypnutí napájení USB
« Odpověď #3 kdy: 10 Června 2013, 12:11:10 »
Pokud je to tedy klasický PC tak ho připoj přímo na zdroj, na 5V čili červený+ a černý- ;)
PS: omluvte moji češtinu není to moje silná stránka, snažím se hlavně vystihnou podstatu problému. ;)

Cuore

  • Závislák
  • ***
  • Příspěvků: 2534
Re:Vypnutí napájení USB
« Odpověď #4 kdy: 10 Června 2013, 12:15:46 »
vypínání USB jsem kdysi řešil tak si to přečti
http://forum.ubuntu.cz/index.php?topic=64913.msg463134#msg463134 pak se ptej  ;D

Fargotronic

Re:Vypnutí napájení USB
« Odpověď #5 kdy: 10 Června 2013, 12:45:21 »
Bohužel se jedná o notebook. ;)

Tak se snažím postupovat podle tvého návodu, ale mám menší problém. :-) Toto jsou výpisy:
Zapojený pouze ventilátor (notebook má dvě USB)
Kód: [Vybrat]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Připojená i optická myš
Kód: [Vybrat]
Bus 003 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Takže jsem se dále dočetl, že je využíváno tedy pouze napájení a USB se tedy nemá jak identifikovat. Takže pokud bych chtěl vypnout všechny USB, tak příkaz bude vypadat takto?
Kód: [Vybrat]
#!/bin/bash

. /usr/lib/pm-utils/functions

case "$1" in
hibernate|suspend)
echo suspend >/sys/bus/usb/devices/1-0:1.0/power/level
echo suspend >/sys/bus/usb/devices/1-8/power/level
echo suspend >/sys/bus/usb/devices/1-8.1/power/level
echo suspend >/sys/bus/usb/devices/1-8.1.1/power/level
echo suspend >/sys/bus/usb/devices/1-8.1.1:1.0/power/level
echo suspend >/sys/bus/usb/devices/1-8.1.2/power/level
echo suspend >/sys/bus/usb/devices/1-8.1.2:1.0/power/level
echo suspend >/sys/bus/usb/devices/1-8.1.3/power/level
echo suspend >/sys/bus/usb/devices/1-8.1.3:1.0/power/level
echo suspend >/sys/bus/usb/devices/1-8.1.3:1.1/power/level
echo suspend >/sys/bus/usb/devices/1-8.1.3:1.2/power/level
echo suspend >/sys/bus/usb/devices/1-8.1.3:1.3/power/level
echo suspend >/sys/bus/usb/devices/1-8.1:1.0/power/level
echo suspend >/sys/bus/usb/devices/1-8.3/power/level
echo suspend >/sys/bus/usb/devices/1-8.3:1.0/power/level
echo suspend >/sys/bus/usb/devices/1-8:1.0/power/level
echo suspend >/sys/bus/usb/devices/2-0:1.0/power/level
echo suspend >/sys/bus/usb/devices/usb1/power/level
echo suspend >/sys/bus/usb/devices/usb2/power/level
;;
thaw|resume)
echo auto >/sys/bus/usb/devices/1-0:1.0/power/level
echo auto >/sys/bus/usb/devices/1-8/power/level
echo auto >/sys/bus/usb/devices/1-8.1/power/level
echo auto >/sys/bus/usb/devices/1-8.1.1/power/level
echo auto >/sys/bus/usb/devices/1-8.1.1:1.0/power/level
echo auto >/sys/bus/usb/devices/1-8.1.2/power/level
echo auto >/sys/bus/usb/devices/1-8.1.2:1.0/power/level
echo auto >/sys/bus/usb/devices/1-8.1.3/power/level
echo auto >/sys/bus/usb/devices/1-8.1.3:1.0/power/level
echo auto >/sys/bus/usb/devices/1-8.1.3:1.1/power/level
echo auto >/sys/bus/usb/devices/1-8.1.3:1.2/power/level
echo auto >/sys/bus/usb/devices/1-8.1.3:1.3/power/level
echo auto >/sys/bus/usb/devices/1-8.1:1.0/power/level
echo auto >/sys/bus/usb/devices/1-8.3/power/level
echo auto >/sys/bus/usb/devices/1-8.3:1.0/power/level
echo auto >/sys/bus/usb/devices/1-8:1.0/power/level
echo auto >/sys/bus/usb/devices/2-0:1.0/power/level
echo auto >/sys/bus/usb/devices/usb1/power/level
echo auto >/sys/bus/usb/devices/usb2/power/level
;;
*)
;;
esac

exit

Když výpis /sys/bus/usb/devices/ je:
Kód: [Vybrat]
usb1  usb3  usb5  usb7     2-0:1.0  3-1      4-0:1.0  6-0:1.0
usb2  usb4  usb6  1-0:1.0  3-0:1.0  3-1:1.0  5-0:1.0  7-0:1.0

A ještě jsem z toho nějak nepochopil, kam a pod jakým názvem ten script uložit?
„Potřebujeme podstatně nový způsob myšlení, jestliže má lidstvo přežít.“
Albert Einstein

Cuore

  • Závislák
  • ***
  • Příspěvků: 2534
Re:Vypnutí napájení USB
« Odpověď #6 kdy: 10 Června 2013, 22:35:24 »
myš máš v
Citace
Bus 003 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
tudíž přichází v úvahu umístnění
Citace
3-0:1.0  3-1:1.0
Správné umístnění si ověř
Kód: [Vybrat]
cd /sys/bus/usb/devices a následně
Kód: [Vybrat]
cat 3-0/busnum
cat 3-1/busnum
cat 3-0/devnum
cat 3-1/devnum
Správné umístnění ti dá výstup
Citace
busnum 3 a devnum 2

USB vypneš potom takhle
Kód: [Vybrat]
echo suspend > /sys/bus/usb/devices/3-x/power/level Za to "x" si dosadíš buď "0" nebo "1" Script se umístní do
Citace
etc/pm/sleep.d
kde musí mít specifický název (hlavní je číslo, které přidělí prioritu) a přesnou vnitřní strukturu. Takže by pak vypadal asi takhle
Kód: [Vybrat]
#!/bin/sh

case "$1" in
hibernate|suspend)

echo suspend > /sys/bus/usb/devices/3-x/power/level &
  ;;
resume|thaw)
  ;;
  *)
    exit 0
  ;;
esac
Jeho název si dej třeba
Citace
00_vyp_usb.sh
a nezapomeň mu dát spustitelný příznak.

Fargotronic

Re:Vypnutí napájení USB
« Odpověď #7 kdy: 11 Června 2013, 08:08:08 »
Děkuji, opět jsem o kousek pokročil. :-)

Pomocí příkazů:
Kód: [Vybrat]
cat 3-0/busnum
cat 3-1/busnum
cat 3-0/devnum
cat 3-1/devnum

Jsem zjistil, že se jedná o 3-1. Vytvořil jsem tedy script 00_vyp_usb.sh:
Kód: [Vybrat]
#!/bin/sh

case "$1" in
hibernate|suspend)

echo suspend > /sys/bus/usb/devices/3-1/power/level &
  ;;
resume|thaw)
  ;;
  *)
    exit 0
  ;;
esac
A uložil do svého domovského adresáře. Poté pomocí terminálu a příkazu sudo mv přesunul do adresáře etc/pm/sleep.d poté otevřel vlastnosti a povolil spuštění scriptu jako programu (doufám, že to je ten spustitelný příznak).

Ale chtěl jsem tedy vyzkoušet vypnutí USB pomocí příkazu
Kód: [Vybrat]
echo suspend > /sys/bus/usb/devices/3-1/power/level
Ale příkaz (i v případě, že se pokouším jako sudo) je mi vráceno, že operace byla zamítnuta. :/
„Potřebujeme podstatně nový způsob myšlení, jestliže má lidstvo přežít.“
Albert Einstein

Cuore

  • Závislák
  • ***
  • Příspěvků: 2534
Re:Vypnutí napájení USB
« Odpověď #8 kdy: 11 Června 2013, 12:45:18 »
já to nyní netestoval, jen jsem vycházel z toho původního. Co ti to provede, když se přihlásíš
Kód: [Vybrat]
sudo -i a následně to zkusíš?
Kód: [Vybrat]
echo suspend > /sys/bus/usb/devices/3-1/power/level Pokud by to nešlo tak vyzkoušej tohle
Kód: [Vybrat]
echo -n "3-1" > /sys/bus/usb/drivers/usb/unbind to by mělo určitě shodit napájení. Ale obávám se, že se ti po probuzení samo nenahodí, to budeš muset provést takhle
Kód: [Vybrat]
echo -n "3-1" > /sys/bus/usb/drivers/usb/bind takže výsledný script bude takhle
Kód: [Vybrat]
#!/bin/sh

case "$1" in
hibernate|suspend)

echo -n "3-1" > /sys/bus/usb/drivers/usb/unbind &
  ;;
resume|thaw)

echo -n "3-1" > /sys/bus/usb/drivers/usb/bind &
  ;;
  *)
    exit 0
  ;;
esac
ale snad ten suspend pojede, nevím proč by to měnili  ;)

Fargotronic

Re:Vypnutí napájení USB
« Odpověď #9 kdy: 11 Června 2013, 14:43:01 »
Tak jsem to vyzkoušel. Příkaz:
Kód: [Vybrat]
echo suspend > /sys/bus/usb/devices/3-1/power/level
Vrátí:
Kód: [Vybrat]
-bash: echo: chyba zápisu: Nepřípustný argument
Příkaz:
Kód: [Vybrat]
echo -n "3-1" > /sys/bus/usb/drivers/usb/unbind
Ten chybu nevrací. Ale udělá něco co jsem nechtěl. USB do kterého je zapojený ventilátor pořád běží (ventilátor stále hučí :D) a do druhého USB (zde je zapojená optická myš) napájení také stále jde (myš svítí) ale přeruší se přenos dat (myš přestane reagovat na pohyb).
„Potřebujeme podstatně nový způsob myšlení, jestliže má lidstvo přežít.“
Albert Einstein

beer

  • Host
Re:Vypnutí napájení USB
« Odpověď #10 kdy: 11 Června 2013, 15:17:44 »
Tak jsem to vyzkoušel. Příkaz:
Kód: [Vybrat]
echo suspend > /sys/bus/usb/devices/3-1/power/level
Zkusil bych tam dát uvozovky kolem suspendu.

Pokud nepůjde, můžeš zkusit:

Kód: [Vybrat]
echo suspend | sudo tee /sys/bus/usb/devices/3-1/power/level

Cuore

  • Závislák
  • ***
  • Příspěvků: 2534
Re:Vypnutí napájení USB
« Odpověď #11 kdy: 11 Června 2013, 15:21:09 »
tak jsem prošel co šlo a pravděpodobně by mohlo fungovat
Kód: [Vybrat]
echo "0" > "/sys/bus/usb/devices/3-1/power/autosuspend"
echo "auto" > "/sys/bus/usb/devices/3-1/power/level"
první vypne druhý zapne

Fargotronic

Re:Vypnutí napájení USB
« Odpověď #12 kdy: 11 Června 2013, 16:02:24 »
Tak jsem vyzkoušel oba:
Kód: [Vybrat]
root@Fargotronic-NTB:~# echo "0" > "/sys/bus/usb/devices/3-1/power/autosuspend"
Nestalo se vůbec nic.

Kód: [Vybrat]
root@Fargotronic-NTB:~# echo suspend | sudo tee /sys/bus/usb/devices/3-1/power/level
suspend
tee: /sys/bus/usb/devices/3-1/power/level: Nepřípustný argument
„Potřebujeme podstatně nový způsob myšlení, jestliže má lidstvo přežít.“
Albert Einstein

Cuore

  • Závislák
  • ***
  • Příspěvků: 2534
Re:Vypnutí napájení USB
« Odpověď #13 kdy: 11 Června 2013, 20:37:21 »
co jsem vygooglil tak od jádra 2.6 to nefunguje
https://bbs.archlinux.org/viewtopic.php?id=95659
nicmáně nějaká funkční řešení se uvádějí

Fargotronic

Re:Vypnutí napájení USB
« Odpověď #14 kdy: 11 Června 2013, 21:21:51 »
Takže ten finální script bude vypadat takto?
Kód: [Vybrat]
#!/bin/sh

case "$1" in
hibernate|suspend)

echo "0" > "/sys/bus/usb/devices/$port/power/autosuspend"
  ;;
resume|thaw)
  ;;
  *)
    exit 0
  ;;
esac
„Potřebujeme podstatně nový způsob myšlení, jestliže má lidstvo přežít.“
Albert Einstein

Roman Vacho

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 6029
Re:Vypnutí napájení USB
« Odpověď #15 kdy: 11 Června 2013, 21:24:20 »
Ano, ale jen do jádra 2.6. Potom se měnili parametry.
Vyřešená vlákna je vhodné uzavřít "Topic Solved" dole pod vláknem. Děkujeme.

Fargotronic

Re:Vypnutí napájení USB
« Odpověď #16 kdy: 12 Června 2013, 16:00:38 »
A jak to tedy má být teď na jádru novějším než 2.6?
„Potřebujeme podstatně nový způsob myšlení, jestliže má lidstvo přežít.“
Albert Einstein

 

Provoz zaštiťuje spolek OpenAlt.