Comments 43
Вообще логично заменить WIFI_ID=«56b4d822-edd4-4692-baf2-25b0711d1e7b» на WIFI_ID=`gconftool -R /system/osso/connectivity/IA`. Если конечно команда gconftool -R /system/osso/connectivity/IA выводит только id.
Зачем скрипт? N900 же сама соединяется с домашней сетью как только переступаешь порог, без зависимости от зарядки.
Многие выключают эту опцию потому что от постоянного скана садится батарейка.
Увличить интервал скана до 2х часов. Профит? Где-то в полночь оно подключится
А я модуль сам отключаю обычно, можно ли его как-то заводить скриптом?
Нужен скрипт отключающий WiFi при севшей батарейке :)
Не лучше ли осовываться на dbus-scripts и ждать
Out-call-vibro я тоже переписал у себя на dbus-scripts, так как после установки enhanced busybox он перестал нормально работать. И еще глючок, он плохо убивается через stop имя сервиса, так как создается 2 процесса из-за вызова vibro() внутри.
path=/org/freedesktop/Hal/devices/bme; interface=org.freedesktop.Hal.Device; member=PropertyModified
сообщения? Хотя потом надо все равно hal-get-property, так как от PropertyModified идут массивы, они AFAIK dbus-scripts'ом не обрабатываются, но может быть это уже будет реже, чем раз в минуту.Out-call-vibro я тоже переписал у себя на dbus-scripts, так как после установки enhanced busybox он перестал нормально работать. И еще глючок, он плохо убивается через stop имя сервиса, так как создается 2 процесса из-за вызова vibro() внутри.
Можно dbus-scripts. Я просто о нем на днях узнал. Когда out-call-vibro делал, его еще не было (либо был сильно не стабильным).
В enhanced busybox, интересно почему не работает. А убивать его лучше специальным скриптом stop-out-call-vibro.sh (что-то вроде того).
А не покажите ваш вариант на dbus-scripts?
В enhanced busybox, интересно почему не работает. А убивать его лучше специальным скриптом stop-out-call-vibro.sh (что-то вроде того).
А не покажите ваш вариант на dbus-scripts?
Господа, вам памяти не жалко, лишнего демона в систему пускать? Можно ведь на udev!
Пишем /etc/udev/rules.d/11-charger-connect-monitor.rules
А потом я не понял, следит ли сам udevd на N900 за изменениями правил, на всякий случай
# /sbin/udevadm control --reload_rules
И есть нюансы. Во-первых, таким способом будут отслеживаться события системы power_supply, а они генерируются каждую минуту, что ли, в момент подключения/отключения зарядки не генерируются.
Во-вторых, мониторится статус «заряжается/разряжается». Т.е. если подключить провод при полной батарее, то скрипт вызван не будет.
Пишем /etc/udev/rules.d/11-charger-connect-monitor.rules
SUBSYSTEM!="power_supply", GOTO="charger_connect_moitor_end"
ENV{BATTERY_STATE_DETECTED}!="Discharging", ATTR{status}=="Discharging", RUN+="/sbin/udevadm control --env=BATTERY_STATE_DETECTED=Discharging"
ENV{BATTERY_STATE_DETECTED}!="Charging", ATTR{status}=="Charging", RUN+="/path/to/executable"
ENV{BATTERY_STATE_DETECTED}!="Charging", ATTR{status}=="Charging", RUN+="/sbin/udevadm control --env=BATTERY_STATE_DETECTED=Charging"
LABEL="charger_connect_moitor_end"
А потом я не понял, следит ли сам udevd на N900 за изменениями правил, на всякий случай
# /sbin/udevadm control --reload_rules
И есть нюансы. Во-первых, таким способом будут отслеживаться события системы power_supply, а они генерируются каждую минуту, что ли, в момент подключения/отключения зарядки не генерируются.
Во-вторых, мониторится статус «заряжается/разряжается». Т.е. если подключить провод при полной батарее, то скрипт вызван не будет.
Спасибо! Попробую.
А где почитать про этот «язык udev»?
А где почитать про этот «язык udev»?
Я в основном руководствовался статьёй reactivated.net/writing_udev_rules.html
Упс, я тут не учёл, что POWER_SUPPLY_STATUS может принимать значение «Full»…
Вообще, по идее, должен быть способ ловить именно событие подключения зарядки, т.е. мой подход тоже не очень правильный.
Вообще, по идее, должен быть способ ловить именно событие подключения зарядки, т.е. мой подход тоже не очень правильный.
Заметка для себя.
Бида-бида, в ядре kernel-power v48+ отключили загрузку модуля bq27x00_battery (и включать, как я понял, не рекомендуется), посему папочки /sys/class/power_supply нема и события от power_supply не генерируются.
Мой убер метод не работает :(
Хочу нормальный способ запускать скрипт по подключению к зарядке!
Бида-бида, в ядре kernel-power v48+ отключили загрузку модуля bq27x00_battery (и включать, как я понял, не рекомендуется), посему папочки /sys/class/power_supply нема и события от power_supply не генерируются.
Мой убер метод не работает :(
Хочу нормальный способ запускать скрипт по подключению к зарядке!
UFO just landed and posted this here
>status=`hal-get-property --udi /org/freedesktop/Hal/devices/bme --key maemo.charger.connection_status`
а если так?:
cat /sys/class/power_supply/ac/online
а если так?:
cat /sys/class/power_supply/ac/online
No such file or directory. :(
Сейчас погуглил — походу, только так можно узнать статус чарджера на этом девайсе.
Сейчас погуглил — походу, только так можно узнать статус чарджера на этом девайсе.
>No such file or directory. :(
ну эээ ls /sys/class/power_supply/ покажите
ну эээ ls /sys/class/power_supply/ покажите
нет директории такой
это как-то очень странно — такая директория обязательно есть, если в ядре включена поддержка устройств питания (проверит — zcat /proc/config.gz|grep POWER_SUPPLY).
если она отключена, что было бы очень странно на телефоне, то мне непонятно, откуда у вас система берет информацию о подлючении зарядки и уровне батареи
если она отключена, что было бы очень странно на телефоне, то мне непонятно, откуда у вас система берет информацию о подлючении зарядки и уровне батареи
/sys/class/power_supply/bq27200-0/status
Подключил правда USB-зарядку — всё равно Discharging. Розеточной под рукой нету.
Подключил правда USB-зарядку — всё равно Discharging. Розеточной под рукой нету.
А через HAL и USB-зарядка детектится способом из скрипта в заметке.
Что-то не нашел у себя power_supply.
Ядро 2.6.28.10power42
Что-то не нашел у себя power_supply.
Ядро 2.6.28.10power42
Затравка не соответствует теме, чуть менее чем полностью.
Это не написание приложения под Maemo, это написание sh-скрипта приницпиально работающего в любой nix системе. Что
а) совсем не одно и то же
б) никак не иллюстрирует мысль «Цель заметки — показать удобство написания приложений под данную ОС.»
Это не написание приложения под Maemo, это написание sh-скрипта приницпиально работающего в любой nix системе. Что
а) совсем не одно и то же
б) никак не иллюстрирует мысль «Цель заметки — показать удобство написания приложений под данную ОС.»
Хотя, конечно «Ух ты, Маемо это настоящий линукс».
Но я так сделал год назад и успокоился.
Но я так сделал год назад и успокоился.
бу-бу-бу… скрипт-то работает только на N900, как ни крути. :)
Можно, конечно, зафигачить на Си, но я люблю Unix-way.
Мне нравится сама идея писать на Shell под N900. И я стараюсь популяризовать эту идею, так как почему-то этим почти никто не занимается.
Можно, конечно, зафигачить на Си, но я люблю Unix-way.
Мне нравится сама идея писать на Shell под N900. И я стараюсь популяризовать эту идею, так как почему-то этим почти никто не занимается.
>это написание sh-скрипта приницпиально работающего в любой nix системе. Что
нет, тут маемо-специфичный проприетарный api
нет, тут маемо-специфичный проприетарный api
UFO just landed and posted this here
UFO just landed and posted this here
Sign up to leave a comment.
Пишем простое, но полезное приложение для Nokia N900 за 20 минут