Не отключает ли Linux питание USB-устройств, которые потребляют слишком много энергии?

Версия 1.8 s3fs не поддерживает fuse3. Я научился этому довольно трудным путем.

Я отредактировал скрипт конфигурации s3fs, заменив fuse на fuse3 в проверке версии. после этого скрипт configure пошел хорошо. Однако компиляция s3fs завершается ошибкой из-за несовместимости с используемыми функциями предохранителей. (У меня нет точной ошибки компиляции - не сохранил ошибку).

В итоге я установил fuse 2.9.x, и установка s3fs прошла успешно.

1
17.09.2016, 20:11
1 ответ

Защита от короткого замыкания - это роль оборудования в интерфейсе USB. В USB 2.0 s7.1.1 говорится

. Приемопередатчик USB должен выдерживать непрерывное короткое замыкание D + и / или D- на VBUS, GND, другую линию передачи данных или экран кабеля на разъеме в течение как минимум 24 часов. без деградации.

Linux сообщит о коротком замыкании, если оборудование USB-приемопередатчика сообщит об этом состоянии Linux. См. source / drivers / usb / core / hub.c: port_event () . В этом случае Linux избегает отправки данных на порт в течение от 0,1 до 0,5 с, чтобы дать кратковременное равномерное время для рассеивания, и отключает порт, если состояние перегрузки по току сохраняется.

Если вы разрабатываете USB-оборудование, вы можете использовать концентратор с питанием от USB (с защитой от перегрузки по току, см. Атрибут USB wHubCharacteristics ) в качестве жертвенного устройства для защиты вашего более дорогой компьютер, а не полагаться на приемопередатчик USB вашего компьютера, работающий в соответствии со спецификациями. Обратите внимание, что в некоторых конструкциях USB защита от перегрузки по току реализована с использованием полифузора , который имеет ограниченное количество запускающих событий, а также может занять некоторое время для возобновления работы, предположительно время, которое вы бы предпочли потратить на замену в другом концентраторе и продолжая развивать свое устройство.

Когда USB-устройство вставлено, Linux проверяет, что предложенные конфигурации USB не превышают номинальный ток для порта (см. drivers / usb / core / generic.c: usb_choose_configuration () ), но это для условий отсутствия ошибок, когда можно предположить, что устройства не потребляют больше тока, чем требуется их программным обеспечением.

0
28.01.2020, 01:11

Теги

Похожие вопросы