Просмотр полной версии : (Инструкция) Автостарт и автовыключение андроид при подключении\отключении ЗУ
kostyamat
07.04.2017, 17:56
Сразу оговорюсь: первая часть (автовключение) темы не относится к андроидбоксам, на них, в виду отсутствия батареи, автовключение можно реализовать только аппаратно, или покупать такой, который включается при подаче питания.
Итак, суть вопроса: включить (полная загрузка) планшет/смартфон в момент подачи зарядного тока, и отключение при отключении от зарядки (важно для встроенных планшетов).
Автозагрузка при подаче зарядного тока.
Немного теории.
Когда вы подключаете выключенный планшет/смартфон к ЗУ, происходят следующие события: просыпается процессор; происходит инициализация бутлоадера; происходит начало загрузки init; стартует главный стартовый скрипт /init.rc; в init.rc есть секция on charger, в которой прописаны нужные действия и запуск системного процесса, который и отвечает за отображение батарейки с процентами, которую мы и видим на экране.
Итак, как мы видим, происходит частичная загрузка системы. Процесс в секции on charger всегда указывает на какой-то исполняемый файл (бинарник) лежащий где-то в системе. Выглядит примерно это так:
В init.rc объявлен сервис типа charger: service charger /system/bin/charger
То есть, порядок действий такой: смотрим секцию on charger в init.rc, видим там что-то типа start charger или что-то другое, типа class_start charger, могут быть и другие варианты; потом, по имени сервиса, находим в том же init.rc сам сервис service charger /....... и смотрим на какой бинарник он указывает.
Нужно иметь в виду, что нужный сервис может быть объявлен не в init.rc, а в любом другом init.****.rc на вашем устройстве, придется пересмотреть все. Иногда существует даже отдельный скрипт init.charge.rc.
Ок. Бинарник мы нашли, переименовать во что-то другое, а под его именем создаем скрипт (без расширений, в точности как назывался сам бинарник) с таким содержимым:
#!/system/bin/sh
/system/bin/reboot
Сохраняем и присваиваем ему права 755. Все. Аппарат будет включатся и ребутится в андроид сразу после подачи напряжения.
Тут еще можно добавить секцию, в которой можно описать автозапуск каких либо программ по умолчанию в авто. Хотелось бы узнать каких? И по какому условию (как определить, что ваш аппарат находится именно в машине, вариантом может быть подключение какого-то оборудования, ГПС например, или запуск какой-то программы, любые другие события, придумайте), попробую реализовать?
(продолжение следует)
Вторая часть - выключение при пропадании напряжения зарядки.
Тут есть несколько вариантов реализации, к примеру можно в своем бут включить поддержку скриптов init.d, добавив в конце init.rc (надо разбирать свой boot.img. Как это делать - смотрите на 4pda.ru в теме своего устройства, или обратитесь к РОМоделам. Часто эта функция уже присутствует в большинстве кастомных РОМов.) такие строки:
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d
class main
user root
oneshot
disabled
on property:sys.initd=1
start sysinit
а в файл defaul.prop или /system/build.prop в самом низу дописать строку sys.initd=1
Аналогичным init.d образом работает папка со скриптами /system/su.d, если у вас рут на основе SuperSu. Тогда бут разбирать не надо.
В любом случае, в системе должен быть установлен busybox, иначе скрипты работать НЕ БУДУТ!
Итак, init.d, busybox у нас есть. Создаем скрипт с таким содержимым:
#!/system/bin/sh
# Copyright by kostyamat http://4pda.ru/forum/index.php?showuser=896398
#Во всех устройствах данные по зарядке находятся по адресу
#/sys/class/power_supply/*battery/status.
#Измените переменную FILE, изменив путь к status исходя из названия *battery
#для вашего аппарата.
#Cостояние файла /sys/class/power_supply/*battery/status может иметь
#разные значения, без подключенного ЗУ (смотреть свое): 0; Discharging;
# Not on charger и т.п. (в каждом конкретном случае нужно смотреть).
#Вариантов миллион, гляньте какой текст хранится в status с помощью команды
#cat /sys/class/power_supply/*battery/status (без ЗУ) и впишите ниже, в
#условие if, вместо Discharging, между "".
FILE="/sys/class/power_supply/dollar_cove_battery/status"
pch () {
while :
do
vars=`cat $FILE`
if [ "$vars" = "Discharging" ]; then
svc power shutdown
else
echo "Device is charging"
fi
sleep 30
done
}
pch &
Помещаем его в папку /system/init.d или /system/su.d с любым названием и присваиваем ему права 755. Нужно помнить, что скрипту не нужно присваивать никакое расширение имени файла, в том числе и sh. Не выполняются в init.d скрипты, имеющие расширение имени файла. После перезагрузки, планшет будет выключаться автоматически, при пропадании напряжения зарядки. Скрипт безусловен, работает по умолчанию.
Ниже рассмотрим примеры условного выключения, и варианты самих условий. Хотелось бы от Вас услышать возможные условия автоматического выключения, например по наличию подключенной EasyCAP, DAC и тому подобное. Как Вы считаете нужным идентифицировать наличия подключения к машине, соответственно важность автоматического выключения? Жду советов, по возможности, попробую реализовать условия.
(продолжение следует)
sandr2010
07.04.2017, 21:08
kostyamat ,
Автовключение это здорово! Завтра попытаю тело. Хм,а автовыключение зачем? Можно ведь программно это делать,да и многие делают с задержкой от 30 минут до нескольких часов. Или это если остаются подключенными устройства,тело при отключении зарядки будет только засыпать,а при отключении устройств и зарядки - выключаться?
kostyamat
07.04.2017, 22:59
kostyamat ,
Или это если остаются подключенными устройства,тело при отключении зарядки будет только засыпать,а при отключении устройств и зарядки - выключаться?
И еще вопросик: растиражировать ссылку на этот пост можно или сами может продублируете на 4pda: http://4pda.ru/forum/index.php?showtopic=675183&st=300
Данный вариант простой, безусловный (просто отключается при отключении зарядки) может кому-то быть полезным. Условия, при которых отключать, подскажут форумчане. Можно делать и так, и эдак. Задержку тоже можно вносить от нескольких секунд, до часов, дней, месяцев. Можно, скажем выключать по условию, типа: подключены специфические устройства (EasyCAP к примеру), но планшет забыли в машине, при достижении Н-ного процента батареи - выключить. Суть в том, что это shell, а он очень быстр и легок, не жрет память и ресурсы. Для решения многих задач нужен таки Таскер, а вот такие мелочи можно делать на shell, дополняя Таскер.
На счет тиражирования. Придет время, я сам выложу на 4ПДА в свою тему по портированию. На данный момент, это живет только тут, и нигде иначе. можно дать сюда ссылку на прямой ворос об этих заморочках, не выкладывать\тиражировать где либо - НЕТ! Это было коммерческое задание (автозапуск и автовыключение), мне за него деньги уплатили, и не малые. Клиент пришел с 4ПДА (забугорник), сума предложенная им во много раз превышала интелектуальную стоимость заказа. Прошло только несколько дней, не хочу чтобы человек чувствовал себя напрасно потратившим деньги. :blush: Хотя, каких-то спец.договоренностей с ним, на счет закрытости или копирайта, не было. Человеку решили его задачу - человек ушел счастливым. Но все рано, как-то не круто когда купил, а потом где-то даром дали, или сильно цену скинули. По себе знаю.
sandr2010
08.04.2017, 13:27
Попытал тело. Тело на квалкоме. Просмотрел все init.rc во всех комбинациях. В init.rc есть упоминание: on charger class_start charger,но сервиса нет. Нашел сервис в init.qcom.rc : service charget/charget class charget. Правильно понял,что сервис ссылается на /charget и править нужно его?
kostyamat
08.04.2017, 15:24
Да, так и есть. Так же сделано в планшетах на intel z37xxx.
В случае если в корне устройства лежит бинарник /charger - это он и есть. Но бывают разные реализации, поэтому лучше таки убедится, пересмотрев init.rc.
Еще, на некоторых аппаратах, можно просто удалить секцию on charger из init.rc и получить продолжение загрузки, без ребута. С этого можно начать, но нужно иметь ввиду, что флаг on charger, выставленный бутлоадером будет продолжать висеть над системой. Как на него отреагируют системные бинарники и приложения неизвестно. Возможно никак, а возможно и с нюансами. Надо пробовать в каждом конкретном случае.
sandr2010
08.04.2017, 15:46
С интелом пока никак - размер не подходит,нужно машину менять ;) . Ближе к осени буду заморачиваться.
sandr2010
09.04.2017, 08:29
А еще подскажите: включая otg,замыкая 4 и 5 пины микроUSB сама система/процессор это видит или это просто переключает контроллер из одного состояния в другое.
kostyamat
09.04.2017, 15:41
Конечно видит. Ведь подключение ОТГ приводит к смене состояния USB. А что именно вы хотите отловить по usb, подробнее?
sandr2010
09.04.2017, 15:48
У многих планшеты без датчика холла и приходится загонять в сон по зарядке. А можно ведь тогда сделать и по включению/отключению otg режима?
kostyamat
09.04.2017, 15:56
Ну, вообще-то, я не совсем понимаю зачем использовать датчик холла. Есть команда
input keyevent 26, которая четко гасит экран, с последующим уходом в сон. Она же и будит девайс, если он был во сне - аналог нажатия кнопки Power. А вот по каким условиям это делать, решать владельцу. Реализовать не сложно, нужно только определиться на какое событие реагировать, например: отключение/подключение оборудования; изменение состояния зарядного устройства; приход данных с оборудование и т.п.
Опишите свой частный случай, и какую реакцию системы хотите получить.
sandr2010
09.04.2017, 16:38
Хаб,изикап с управлением по +5В,возможно в дальнейшем флешка. Звуковую не планирую - звук по блютузу на рессивер + на рессивере свой порт есть. Хотелка: при замыкании 4 и 5 пинов включить экран,при размыкании -выключить. Как такового оборудования ведь нет - включение otg может в данном случае являться событием?
Сейчас запускаю(включаю экран) по зарядке. Одновременный режим зарядки и otg планшет не поддерживает. Поэтому для включения изика приходится постоянно входить в режим otg,а это увеличивает(хоть и не значительно) время вывода картинки. Ну и с флешкой пока облом,хотя поставил удлинитель на микроSD и вывел её на панель - плюсом получил стабильную работу плееров(внешняя память всегда смонтирована).
kostyamat
09.04.2017, 18:33
Ну, например, с помощью terminala гляньте есть ли и как меняется состояние файла state, в который система пишет состояние ОТГ
su
cat /sys/classs/switch/otg_state/state
Команда должна выводить 1 если отг воткнут (даже без оборудования) и 0, если нет.
Проверьте у себя на аппарате.
sandr2010
09.04.2017, 18:36
Хорошо.
У меня нет папки otg_state в switch. Терминал тоже сказал not found. В папке switch три папки: hall(2),usb_audio(0),wfd(0)
sandr2010
09.04.2017, 20:06
/sys/kernel/debug/msm_otg/otg_state: не включен otg - b_idle,включен - a_host - оно?
kostyamat
11.04.2017, 01:18
Да, тоже подойдет.
Но тут есть нюанс. Задача несколько не тривиальная. Это ведь не совсем файл. Точнее совсем не файл
То есть демон, типа inotifyd, на изменение этого файла не реагирует. Тут придется использовать цикл while и команду sleep, время от времени перечитывать состояние этого файла. Это не проблема, но... При больших значениях sleep, реакция на изменение файла будет не моментальная, а при малом значении, 1-на секунда, цикл будет молотить не давая спать процессору. В случае inotifyd+обработчик, ассемблерный код циклично исполняется, тупо на регистрах процессора, даже в обморочном состоянии процессора ( во сне), поэтому батарею практически не сажает. Вот если бы отслеживать не сам факт включения ОТГ, а какое-то устройство, воткнутое в него (ГПС, звуковая УСБ карта), можно было бы использовать демона inotifid. Подумайте над вариантами.
Хотя, если разряд батареи не проблема (планшет встроен, и постоянно на зарядке), то можно сделать и по ОТГ.
Вот если бы отслеживать не сам факт включения ОТГ, а какое-то устройство, воткнутое в него (ГПС, звуковая УСБ карта), можно было бы использовать демона inotifid.
А как реализрвать?
kostyamat
13.04.2017, 00:00
/sys/kernel/debug/msm_otg/otg_state: не включен otg - b_idle,включен - a_host - оно?
Ваш скрипт: 47207 убрать расширение ТХТ, положить в папку init.d присвоить права 755, перезагрузить планшет.
При подключении ОТГ переходника, экран должен включаться.
Объясните по какой логике он должен выключатся. Вот этого я сам придумать не могу. Или не надо?
kostyamat
13.04.2017, 00:02
А как реализрвать?
Почитайте предыдущие посты, самое главное - первый. И попробуйте объяснить мне что именно вы хотите реализовать.
sandr2010
13.04.2017, 00:06
Завтра попробую,отпишусь. Спасибо огромное!
kostyamat
13.04.2017, 03:52
Завтра попробую,отпишусь. Спасибо огромное!
Имейте ввиду, что реакция скрипта не моментальна, я писал выше почему это не реально, и может колебаться от 0 до 3 секунд. Если так не устроит. Можете уменьшить sleep до 1 или вообще закоментировать, поставив перед ним знак #
Вот так #sleep 2. Но тогда последите за планшетом, не тупит ли, спит ли нормально.
sandr2010
13.04.2017, 05:26
Понял.
Почитайте предыдущие посты, самое главное - первый. И попробуйте объяснить мне что именно вы хотите реализовать.
читал). Я имел ввиду, реализация по событию от устройства в хабе.
П.с. кстати, учитывая, что большинство использует Nexus, то чем ваш способ автовлючения по зарядке отличается от "патч автовключения"? Или, это сугубо для НЕ NEXUS-оводов?)
sandr2010
14.04.2017, 17:54
Это более универсальный способ для всех тел,потому как способ от нексуса срабатывает на единицах других тел.
"Я имел ввиду, реализация по событию от устройства в хабе." - тогда ,думаю,нужно указать какое именно устройство,если вам это нужно.
kostyamat
14.04.2017, 21:54
Так по какому устройстве в хабе? Уточните. Потом гляньте какой файл появляется в /dev/ при подключении. Потом тут это пишете и говорите что именно должно произойти при появлении/пропадании устройства в хабе. И будем думать чем помочь.
sandr2010
17.04.2017, 22:16
kostyamat ,подскажите: у меня в прошивке видимо нет поддержки init.d.(нет папок init.d и addon.d),нет кастомного рекавери для прошивки supersu.zip. Рут получал с бубном(кингорут - замена на суперюзер - замена на super su). Смогу ли я добавить поддержку init.d по методу из вашей темы портирования? Или может посоветуете другой способ.
kostyamat
17.04.2017, 23:43
Какая версия андроид? Наличие busybox обязательно. В любом случае, даже если поддержку не делать. Практика показывает, что без него 80% скриптов не работают, тупо в системе родных бинарников не хватает.
Если андроид ниже 5.0, init.d для одного скрипта и не нужен, достаточно скрипт, под именем install-recovery.sh поместить в /system/etc/ и дать ему права 755, галочки буквой П в root explorer.
В андроид от 5.0 нужно делать init.d, но не тем способом, что в той теме, в шапке. Потому как в 5.0 внедрен SeLinux, который не допустит работу некоторых скриптов, работа которых выходит за границы его политик по отношению install-recovery. То есть часть команд работать будет, а часть нет, результат не предсказуем.
Для андроид 5.0 и выше нужно разбирать Бут и объявлять service initd в init.rc, внося дополнительные изменения в политики SeLinux.
sandr2010
18.04.2017, 11:35
Андроид 4.4.4 . Правильно понял: установить busybox(если нет),создать(если нет в системе) скрипт install-recovery.sh(содержимое из вашей темы), создать папку init.d и в нее положить скрипт otg_state_quallcomm ?
kostyamat
18.04.2017, 14:46
Ну да, в точности повторите что там теме описано и пробуйте. Только бинарники оттуда не используйте, они под Интел х86, а вам нужны такие же но под ARM.
kostyamat
Нужна Ваша помощь. В планшете Samsung Tab 2-7 c помощью Root Explorer-а пытался найти файл otg_state. Увы, нет такого. Ввёл в поиске просто слово otg. И вот что удалось накопать;
/d/clock/virt_38400000_ck/sys_clkin_ck/ - открываю файл usecount - без otg-переходника цифра "6", с подключенным otg-переходником меняется на цифру "7".
Если в этой-же папке открыть папку /dpll_usb_ck/, то в ней тоже есть файл usecount. Если его открыть, то без otg-переходника там "0", с переходником "1". Можно-ли это использовать для сна/пробуждения планшета. Режим otg планирую включать с помощью реле при вкл. зажигания. При вытаскивании ключа otg будет отключаться.
kostyamat
23.04.2017, 03:25
Можете попробовать, почему нет. Я Сандру на второй странице давал скрипт, попробуйте в него свои данные подставить: путь, файл, значения, только скорее нужно со вторым файлом работать, не с первым. А в /dev/ничего нового при втыкании ОТГ не появляются?
С /dev работать удобнее.
Еще вопрос: а в /sys/kernel/debug/ ничего об ОТГ нет, как у sandr2010? Что-то ваши файлы, и пути к ним, не внушают мне доверия. Похоже в них не однозначные данные и могут меняться не только от ОТГ. Что у вас в хаб навсегда воткнуто? И вообще, отслеживать можно не только состояние ОТГ, но и устройства в нем, да и сам хаб тоже.
А еще можно и сам хаб, и устройства в нем программного "передергивать" если засыпают.
kostyamat
В /dev/ вообще ничего об otg нет. Есть куча папок и файлов, все перешерстил. Половину файлов вообще не открыть для просмотра, или ругается на root и super su, или зависает, а потом рут эксплорер вылетает с ошибкой. Super su установлен через кастомный рекавери, и никогда не было никаких проблем с доступом. Чего здесь не хватает, не знаю.
В /sys/kernel/debug/ тоже ничего об otg нет, проверял уже. Там как и в /dev/ куча всего, но тоже не всё можно посмотреть.
Пробовал поиграться с различными кастомными прошивками. Но все они сделаны на основе родной с андроидом 4.2.2. Видимо поэтому в упоминаемых выше папках ничего не меняется, всё остаётся один в один. Остановился на СМ11 с андроидом 4.4.4
Хаб я пока не подключал, провожу опыты с фирменным otg-переходником. Да и в перспективе использование хаба под вопросом. Скоро должен приехать с али ещё один изикап. Если он заработает на этом планшете, то хаб будет нужен, а если нет, то нужда в хабе отпадает. Через otg будет постоянно подключен разработанный под машину кан-адаптер.
Блин, чувствую, что этот вариант автоматизации мне не по зубам, заморочно как-то всё. Попробую потыркаться, но не моё это, ума не хватает.
kostyamat
24.04.2017, 14:27
В /dev/ состояния ОТГ не может быть. Я имел в виду то, что устройства, подключаемые к ОТГ, создают фалы в /dev. Вот и говорю, что не обязательно читать состояние самого ОТГ, можно отслеживать появление на нем устройств, к нему подключенных.
Shell андроида только с виду страшен, а на самом деле прост и эффективен. Правда не всегда самодостаточен, иногда Таскеру замены нет, так как shell не имеет доступа к внутреннему состоянию виртуальной машины java, а Таскер имеет, потому, что и сам в ней живет. В то же время, Таскеру недоступно управление системой на низком уровне. Лучшее решение это shell+Tasker, дополняющие друг друга.
Я, конечно, жутко извиняюсь, но может можно как-нибудь попроще сделать. Ну типа, на тебе, не знаю как это называется, файл или скрипт, вставь это туда-то, и наслаждайся. Не,так не получится?
Kostyamat, приветствую.
Есть Nexus 2013 LTE, от батареи остался только контроллер с перемычкой, на который идёт напряжение 4,7в. Все хорошо, но при включённом LTE планшет разряжается. Нашёл в соседней ветке про Самсунг, как решили данную проблему. Прочитав твою тему, понял, что ты компетентен в данном вопросе. Не подскажешь, то, что описано ниже реализуемо на Nexus с прошивкой 6.0.1?
Привет! У меня такой же планшет. Я удалил батарею и контроллер. Планшет ошибку при этом не выдает, но медленно рязряжается. Для решения проблемы нужны root права и следующее:
Создаешь папку, например /sdcard/battery
В нее копируешь все из /sys/class/power_supply/battery
Потом в терминале:
su
mount -o bind /sdcard/battery /sys/class/power_supply/battery
echo 99 > /sdcard/battery/capacity
После перезагрузки комманды в терминале надо повторять. Можно поставить на таскер, чтобы автоматизировать. Теперь планшет будет работать и показывать всегда 99%.
kostyamat
26.04.2017, 01:41
Возможно реализуемо. Единственное не совсем понял зачем биндить в sys папку с sdcard. Ведь команда
su
echo 99 > /sys/class/power_supply/battery/capacity
в терминале должна делать то же самое без какого либо бинда. Можете сами попробовать. И если работает можете вписать в /etc/install-recovery.sh такое
#!/system/bin/sh
FullBat () {
while true
do
echo 99 > /sys/class/power_supply/battery/capacity
sleep 3600
done
}
FullBat &
exit
Скрипт каждый час будет обновлять батарею до 99%
Но, вполне возможно, что получите Permission denide. Дело в том, что это сильно зависит от ядра. На примере моего телефона - папка /sys/class/power_supply/battery реально не существует, sys вообще не файловая система. У меня эта папка реально находится в ../../devices/battery/power_supply/battery/, а в /sys на нее симлинк. Это можно глянуть в Свойствах папки в root explorer. Если у вас также, то ни биндить в эту папку, ни на прямую записать данные в файл capacity вам не удастся. Я подумаю, что можно сделать. Но для начала попробуйте в терминале команду выше.
Еще вопрос: как это планшет разряжается не имея батареи? Не совсем понятно. Может у вас напряжение проседает?
Ок, спасибо, попробую.
Как говорят на форуме, в контроллере батареи стоит таймер, который анализируя нагрузку, показывает постепенный разряд батареи, не знаю насколько это так. Многие ставят альтернативные прошивки и подключают питание напрямую, минуя контроллер батареи. Я хочу кататься на стоке с рут правами, т. к. все работает.
По поводу просадки напряжения. Ранее были такие прецеденты, это проявлялось надписью "разряд батареи" при отсутствии приема LTE. Пустил толще провода к контроллеру и поставил конденсатор, пока всё ок. Да и после выключения и включения, через штатную кнопку, показатель заряда остаётся без изменений. Если планшет обесточиваю полностью, то после включения снова 100%.
sandr2010
26.04.2017, 08:45
Не,не проседает. Видимо планшет пытается рассчитать потребленный заряд. Даже без нагрузки ,процент заряда стремится к 0. Опустившись до 1% будет работать бесконечно долго.
sergej1976
26.04.2017, 10:29
На сколько смог разбирался в этом вопросе.
Получается, что сам контроллер заряда батареи в гаджете (а не в аккумуляторе) рассчитывает процент заряда (по крайней мере AXP209) и это значение записывается в capacity. В тех файлах, что в battery перезаписывается инфа о состоянии работы аккума.
В таскере прописал строку
mount -o bind /sdcard/battery /sys/class/power_supply/battery
После запуска данной строки индикатор заряда батареи показывает 0%. Гаджет продолжает работать. Навител не верещит, что аккум разряжен.
Единственное, что у меня пока не получилось так это в таскере запустить строку echo 99 > /sdcard/battery/capacity
Таскер показывает что команда запущена, но индикатор кажет 0%.
Реализовал включение при подаче питания следующим образом (спасибо masterx66)
Сначала немного теории.
"Алгоритм" загрузки содержится в script.bin. Параметры одной из строк ("power_start = 0") определяют правила включения гаджета.
При значении "0" - только кнопка, "1 " - кнопка или внешнее питание, "2'' - только от внешнего питания при нажатии кнопки и без аккумулятора, "3" от внешнего питания, без аккумулятора и без нажатия на кнопку питания.
Править script.bin проще всего с помощью утилиты Uberizer.
Теперь практика. Вот тут (http://4pda.ru/forum/index.php?showtopic=381747&st=680) есть бинарник, который надо любым удобным способом закинуть в навигатор. Я у себя такой бинарник не нашел. С помощью Uberlizer'а просто закинул наугад в свой китайский навигатор, и все заработало. Теперь и при подаче питания, и с кнопки навигатор загружается. Осталось реализовать задержку включения. Думаю попробовать отредактировать скрипт. Позже отпишусь.
sandr2010
26.04.2017, 15:38
Это старо как ... ,в общем то что мамонту уже не нужно. Там же : как сделать питание без батарейки - по AXP209. Древний у вас навигатор.
sergej1976
26.04.2017, 16:52
Для команды mount нужен ли busybox?
не совсем понял зачем биндить в sys папку с sdcard. Ведь команда
su
echo 99 > /sys/class/power_supply/battery/capacity
в терминале должна делать то же самое без какого либо бинда. Можете сами попробовать.
У файла capacity права только на чтение. Пытался вручную выставить права на запись. Но, как только файл перезаписывается гаджет уходит в перезагрузку.
kostyamat
26.04.2017, 19:27
Аналогичная ситуация. Телефон уходит в ребут после перезаписи capacity. Наверное этот метод в 6-ом не работает.
А вот как sandr2010 пишет - разряд до 1% и работает бесконечно долго. У вас так не работает?
Кардинально этот вопрос можно решить правкой фреймворк андроида. Просто отключив отслеживание батареи.
Но это не ко мне. И не в этой теме.
sandr2010
26.04.2017, 20:21
Аналогичная ситуация. Телефон уходит в ребут после перезаписи capacity. Наверное этот метод в 6-ом не работает.
Так поэтому и идет обращение на папку созданную на карте памяти - там capacity r/w(чтение/запись).
Древний у вас навигатор.
что есть, то есть)) но как навигатор пока андроид вытягивает) на карписи - уже нет):pardon:
sandr2010
26.04.2017, 21:46
Если вырубается при 1-0% ,то можно попробовать модуль xposed :https://forum.xda-developers.com/xposed/modules/mod-disablecriticalbatteryshutdown-v1-0-t2583320. Сам пока не пробовал,т.к. не вырубается при 1%.
Аналогичная ситуация. Телефон уходит в ребут после перезаписи capacity. Наверное этот метод в 6-ом не работает.
А вот как sandr2010 пишет - разряд до 1% и работает бесконечно долго. У вас так не работает?
Кардинально этот вопрос можно решить правкой фреймворк андроида. Просто отключив отслеживание батареи.
Но это не ко мне.
Насколько я понял, у человека Навител ругается на 1%, что не очень удобно.
sandr2010
26.04.2017, 23:11
Насколько я понял, у человека Навител ругается на 1%, что не очень удобно.
Это не так существенно,т.к. есть решение.
Это не так существенно,т.к. есть решение.
Ставить альтернативную прошивку не хочу.
sandr2010
27.04.2017, 11:47
Причем тут прошивка - удаляется файл озвучки и всё(если память не изменяет).
weltkind22
28.04.2017, 11:37
Друзья, надеюсь на вашу помощь.
Устройство Nexus 7 3g 2012. Прошивка от тимура. Если можно ссылку размещать, делал все как описано тут (http://pccar.ru/showthread.php?t=18305)
Рутанут планшет и установлена последняя прошивку CM 10.1 от Тимура. (с поддержкой одновременной работы флешки и зарядки).
АКБ убран. Вместо него напрямую идут 5В. И на разьем идет OTG тройник с питанием, который подкл. к аксессуарам (когда поворачиваю ключ есть 12В, вытакскива соответственно нет питания). Программно в прошивке есть "powereventmgr" - он собственно и заставлял засыпать планшет как я понимаю.
У меня все было настроено и работало с сентября 16 года до последнего момента (27.04.17). Тут летом на солнце сполз планшет с крепления так как держался на термоклее. Снял занес домой прикрутил крепеж. Несу и подключаю в машине - планшет просыпается но не засыпает ни в какую.
Принудительно убрав питание с разьема и открыв программу "PowerEventManager" планшет, засыпает, при подаче питания просыпается, и потом снова не засыпает при откл. питания с разьема.
Программно никуда не лез пока делал крепеж - только физически. Чтобы исключить обрыв питания - принес планшет домой и подключаю просто зарядку от розетки родную, планшет так же просыпается но не засыпает. "В настройках USB HOST" отображается когда подкл зарядка статус "available", когда убираю "none"... Тоесть поидее он видит вкл и откл зарядки. Программно открыв "PowerEventManager" там есть меню только "Sleep device" когда нет питания на разьеме... Куда смотреть с чего начать??
kostyamat
29.04.2017, 01:57
Друзья, надеюсь на вашу помощь.
Устройство Nexus 7 3g 2012. Прошивка от тимура. ....
"Я тэбэ одну умную вэщ скажу, только ты не обижайся" (с) один умный армянин.
Лично я Nexus живьём не видел, прошивку от Тимура тем более. О вашем планшете, в разделе андроид, каждая вторая тема. В них сидят владельцы этого гаджета. Во много раз эффективнее было бы спросить там.
Эта тема общая, и вопросы, которые в ней обсуждаются, относятся к автоматизации на shell-скриптах.
to All
Я бы не хотел, чтобы тут обсуждали работу всяких менеджеров, конкретных прошивок, Таскера, Xposed и т.п. Так же увольте от обсуждения прелестей разных аппаратов. Иначе, будете обсуждать без меня.:be:
Помогите пожалуйста реализовать засыпание/просыпание на планшете nexus 9. Читая вашу тему, не смог найти у себя на планшете похожие файлы. Схему хочу сделать такую: планшет-хаб-звуковая карта. Так вот в папке dev всегда имеется папка usb. В зависимости, что подключаю, то и появляется в этой папке. К примеру когда подключается звуковая карта появляется 2 файла: input3-1.1 и sound3-1.1.
при подключении звуковой карты через хаб планшет должен просыпаться,при отключении засыпать
kostyamat
02.05.2017, 01:25
Lafaet увидел. Попробую помочь. Не переключайтесь.
sergej1976
02.05.2017, 20:07
Есть root. Сотовый телефон htc desire x:
кастомная прошивка insertcoin 2.2-0 r87
ядро fulmix.Kernel#2
S-ON
Моя беда в том что, смарт не хочет отрабатывать команду /system/bin/reboot
Что еще нужно сделать?
P.S. Андроид 4.1.2
sandr2010
02.05.2017, 23:03
sergej1976 ,как варианты команд ребута :
kostyamat
03.05.2017, 09:49
Есть root. Сотовый телефон htc desire x:
кастомная прошивка insertcoin 2.2-0 r87
ядро fulmix.Kernel#2
S-ON
Моя беда в том что, смарт не хочет отрабатывать команду /system/bin/reboot
Что еще нужно сделать?
P.S. Андроид 4.1.2
Очень странно. У вас терминал получил рут доступ, гляньте логи supersu? Что вы пытаетесь сделать ? Вам просто нужен reboot, или автр.включение при подаче питания? Если второе, то пофиг. Это работает на уровне init, а у init самый высокий приоритет в системе, ему рут доступ вообще не нужен для работы. Правьте boot.img и будет работать. Если же первое - нужно думать. Первое, что приходит на ум - рут у вас неполный, или не правильно сделанный. Какое положение у вас права раздает supersu?
sergej1976
03.05.2017, 19:24
kostyamat, права раздает super su. В лог у него все зеленое для fx проводника.
Хочу автостарт при подаче питания.
Правил boot.img и файл system/bin/charging
У меня в init.rc так:
on charger
class_start charger
...
...
service charging /system/bin/charging
user root
group root
disabled
oneshot
в другом файле есть такое
on boot-pause
exec system/bin/battery_charging
в /system/bin/
есть файл charging и нет файла charger
И вообще на экране нет индикатора заряда батареи. Есть только светодиод, который загорается красным при подключении зарядки.
P.S.
sandr2010, по второй строке первого окна произошла перезагрузка. Но, видимо это только когда смарт загружен :-(((
kostyamat
04.05.2017, 02:05
Ну так делайте как в первом посте
Какая разница charger или charging . Скопируйте свой reboot например в корень рамдиска boot, там где у вас init.rc
И исправьте service charging /system/bin/charging
на
service charging /reboot
и должно всё работать.
Ещё можете перед этими строками
on charger
class_start charger
поставить #, вот так
#on charger
#class_start charger
Тоже может сработать. Только делайте либо одно, либо другое.
kostyamat
04.05.2017, 02:07
Lafaet за вашу просьбу не забыл. Занят немного. Извините.
sergej1976
04.05.2017, 11:57
Скопируйте свой reboot например в корень рамдиска boot, там где у вас init.rc
Исправьте service charging /system/bin/charging
на
service charging /reboot
и должно всё работать.
Ещё можете перед этими строками
on charger
class_start charger
поставить #, вот так
#on charger
#class_start charger
Тоже может сработать. Только делайте либо одно, либо другое.
Попробовал ноль реакции.
Ладно, остановлюсь на замыкании кнопки питания.
sandr2010
04.05.2017, 14:50
А файл reboot вообще есть? Может он имеет другое название: ведь из под программы сработал не reboot?
sergej1976
04.05.2017, 15:24
reboot есть. И reset есть. Хотя ресет не пробовал запихивать в ядро.
P.S.
файл /proc/sysrq-trigger пустой.
В строке сначала в него записывается s, потом цикл чего то, потом записывается b. И происходит перезагрузка
sergej1976
04.05.2017, 15:37
Вот здесь про sysrq -trigger http://www.opennet.ru/tips/info/1578.shtml
kostyamat
05.05.2017, 20:04
Попробовал ноль реакции.
Ладно, остановлюсь на замыкании кнопки питания.
А если так
on charger
exec /reboot
И не забыть добавить в file_contexts в секцию
# Executables
такую строку.
/reboot u:object_r:rootfs:s0
Ещё есть вариант, что ваш reboot какой-то не такой, например скопелирован не как standalon, а linked к библиотеке bionic. Соответственно, пока система не загружена, выполнятся не сможет.
Попробуйте использовать команду busybox reboot.
Соответственно, в рамдиск поместите busybox (осторожно, он толстый, может и не поместится)
Допишите selinux правило в file_contexts для busybox (аналогично), и в команду выше
on charger
exec /busybox reboot
Чем мог, тем постарался помочь.
_val35999633
08.05.2017, 19:14
kostyamat
Помогите реализовать засыпание/просыпание планшета.
При подключении звуковой карты или флешки, в dev/usb появляется:
sound2-1.2 ->/dev/snd/pcm200p и input2-1.2 ->/dev/input/event3 для звуковой карты и scsi_generic2-1.3 ->/dev/sg0 для флешки - планшет должен проснуться.
При отключении в dev/usb ничего нет - планшет должен уснуть.
_val35999633
12.05.2017, 10:35
К сожалению, kostyamat отсутствует в теме.
Подставил свои пути - значения в скрипт http://pccar.ru/showpost.php?p=385715&postcount=17.
https://yadi.sk/i/oy5L7aW23JGZhm
Совсем не программист, но что то подсказывает, что не все так просто.
Направьте на путь истинный.
_val35999633
20.05.2017, 12:09
Естественно, правленый мной скрипт, не заработал.
Нашел в папке mnt, при включении otg, появление файла sda1.
Опять изменил. Заработало на 50%. Из сна выводит, а обратно нет.
Все таки отлавливать в папке mnt включение, не совсем верно (мое чайниковское мнение). Т.к. кроме флешки там появляется еще разные файлы. В папке dev/usb появляется только то, что подключил в хаб.
Помогите со скриптом по пути dev/usb для просыпания/засыпания планшета, при подключении/отключении otg.
Естественно, правленый мной скрипт, не заработал.
Нашел в папке mnt, при включении otg, появление файла sda1.
Опять изменил. Заработало на 50%. Из сна выводит, а обратно нет.
Все таки отлавливать в папке mnt включение, не совсем верно (мое чайниковское мнение). Т.к. кроме флешки там появляется еще разные файлы. В папке dev/usb появляется только то, что подключил в хаб.
Помогите со скриптом по пути dev/usb для просыпания/засыпания планшета, при подключении/отключении otg.
Я тоже не дождался здесь ответа)) Пока сделал так - поскольку в хаб всегда будет подключена звуковая usb карта, сделал через таскер засыпание и просыпание по включению/отключению аудио. Хаб включился - планшет проснулся, хаб выключился - планшет заснул. Вроде стабильно. просто так не просыпается.
_val35999633
22.05.2017, 19:07
сделал через таскер засыпание и просыпание по включению/отключению аудио
Пробовал через таскер, не получилось. Подскажите как сделали.
Если это офтоп, для темы, подскажите пожалуйста в личку.
Slavikus
01.06.2017, 13:34
Есть root. Сотовый телефон htc desire x:
кастомная прошивка insertcoin 2.2-0 r87
ядро fulmix.Kernel#2
S-ON
Моя беда в том что, смарт не хочет отрабатывать команду /system/bin/reboot
Что еще нужно сделать?
P.S. Андроид 4.1.2
Смарт без батарейки?
У меня samsung sm-t110 до изъятия батарейки запускался, а без неё только кнопкой.
sergej1976
01.06.2017, 14:39
А он как с так и без только с кнопки.
kostyamat
03.06.2017, 16:29
Ребята, работаю каждый день, времени нет совершенно.
Oleg7874
04.06.2017, 17:39
Я дико извиняюсь, подскажите это вариант автовключения для планшетов в которых присутствует батарея, или для планшетов без батареи тоже подойдет ?
Спасибо.
sandr2010
04.06.2017, 18:52
Без разницы.
sandr2010
06.06.2017, 12:13
Ребята, работаю каждый день, времени нет совершенно.
Если появится времечко,может попытаетесь решить вопрос с утекающим зарядом - как и что править в ядрах(типа как у ядер от Даниэля и Тимура для нексусов)? Хотя бы ,так сказать, сам принцип.
Если появится времечко,может попытаетесь решить вопрос с утекающим зарядом - как и что править в ядрах(типа ядер от Даниэля и Тимура для нексусов)? Хотя бы ,так сказать, сам принцип.
ядро даниэля и так не опрашивает батарею, а берет данные с потолка.
sandr2010
06.06.2017, 16:25
Вопрос по другим телам. Про нексусы я в курсе
Если появится времечко,может попытаетесь решить вопрос с утекающим зарядом - как и что править в ядрах(типа как у ядер от Даниэля и Тимура для нексусов)? Хотя бы ,так сказать, сам принцип.
Поддерживаю. Это нужная информация. Дождался утекания заряда на Nexus 2013 LTE. Планшет не остается на 1% как 2012, а просто пишет выключение и выключается. Приходится скидывать питание(
Oleg7874
07.06.2017, 16:37
Всем привет.
Подскажите куда копать !?
нашел в файлике init.rc такие строки:
on charger
class_start charger
самого сервиса class_start charger в файле init.rc нет !
нужно искать данный сервис class_start charger в других файлах с расширением .rc или снова искать строку on charger в других файлах ?
Тело Asus Fonepad ME371MG.
Спасибо.
sandr2010
07.06.2017, 17:33
Не мое,но человек отписался,что всё работает на квалкоме 615 MSM8939 :
"было так:
on charger
mount ext4 /dev/block/bootdevice/by-name/userdata /data
mount ext4 /dev/block/bootdevice/by-name/persist /persist
class charger
сделал так:
on charger
mount ext4 /dev/block/bootdevice/by-name/userdata /data
mount ext4 /dev/block/bootdevice/by-name/persist /persist
class_start charger
и заработало"
Oleg7874
07.06.2017, 17:39
Не мое,но человек отписался,что всё работает :
"было так:
on charger
mount ext4 /dev/block/bootdevice/by-name/userdata /data
mount ext4 /dev/block/bootdevice/by-name/persist /persist
class charger
сделал так:
on charger
mount ext4 /dev/block/bootdevice/by-name/userdata /data
mount ext4 /dev/block/bootdevice/by-name/persist /persist
class_start charger
и заработало"
Я так понимаю это для меня ?
Спасибо, попробую.
sandr2010
07.06.2017, 17:48
Oleg7874 ,через пару дней буду ковырять тело на z25xx(похожий на ваш) - там посмотрю что и как. Отпишусь.
Oleg7874
07.06.2017, 18:02
Oleg7874 ,через пару дней буду ковырять тело на z25xx(похожий на ваш) - там посмотрю что и как. Отпишусь.
Ок, спасибо.
интересная идея..., у кого-нибудь получилось "АВТОВЫКЛЮЧЕНИЕ",
NEXUS_7, 2012, WiFi, прошивка AutoDroid_1.2(andr.4.4.4). что-то не получается у меня, никак не вьеду...:wallbash:патч автовключения сделан, сейчас полное выключение делается с помощью Таскера, а хотелось бы без всяких дополнительных приложений... :blush:
"Вторая часть - выключение при пропадании напряжения зарядки."- из первого поста автора, не получается....
sandr2010
11.06.2017, 21:52
Oleg7874 ,пробежался по всем .rc- кам. Видимо они такие же,как и у вас. Ссылки на сервис тоже нет. Есть бинарник charger. Экспериментировать не успел - хозяин торопился. Но,судя по :
В случае если в корне устройства лежит бинарник /charger - это он и есть. Но бывают разные реализации, поэтому лучше таки убедится, пересмотрев init.rc.
Еще, на некоторых аппаратах, можно просто удалить секцию on charger из init.rc и получить продолжение загрузки, без ребута. С этого можно начать, но нужно иметь ввиду, что флаг on charger, выставленный бутлоадером будет продолжать висеть над системой. Как на него отреагируют системные бинарники и приложения неизвестно. Возможно никак, а возможно и с нюансами. Надо пробовать в каждом конкретном случае. - можно попробовать закомментировать : on charger class_start charger.
sandr2010
11.06.2017, 22:14
tima10 ,вроде бы сложного ничего нет. Тела под рукой нет,у меня сток 5.1,поэтому не в курсе что у вас есть в прошивке : поддержка init.d есть?
busybox установлен? Создаем текстовый файл с содержимым из поста,обзываем его как-нибудь(расширение не ставим),ложим его по пути /system/init.d,выставляем ему права.
Сам с этим не экспериментировал - у меня нет желания ждать по 30-40-50 секунд загрузки тела при
запуске двигателя.
в терминале набрал "busybox" выдало-busybox v1.22.1,
есть папка init.d в /system/etc, создал текстовый файл с содержимым из первого поста, часть вторая(расширение не ставил, выставил ему права 755.)и положил в /system/etc/init.d и ничего не происходит...:shok:
sandr2010
11.06.2017, 22:57
/sys/class/power_supply/*battery/status - что написано в файле status при не подключенной зарядке?
/sys/class/power_supply/*battery/status - что написано в файле status при не подключенной зарядке?
Discharging
sandr2010
12.06.2017, 11:49
https://play.google.com/store/apps/details?id=com.androguide.universal.init.d - попробуйте,что скажет программка.
https://play.google.com/store/apps/details?id=com.androguide.universal.init.d - попробуйте,что скажет программка.
Увы:ohmy2:"Ваше ядро не поддерживает init.d":no2:
а почему тогда есть папка system/etc/init.d с какими-то файлами без расширения:blink2:
sandr2010
12.06.2017, 17:36
Переключатель в программе поставьте на on. Перезагрузка.
Ядро и прошивка это разные вещи. Если не заработает скрипт,то старое-доброе : https://play.google.com/store/apps/details?id=com.broodplank.initdtoggler
Переключатель в программе поставьте на on. Перезагрузка.
Ядро и прошивка это разные вещи. Если не заработает скрипт,то старое-доброе : https://play.google.com/store/apps/details?id=com.broodplank.initdtoggler
не получается:be:, наверное что-то с предложенным в первом посте скриптом...
где хозяин то:bye:?, не видно его и не слышно....
ну ладно, пусть таскер и дальше трдиться,
sandr2010 спасибо:yes4:
sandr2010
12.06.2017, 18:13
Тело должно выключиться через 30 секунд после отключения зарядки. И еще : в init.rc кусок кода добавили? В defaul.prop или build.prop изменения внесли?
Oleg7874
13.06.2017, 00:32
Oleg7874 ,пробежался по всем .rc- кам. Видимо они такие же,как и у вас. Ссылки на сервис тоже нет. Есть бинарник charger. Экспериментировать не успел - хозяин торопился. Но,судя по : - можно попробовать закомментировать : on charger class_start charger.
Я на своем планшете такой файл не нахожу !!!
Подскажите, где вы находили файлик chardger.
Спасибо.
И еще : в init.rc кусок кода добавили?
воот наверное где "собака зарыта", надо будет проверить на досуге..., но пока "перегорел".:big:
sandr2010
13.06.2017, 08:35
Oleg7874 , /charger там же где все .rc лежит.
Oleg7874
13.06.2017, 23:02
Oleg7874 , /charger там же где все .rc лежит.
У меня такого файла нет !!!
Может из-за версии андроида 4.1
sandr2010
13.06.2017, 23:15
Упс,у моего 4.4.2 А случаем файл ipod есть?
Oleg7874
16.06.2017, 09:19
Упс,у моего 4.4.2 А случаем файл ipod есть?
У меня два планшета на андроиде 4.1.
Один Kindle fire hd7, а другой asus fonepad me371mg.
Киндл включается при подключенной зарядке, а асус нет !!!
Файлы в устройствах можно сказать идинтичны, но файлов chardger или ipod нет.
outfernal
12.01.2018, 10:20
Еще как вариант для android 4.4 и старше
в on charger секцию просто добавить powerctl reboot
Это стала встроенная команда процесса init.
Так же можно вызвать с параметром shutdown для выключения.
И так же можно вызвать выставив свойство sys.powerctl в одно из значений,
типа setprop sys.powerctl reboot
Вот так это свойство описано в init.rc:
on property:sys.powerctl=*
powerctl ${sys.powerctl}
stalker.grom
01.02.2018, 00:32
Здравствуйте!Помогите с включение планшета TELEFUNKEN TF-MID707G на mtk8389 (MT6589 ), уже какие сутки не сплю. Перепробовал почти все. Не стартует при подаче питания и все. Надеюсь на вас!
Есть в init.rc директория
on charger
class_start charger
и все! не могу найти ни service, ни charger.bin
При этом, у меня в настройках есть расписание включения и выключения .
Включение работает с полностью выключенного планшета. Может как-то можно к нему привязаться???
Андроид 4.2.1 рут, busybox
Вот мое ядро https://yadi.sk/d/OP4F15T43RxxiE
Помогите, пожалуйста!
stalker.grom
05.02.2018, 02:43
И еще в дополнение к своему посту выше, полностью закомментировал секцию on charge, все равно анимация появляется. Уже сил нет. Хоть за другим планшетом беги.
И еще в дополнение к своему посту выше, полностью закомментировал секцию on charge, все равно анимация появляется. Уже сил нет. Хоть за другим планшетом беги.
mtk8389, что тут можно еще сказать.
Elektrobank
13.02.2018, 17:32
Всем привет. Хочу сказать вот что по поводу автовключения при зарядке. Шапка темы
начинается со слов "немного теории". А вот на практике кому нибудь удалось реализовать это автовключение на мтк андройде 6.0 ? То что нужно найти и подправить on charger в init.rc и скрипт #!/system/bin/sh
/system/bin/reboot. забить в бинарник это все да сделано.
...У меня планшет на МТК 6580 андройд 6.0 и все нужные файлы в нем я нашел и подправил. Но при перезагрузке они приходят в исходное состояние так как BOOT.IMG в котором те самые файлы продублированы не дает это сделать. Распаковать BOOT.IMG и подправить можно...Но вот КОРРЕКТНО запаковать спрашивается КАК это сделать без исходников ? Походу никак...
Кто то на Nexus 7 2013 такое делал , я пробовал не получилось , может какие есть подводные камни , подскажите плз.
sandr2010
14.02.2018, 19:10
Но вот КОРРЕКТНО запаковать спрашивается КАК это сделать без исходников ? Походу никак...
Помоему на 4pda в теме по портированию на мтк есть исходники на мтк6580 под 5,6,7 и помоему 8 андроид (хотя могу и ошибиться по поводу 8).
Подскажите пожалуйста автовключение при подаче питания на контроллер батареи на Nexus 7 2013 Lte прошивка 6.0.1 сток. Как сделать ? Фастбут не могу сделать комп не видит чип сгорел, отг пока есть.
Всем привет! Подскажите, как можно сделать автоотключение устройства по событию, а именно- чтобы устройство автоматически завершало работу сразу после нажатия кнопки Power ?
Всем привет! Подскажите, как можно сделать автоотключение устройства по событию, а именно- чтобы устройство автоматически завершало работу сразу после нажатия кнопки Power ?
Как вариант - использовать MacroDroid (https://play.google.com/store/apps/details?id=com.arlosoft.macrodroid&hl=ru). В программе нет триггера по однократному нажатию на кнопку "Power", но можно настроить по триггеру "Экран включён/выключен", когда планшет уходит в "сон" или "просыпается". В настройках "Действия" выбрать, что хотите сделать по тому или иному состоянию экрана. Если нужно полностью выключать устройство, то нужно в "Действиях" выбрать "Перезагрузка/отключение".
Спасибо, но у меня стоит CarPC на Атоме, который ранее работал на MS Windows 7, а сейчас хочу его заставить на Android x86 трудиться. Считается ли выключением экрана состояние, когда отключается питание непосредственно от монитора? Монитор подключен к материнке через HDMI. Также стоит БП M2-ATX.
Спасибо, но у меня стоит CarPC на Атоме, который ранее работал на MS Windows 7, а сейчас хочу его заставить на Android x86 трудиться. Считается ли выключением экрана состояние, когда отключается питание непосредственно от монитора? Монитор подключен к материнке через HDMI. Также стоит БП M2-ATX.
На Android x86, к сожалению не пробовал автоматизацию по MacroDroid. Если в настройках системы есть пункт "действие по нажатию на кнопку питания", то настроив на увод в "сон", эран должен тоже "засыпать", а это уже является "триггером" для MacroDroid.
Попробую вечером следующее в MacroDroid- отключение питания по извлечению USB-устройства. При отключении ACC у меня отключается питание монитора и USB тач-контроллер. Должно сработать, только вот получается, что если нужно будет сменить USB флешку с медиа при включенном компе, то тогда он уйдет в перезагрузку.
А при "нажатии" на кнопку питания Android x86 в "спящий" режим не уходит?
"На Android-x86 предусмотрен спящий режим, который автоматически активируется после закрытия крышки ноутбука или чехла планшета (разумеется, с магнитным сенсором или при наличии датчика приближения). Правда, в зависимости от сборки и версии системы работа спящего режима и даже его наличие может меняться. В случае «оригинальной» OC Android 5.1.1 все именно так, как описано выше." Источник. (https://overclockers.ru/lab/show/75356/vybiraem-operacionnuju-sistemu-na-baze-oc-android-android-x86-i-remix-os)
При нажатии на кнопку "Питание" возникает только лишь диалоговое окно с одним единственным пунктом- "отключить устройство?"
В сон не уходит.
По сути CarPC в сон не увести, т.к. нет датчиков.
Можно попробовать настроить Android x86 через MacroDroid по триггеру "подключение/отключение наушников" и соответственно его доработать (http://pccar.ru/showpost.php?p=385707&postcount=1). Может получится... Через USB, мне кажется будет проблематично.
Спасибо за инфо...а назначить действие по возникновению сообщения на экране о предложении выключить устройство, например с помощью таскера, макродройда итп может быть как-то можно?
По системным сообщениям не нашёл , как это можно сделать. Есть триггер по количеству нажатий на кнопку питания (3, 4, или 5 нажатий) и действие "выключить питание" полностью. Попробуйте этот вариант в MacroDroid, если получится, то "нажимать " кнопку три раза можно сделать через Ардуино.
Ни на ноуте ни на CarPC не сработало тройное нажатие...тупо три раза выпадает диалоговое окно с предложением выключиться...не очень понимаю разработчиков делать тройное и более нажатий, но не делать однократного.
Ни на ноуте ни на CarPC не сработало тройное нажатие...тупо три раза выпадает диалоговое окно с предложением выключиться...не очень понимаю разработчиков делать тройное и более нажатий, но не делать однократного.
В стандартном Андроиде так и сделано: однократное короткое нажатие на кнопку питания уводит в "сон", длительное нажатие- выскакивает диалоговое окно с вариантами выключения. Видимо в Android-x86 это зависит от версии сборки, как указано по ссылке выше на источник...
А может есть варианты настройки БП M2-ATX на такой случай?
А может есть варианты настройки БП M2-ATX на такой случай?
Нужно добиться стабильного увода в "сон" Android-x86 по короткому нажатию на кнопку (можно вручную попробовать замыкать контакты на материнке, время удержания 0.2 сек.), во всяком случае поэкспериментировать.
Дальше уже "прикручивать" этот вариант к M2-ATX .
Видел в одной из тем, что можно нечто подобное сделать, используя Tasker в котором я не силен.
"Через run shell Taskerа, командой svc powershutdown" (цитата).
И судя по всему человек нашел решение, но Таскер для меня-темный лес, поэтому проверить его не могу. Вот тут http://pccar.ru/showpost.php?p=335326&postcount=5
Видел в одной из тем, что можно нечто подобное сделать, используя Tasker в котором я не силен.
"Через run shell Taskerа, командой svc powershutdown" (цитата).
И судя по всему человек нашел решение, но Таскер для меня-темный лес, поэтому проверить его не могу. Вот тут http://pccar.ru/showpost.php?p=335326&postcount=5
У вас же экран не гаснет при нажатии на кнопку? Если сможете повторить как здесь (http://pccar.ru/showpost.php?p=335523&postcount=7), то и в MacroDroid этот сценарий можно сделать.
У вас же экран не гаснет при нажатии на кнопку? Не гаснет
Если сможете повторить как здесь, то и в MacroDroid этот сценарий можно сделать.
Окно с предложением выключить систему всплывает каждый раз при нажатии кнопки Питание.
Т.е. найти строку double click в файле build.prop и просто исправить на double click=1 ?
Не гаснет
Окно с предложением выключить систему всплывает каждый раз при нажатии кнопки Питание.
Т.е. найти строку double click в файле build.prop и просто исправить на double click=1 ?
Вы же сами дали ссылку, где человек решил проблему и там в теме этот вариант и расписан. Если заменить файл, то по нажатию на кнопку системное окно выскакивать не будет и должен экран гаснуть. По триггеру "Экран выключен" в MacroDroid настраиваете выключение питания.
Проверил...ничего не изменилось, либо я что-то делаю не так.
Что было сделано:
- Открыл build.prop;
- Начал искать строку double click;
- Не нашел строки double click;
- сам дописал в build.prop
double click=1
- Сохранил;
- Перезапустился;
- Произвел проверку нажатием кнопки Power.
1. неправильный синтаксис строки в buid.prop
2. одной этой строки мало, нужно пересобрать или пропатчить фреймворк.
Вот текст первоисточника (https://groups.google.com/forum/#!topic/android-x86/9_bJ_dDM1vE) информации:SOLVED
If you need to device is auto turn off(without power off dialog) via "Power off" button, You need set "poweroff.doubleclick=0" in build.prop and then, need to edit sources file.
File "<sourcers root>/frameworks/base/core/res/res/values/config.xml", find option "config_longPressOnPowerBehavior" and change value to "3" ("<integer name="config_longPressOnPowerBehavior">3</integer>").
This option allow to power off without dialog.
P.S. file
"<sourcers root>/frameworks/base/core/res/res/values/config.xml" have many interesting other options!
Спасибо. Не нашел в корневой папке папку с именем Frameworks. Не там ищу...?
Имеется в виду исходный код android-x86, а не готовый образ.
Ясно...но для меня это невыполнимая задача.
Добрый день. Кто то нашёл решение выключения Android x86 нажатием кнопки без вывода диалогового окна?
IgorBorNN
29.08.2022, 17:33
Доброго здравия !!! Есть один интересный момент !!! В init.rc меняю или добавляю строки для запуска девайса при подключении зарядки для запуска системы, после перезагрузки ничего не происходит, все как было, захожу и проверяю файл init.rc и вижу что система автоматом все что я добавил или исправил возвращает в стоковое состояние, почему это происходит !!!??? С Уважением !
Работает на vBulletin® версия 3.8.4. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot