Come evitare di spegnere alcuni dispositivi USB quando una macchina è sospesa


8

Vorrei mantenere l'alimentazione a un'unità USB quando il sistema entra in modalità di sospensione (AKA S3 o "suspend-to-RAM").

Normalmente l'alimentazione viene interrotta mentre la macchina è sospesa, il che ne provoca lo smontaggio e la successiva rimontaggio al riavvio del sistema. Questo non è davvero eccezionale, soprattutto se l'unità stessa supporta la gestione dell'alimentazione.

Anche se potrei eseguirlo su un alimentatore separato, preferirei evitare di allocare più cavi per qualcosa che, almeno in teoria, può essere fatto con il mio hardware esistente.

Come posso determinare se è possibile farlo con il mio sistema e come posso fare in modo che un determinato dispositivo USB, cioè questo contenitore, sia sempre trattato in questo modo?

Sto eseguendo Ubuntu 10.10.

aggiornare

Scoperto questo thread ubuntuforums che suggerisce di utilizzare acpitool -wper determinare il livello di sveglia disponibile per il controller USB.

Eseguendo questo sul mio sistema mostra S1 per i controller USB:

$ acpitool -w
   Device   S-state   Status   Sysfs node
  ---------------------------------------
  1. LID      S3    *enabled   
  2. PBTN     S4    *enabled   
  3. PCI0     S3    *disabled  no-bus:pci0000:00
  4. USB0     S1    *disabled  pci:0000:00:1d.0
  5. USB1     S1    *disabled  pci:0000:00:1d.1
  6. USB2     S1    *disabled  pci:0000:00:1d.2
  7. USB3     S1    *disabled  pci:0000:00:1d.7
  8. MODM     S3    *disabled  
  9. PCIE     S4    *disabled  pci:0000:00:1e.0

Il che sembra dirmi che la funzionalità di riattivazione può essere abilitata solo per USB nello stato S1.

Non sono sicuro di quanto sia utile, dal momento che fornire piena potenza e consentire il risveglio può essere preoccupazione ortogonale. Potrebbe abilitare il risveglio solo a basso consumo, quindi potrebbe esserci un modo diverso per abilitare la piena potenza.

Se l'attivazione del risveglio equivale a fornire piena potenza, sembra che potrei essere in grado di fare quello che voglio inserendo una scheda USB nello slot di espansione (suppongo che sia quello che PCIEè?). Anche se penso che vorrei sapere qualcosa di più su questo prima di provare a scavare una scheda PC USB2.


1
questa domanda sembra essere quasi un duplicato dell'altra tua domanda: unix.stackexchange.com/questions/5343
Stefan

@Stefan: è un'elaborazione / chiarimento di ciò che è una specie di spunto su quell'altro post. Si distingue anche per il fatto che si concentra maggiormente sul lato del sistema delle cose, mentre quella domanda riguarda più le capacità tipiche dei dispositivi collegati stessi.
intuito il

@Stefan: Grazie per averlo detto, però ... ora che conosco un po 'meglio il paesaggio, mi è chiaro che questa dovrebbe essere una domanda separata, quindi ho modificato l'altro.
intuito il

Risposte:


4

Abilitare il risveglio su un bus non equivale a dare a quel bus piena potenza durante la sospensione. Significa solo che il sistema ascolterà il segnale di sveglia sulle linee che corrispondono a quel dispositivo. L'alimentazione di standby è fornita dal bus appropriato, ma questa potenza è molto inferiore alla piena potenza per il normale funzionamento. L'aggiunta di una scheda USB PCI / PCIe può consentire o meno la riattivazione-USB, ma sicuramente non fornirà piena potenza alle porte USB mentre la macchina è in S3. Invece, fornirà quanto basta per mantenere il chipset in esecuzione, circa 200 mA a 3,3 V da quello che raccolgo da questa pagina da Intel sulle sue schede di rete.

Penso che questa sia una funzionalità specifica per una scheda madre e controllabile solo tramite il BIOS. Ho un Thinkpad e una scheda madre Gigabyte che consentono di alimentare i dispositivi USB mentre la macchina non è sveglia, e in entrambi i casi è un'impostazione nel BIOS piuttosto che qualcosa che puoi cambiare mentre il sistema è completamente avviato. Pensaci, potrebbe esserci un modo per il Thinkpad di configurarlo durante l'esecuzione, ma i Thinkpad sono noti per avere estensioni ACPI speciali per la gestione delle opzioni di risparmio energia. Indipendentemente da ciò, per entrambi i sistemi è una proposta "tutto o niente": non esiste alcuna opzione per la configurazione per porta o per dispositivo. Sono abbastanza sicuro che l'USB a piena potenza in sospensione sia qualcosa che non è standard su tutti i PC e, in quanto tale, non esiste un modo portatile per verificare se è disponibile.

Sebbene sia hardware aggiuntivo, penso che la soluzione più semplice e universale sia usare solo un hub alimentato.


3

Il kernel ha il supporto per la funzione di risparmio energetico USB 2.0

Per disabilitarlo dopo l'avvio, puoi provare

echo 1> / sys / bus / usb / devices / your-USB-device / power / autosuspend

echo "on"> / sys / bus / usb / devices / your-USB-device / power / level

Per maggiori dettagli guarda in questa pagina lesswatts.org


Quel link ora è morto, sai se il sito è stato spostato o hai link alternativi?
Kerry,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.