PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Питание (http://pccar.ru/forumdisplay.php?f=173)
-   -   (Инструкция) Автостарт и автовыключение андроид при подключении\отключении ЗУ (http://pccar.ru/showthread.php?t=25819)

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

Цитата:

Сообщение от sandr2010 (Сообщение 385514)
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. Подумайте над вариантами.
Хотя, если разряд батареи не проблема (планшет встроен, и постоянно на зарядке), то можно сделать и по ОТГ.

Явген 12.04.2017 21:47

Цитата:

Сообщение от kostyamat (Сообщение 385626)
Вот если бы отслеживать не сам факт включения ОТГ, а какое-то устройство, воткнутое в него (ГПС, звуковая УСБ карта), можно было бы использовать демона inotifid.

А как реализрвать?

kostyamat 13.04.2017 00:00

Вложений: 1
Цитата:

Сообщение от sandr2010 (Сообщение 385569)
/sys/kernel/debug/msm_otg/otg_state: не включен otg - b_idle,включен - a_host - оно?

Ваш скрипт: Вложение 47207 убрать расширение ТХТ, положить в папку init.d присвоить права 755, перезагрузить планшет.
При подключении ОТГ переходника, экран должен включаться.

Объясните по какой логике он должен выключатся. Вот этого я сам придумать не могу. Или не надо?

kostyamat 13.04.2017 00:02

Цитата:

Сообщение от Явген (Сообщение 385705)
А как реализрвать?

Почитайте предыдущие посты, самое главное - первый. И попробуйте объяснить мне что именно вы хотите реализовать.

sandr2010 13.04.2017 00:06

Завтра попробую,отпишусь. Спасибо огромное!

kostyamat 13.04.2017 03:52

Цитата:

Сообщение от sandr2010 (Сообщение 385717)
Завтра попробую,отпишусь. Спасибо огромное!

Имейте ввиду, что реакция скрипта не моментальна, я писал выше почему это не реально, и может колебаться от 0 до 3 секунд. Если так не устроит. Можете уменьшить sleep до 1 или вообще закоментировать, поставив перед ним знак #
Вот так #sleep 2. Но тогда последите за планшетом, не тупит ли, спит ли нормально.

sandr2010 13.04.2017 05:26

Понял.

Явген 14.04.2017 17:36

Цитата:

Сообщение от kostyamat (Сообщение 385716)
Почитайте предыдущие посты, самое главное - первый. И попробуйте объяснить мне что именно вы хотите реализовать.

читал). Я имел ввиду, реализация по событию от устройства в хабе.

П.с. кстати, учитывая, что большинство использует 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.

anchern 20.04.2017 14:12

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? Что-то ваши файлы, и пути к ним, не внушают мне доверия. Похоже в них не однозначные данные и могут меняться не только от ОТГ. Что у вас в хаб навсегда воткнуто? И вообще, отслеживать можно не только состояние ОТГ, но и устройства в нем, да и сам хаб тоже.
А еще можно и сам хаб, и устройства в нем программного "передергивать" если засыпают.

anchern 24.04.2017 10:30

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, дополняющие друг друга.

anchern 24.04.2017 15:21

Я, конечно, жутко извиняюсь, но может можно как-нибудь попроще сделать. Ну типа, на тебе, не знаю как это называется, файл или скрипт, вставь это туда-то, и наслаждайся. Не,так не получится?

shanay 25.04.2017 10:02

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 вам не удастся. Я подумаю, что можно сделать. Но для начала попробуйте в терминале команду выше.

Еще вопрос: как это планшет разряжается не имея батареи? Не совсем понятно. Может у вас напряжение проседает?

shanay 26.04.2017 08:40

Ок, спасибо, попробую.

Как говорят на форуме, в контроллере батареи стоит таймер, который анализируя нагрузку, показывает постепенный разряд батареи, не знаю насколько это так. Многие ставят альтернативные прошивки и подключают питание напрямую, минуя контроллер батареи. Я хочу кататься на стоке с рут правами, т. к. все работает.

По поводу просадки напряжения. Ранее были такие прецеденты, это проявлялось надписью "разряд батареи" при отсутствии приема 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%.

~don~ 26.04.2017 13:01

Реализовал включение при подаче питания следующим образом (спасибо masterx66)
Сначала немного теории.
"Алгоритм" загрузки содержится в script.bin. Параметры одной из строк ("power_start = 0") определяют правила включения гаджета.
При значении "0" - только кнопка, "1 " - кнопка или внешнее питание, "2'' - только от внешнего питания при нажатии кнопки и без аккумулятора, "3" от внешнего питания, без аккумулятора и без нажатия на кнопку питания.
Править script.bin проще всего с помощью утилиты Uberizer.

Теперь практика. Вот тут есть бинарник, который надо любым удобным способом закинуть в навигатор. Я у себя такой бинарник не нашел. С помощью Uberlizer'а просто закинул наугад в свой китайский навигатор, и все заработало. Теперь и при подаче питания, и с кнопки навигатор загружается. Осталось реализовать задержку включения. Думаю попробовать отредактировать скрипт. Позже отпишусь.

sandr2010 26.04.2017 15:38

Это старо как ... ,в общем то что мамонту уже не нужно. Там же : как сделать питание без батарейки - по AXP209. Древний у вас навигатор.


Часовой пояс GMT +4, время: 01:09.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot