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

Я использую USB-порт на Raspberry Pi 3 Model B для зарядки аксессуара через магнитный USB-кабель для зарядки. Я хочу определить, когда кабель подключен и отключен от Pi.

Я подключал и отключал этот кабель и искал любые следы его обнаружения в Linux. До сих пор я пробовал:

  • мониторинг событий udev с помощью udevadm monitor.
  • просмотр системных журналов /var/log и т. д.
  • запуск наблюдения inotify в каталоге /dev для новых устройств
  • осмотреться в /sys/bus/usb/devices в поисках подсказок

Можно ли обнаружить, что мой простой зарядный кабель вставляется/извлекается? Интуитивно я бы подумал, что нет (поскольку кабель предназначен исключительно для зарядки и не имеет драйверов), однако я наблюдаю, что RPI мигает встроенным красным светодиодом, когда я вставляю кабель.


person liamzebedee    schedule 27.08.2017    source источник


Ответы (2)


Без значительных усилий (аппаратных средств или хаков) No.

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

Поскольку соединение является чисто зарядным (нет обмена данными USB с Pi), операционная система не знает, что устройство подключено. Вы можете построить внешнюю схему измерения тока для определения мощности периферийного потребления, но такой вопрос лучше задать в обмене стеком электроники.

person 64bit_twitchyliquid    schedule 27.08.2017

Я думаю, что вы можете сделать это с помощью инструментов lsusb:

 lsusb -v

Или фильтрация с помощью:

 lsusb -v |grep 'Bus\|MaxPower'

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

person melopsitaco    schedule 15.12.2017