Отключить зарядку подключенного USB-устройства (телефона)

Отключить зарядку подключенного USB-устройства (телефона)

Я часто использую свой телефон в качестве мобильной точки доступа к интернету, которая подключена через USB к моему компьютеру. Это работает нормально, но если телефон еще не полностью заряжен, он начинает заряжать свою батарею от ноутбука, довольно быстро разряжая батарею последнего. Поскольку это порт USB-C на обоих концах, я подозреваю, что ток зарядки может даже превышать 0,5 А, что приведет к довольно быстрой разрядке батареи моего ноутбука. Я бы предпочел полностью отключить зарядку телефона, когда мой ноутбук работает от батареи. Ограничение тока до минимума USB 0,1 А также было бы приемлемым. Полное отключение порта не является вариантом, так как это также отключит USB-модем.

Вопрос: Как отключить зарядку подключенного устройства через USB или хотя бы ограничить ток до 0,1 А?

Ноутбук: Lenovo Thinkpad T480
ОС: Ubuntu 20.04
Телефон: SHIFT, работающий на Android 8, без рут-прав

Спасибо и всего наилучшего, Филипп

решение1

Это невозможно. Функция зарядки через USB встроена в материнскую плату. Вам придется найти способ отключить зарядку через USB на телефоне, но для этого может потребоваться рутирование. Сейчас приемлемым решением было бы использовать беспроводной метод подключения к телефону.

решение2

Принимающая сторона

Я посмотрел наэлектротехника stackexchange, и, по-видимому,это не то, что может контролировать программное обеспечение на стороне хоста,как правило, сам чип (который осуществляет передачу данных) находится в состоянии сброса, если только сначала не подключено питание, и даже если вы можете отключить согласование более высоких скоростей зарядки, всегда будет подаваться ток 0,5 А или 0,1 А, как определено в спецификации.Гаджет-устройство решаетсколько из этого минимума он будет использовать. В лучшем случае вы можете поставить старый хаб между ними, который может выдавать только 0,1 А на порт.

Гаджетная сторона

Что касается гаджетов, то это довольно просто, и естьприложения для этого, например «Ограничение заряда батареи» (например, на XDA). Но «спасибо» Google, эти приложениянужен корень. (Тамявляютсязаблокированные телефоны, в которых есть что-то подобное встроенное. Но я сам пока не видел ни одного.)

Альтернативы

Менее стандартное решение — включить на телефоне точку доступа Wi-Fi или совместное подключение Bluetooth и просто пользоваться этим.

Большое ограничение там в том, что (на Android) ADB не позволяет вам создать отладочное соединение через Wi-Fi, если вы предварительно не включили его через USB. Каждый раз. Что, как говорят, делается по «причинам» безопасности. Но на самом деле это просто лень или некомпетентность, так как его можно сделать очень даже безопасным, как, например, SSH, который буквально работает на собственных серверах Google.

Я уже делал небольшой скрипт udev с GUI-помощником, который максимально автоматизировал процесс: вы подключаете телефон через USB, он сообщает вам, что он «горячий», вы снова отсоединяете кабель, а затем он устанавливает соединение через точку доступа Wi-Fi. Однако без рута вам все равно придется вручную включать точку доступа. Так что это не особо помогает, и я забросил его, если только не занимаюсь отладкой.

Мораль истории

НИКОГДА. НИКОГДА. не покупайте устройство, которым вы не управляете. Потому что в противном случае это было бы тривиально контролировать в пользовательской конфигурации вашего телефона.

Связанный контент