Как избежать отключения определенных USB-устройств, когда машина приостановлена

8

Я хотел бы обеспечить электропитание накопителя с питанием от USB, когда система переходит в режим ожидания (AKA S3 или «Suspend-to-RAM»).

Обычно питание отключается, когда машина находится в подвешенном состоянии, что приводит к ее демонтажу и последующему повторному подключению при возобновлении работы системы. Это не очень хорошо, особенно если сам привод поддерживает управление питанием.

Хотя я мог запускать его на отдельном источнике питания, я бы предпочел избегать выделения большего количества проводов для чего-то, что, по крайней мере теоретически, можно сделать с моим существующим оборудованием.

Как я могу определить, возможно ли это сделать с моей системой, и как я могу организовать, чтобы определенное устройство USB, то есть этот корпус, всегда обрабатывалось таким образом?

Я бегу Ubuntu 10.10.

Обновить

Обнаружен этот поток ubuntuforums, который предлагает использовать acpitool -wдля определения доступного уровня пробуждения для контроллера USB.

Запуск этого в моей системе показывает S1 для контроллеров 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

Что говорит мне о том, что возможность пробуждения может быть включена только для USB в состоянии S1.

Я не уверен, насколько это полезно, поскольку обеспечение полной мощности и возможность пробуждения могут быть ортогональными проблемами. Возможно, включение режима пробуждения обеспечивает только низкое энергопотребление, поэтому может быть другой способ включить полную мощность.

Если включение режима пробуждения приравнивается к предоставлению полной мощности, похоже, что я могу сделать то, что хочу, вставив карту USB в слот расширения (наверное, так и PCIEесть?). Хотя я думаю, что хотел бы узнать немного больше об этом, прежде чем пытаться раскопать карту USB2 PC.

созерцаемое
источник
1
этот вопрос, кажется, почти дублирует ваш второй вопрос: unix.stackexchange.com/questions/5343
Стефан
@ Стефан: Это уточнение / разъяснение того, что является побочным пунктом в этом другом посте. Он также отличается тем, что в нем больше внимания уделяется системным аспектам, тогда как этот вопрос больше касается типичных возможностей самих подключенных устройств.
интуитивно
@Stefan: Спасибо за упоминание этого, хотя ... теперь, когда я немного лучше знаю ландшафт, мне стало ясно, что это должен быть отдельный вопрос, поэтому я отредактировал другой.
интуитивно

Ответы:

4

Включение пробуждения по шине не означает, что эта шина полностью заряжена в режиме ожидания. Это просто означает, что система будет прослушивать сигнал пробуждения по линиям, которые соответствуют этому устройству. Питание в режиме ожидания обеспечивается соответствующей шиной, но эта мощность намного меньше полной мощности для нормальной работы. Добавление карты USB PCI / PCIe может разрешать или запрещать включение пробуждения по USB, но оно определенно не обеспечит полную мощность для портов USB, пока машина находится в режиме S3. Вместо этого его будет достаточно, чтобы поддерживать работу чипсета, около 200 мА при напряжении 3,3 В, исходя из того, что я собираю на этой странице от Intel о своих сетевых адаптерах.

Я думаю, что это особенность, характерная для материнской платы и управляемая только через BIOS. У меня есть Thinkpad и материнская плата Gigabyte, которые обеспечивают питание USB-устройств, когда машина не активна, и в обоих случаях это настройка в BIOS, а не то, что вы можете изменить, пока система полностью загружена. Если подумать, у Thinkpad может быть способ настроить это во время работы, но Thinkpads известны наличием специальных расширений ACPI для управления параметрами электропитания. Независимо от того, для обеих систем это предложение "все или ничего" - нет возможности для конфигурации для каждого порта или для каждого устройства. Я вполне уверен, что USB с полной мощностью в режиме ожидания не является стандартом для ПК, и поэтому нет никакого портативного способа проверить, доступен ли он.

Хотя это дополнительное оборудование, я думаю, что самое простое и универсальное решение - просто использовать концентратор с питанием.

Майлз Стромбах
источник
3

Ядро имеет поддержку функции энергосбережения USB 2.0

Чтобы отключить его после загрузки, вы можете попробовать

echo 1> / sys / bus / usb / devices / ваше-USB-устройство / power / autosuspend

echo "on"> / sys / bus / usb / devices / ваше-USB-устройство / power / level

Для более подробной информации смотрите на этой странице lesswatts.org

rajaganesh87
источник
Эта ссылка сейчас неактивна. Знаете ли вы, если сайт был перемещен или есть альтернативные ссылки?
Керри