LINUX.ORG.RU

Не могу сменить power_role у TypeC пауэрбанка

 typec


0

1

Привет!

У меня есть некая пауэрбанка, которая умеет power_delivery и ноутбук Lenovo Thinkpad L13 Gen2 и ядро 6.10.11 из бэкпортов дебиана.

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

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

/sys/class/typec/port0/power_role отображает состояние source/sink правильным образом (когда батарея начинает высасывать энергию состояние в этом файле меняется)

Однако принудить разъем к определенному режиму через echo sink >sys/class/typec/port0/preferred_role не выходит. Система отвечает «Отказано в доступе» Передернуть режим руками через печать в sys/class/typec/port0/power_role также не выходит. Говорит «ошибка записи: Недопустимый аргумент» если банка подключена… Пробовал печатать туда как sink так и полное source [sink]

У кого-то есть опыт управление питанием TypeC? А на Thinkpad’ах? Есть идеи как это дальше траблшутить?

★★★

Последнее исправление: shaplov (всего исправлений: 1)

https://superuser.com/questions/1189839/usb-type-c-how-is-the-direction-of-power-delivery-controlled

https://superuser.com/questions/1489722/reversing-the-direction-of-usb-pd-charging-on-windows-10/1690557#1690557

Тут читал? Я так понял, должно работать как ты пишешь через echo. Если не работает, значит или железо плохое или ядро плохое.

По второй ссылке советуют быстро передёрнуть порт, типа это почему-то должно развернуть направление.

vbr ★★★★
()
Ответ на: комментарий от vbr

Тут читал?

Да, вторую ссылку я даже в тексте поста привел…

значит или железо плохое или ядро плохое.

Ядро предпоследнее… А на счет плохое ли… Вот это и интересно… Вдруг тут окажется кто-то кто умеет такие вещи вглубь щупать, и скажет куда идти…

shaplov ★★★
() автор топика

Потестил Thinkad T14s Gen4 Intel, тоже не работает.

# echo source > power_role 
-bash: echo: write error: Invalid argument

При этом в dmesg появляется ошибка

[ 1185.753432] ucsi_acpi USBC000:00: possible UCSI driver bug 4

Правда из моих попыток он всегда выбирал заряжаться от павербанка.

При этом sink в этот файл ввести можно, ничего не происходит, ошибки нет.

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

vbr ★★★★
()
Последнее исправление: vbr (всего исправлений: 2)