Gostaria de manter a fonte de alimentação de uma unidade alimentada por USB quando o sistema entrar no modo de suspensão (AKA S3 ou "suspensão para RAM").
Normalmente, a energia é cortada enquanto a máquina está suspensa, o que faz com que seja desmontada e montada novamente quando o sistema é reiniciado. Isso não é realmente bom, especialmente se a própria unidade suportar o gerenciamento de energia.
Embora eu possa executá-lo em uma fonte de alimentação separada, prefiro evitar alocar mais fiação para algo que possa, pelo menos em teoria, ser feito com meu hardware existente.
Como posso determinar se é possível fazer isso com o meu sistema e como posso providenciar para que um dispositivo USB específico, ou seja, este gabinete, seja sempre tratado dessa maneira?
Estou executando o ubuntu 10.10.
atualizar
Descobriu este tópico do ubuntuforums que sugere usar acpitool -w
para determinar o nível de ativação disponível para o controlador USB.
Executar isso no meu sistema mostra S1 para os controladores 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
O que parece estar me dizendo que o recurso de ativação só pode ser ativado para USB no estado S1.
Não tenho certeza do quanto isso é útil, pois fornecer energia total e permitir o despertar pode ser uma preocupação ortogonal. Pode ser que ativar a ativação apenas forneça pouca energia; portanto, pode haver uma maneira diferente de ativar a energia total.
Se ativar a ativação equivale a fornecer energia total, parece que eu posso fazer o que quero colocando uma placa USB no slot de expansão (acho que é isso PCIE
?). Embora eu pense que gostaria de saber um pouco mais sobre isso antes de tentar escavar uma placa de PC USB2.
Respostas:
A ativação da ativação em um barramento não equivale a fornecer a esse barramento a potência total enquanto estiver em suspensão. Significa apenas que o sistema escutará o sinal de ativação nas linhas correspondentes a esse dispositivo. A energia em espera é fornecida pelo barramento apropriado, mas essa energia é muito menor que a energia total para operação normal. Adicionar uma placa USB PCI / PCIe pode ou não permitir a ativação do USB, mas definitivamente não fornece energia total às portas USB enquanto a máquina estiver no S3. Em vez disso, fornecerá apenas o suficiente para manter o chipset em execução, cerca de 200mA a 3,3V, do que recolho nesta página da Intel sobre seus adaptadores de rede.
Eu acho que esse é um recurso que será específico de uma placa-mãe e controlável apenas pelo BIOS. Eu tenho uma placa-mãe Thinkpad e uma Gigabyte que permitem alimentar dispositivos USB enquanto a máquina não está ativa e, nos dois casos, é uma configuração no BIOS, e não algo que você pode alterar enquanto o sistema estiver totalmente inicializado. Pensando bem, pode haver uma maneira de o Thinkpad configurá-lo durante a execução, mas os Thinkpads são conhecidos por terem extensões ACPI especiais para gerenciar opções de energia. Independentemente disso, para ambos os sistemas é uma proposta de tudo ou nada - não há opção para configuração por porta ou por dispositivo. Estou bastante certo de que o USB de energia total em suspensão é algo que não é padrão nos PCs e, como tal, não há uma maneira portátil de verificar se está disponível.
Embora seja um hardware extra, acho que a solução mais simples e universal é usar apenas um hub com potência.
fonte
O kernel suporta o recurso de economia de energia USB 2.0
Para desativá-lo após a inicialização, você pode tentar
eco 1> / sys / bus / usb / devices / seu-dispositivo-USB / power / suspensão automática
eco "on"> / sys / bus / usb / devices / your-USB-device / power / level
Para mais detalhes, consulte esta página lesswatts.org
fonte