Editing Fcron

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
[http://fcron.free.fr fcron] is standard Linux scheduler used to schedule any command at any time. So this means that it doesn't have any limits and you can schedule just about anything. It is run as daemon in the background so you don't need to worry about it. You set it up with a config file which contains schedule.
[http://fcron.free.fr fcron] is standard Linux scheduler used to schedule any command at any time. So this means that it doesn't have any limits and you can schedule just about anything. It is run as daemon in the background so you don't need to worry about it. You set it up with a config file which contains schedule.
-
==Alternatives==
+
 
 +
=Alternatives=
'''cron'''
'''cron'''
Line 20: Line 21:
[http://talk.maemo.org/showthread.php?t=46594 '''Alarmed''']
[http://talk.maemo.org/showthread.php?t=46594 '''Alarmed''']
-
Alarmed uses the Nokia's (non-standard) "alarmd" daemon which is already part of Maemo 5 and uses Python/Qt for GUI. You can use custom commands and set single and/or recurring events.
+
Alarmed is the best alternative which has a GUI,'' but doesn't have CLI''. You can use custom command so you can schedule anything, ''but you can't schedule it anytime like with fcron, because alarmd daemon doesn't provide an option for every possible time''. The GUI also needs python, which consumes disk space.
 +
''[italics incorrect]''
-
==Current issues==
+
=Current issues=
# Current version for Maemo is not the latest available ''(although the difference is minor)''.
# Current version for Maemo is not the latest available ''(although the difference is minor)''.
Line 28: Line 30:
# Some stuff has to be done manually after the installation ''(with proper packaging the whole "Installation" chapter from this wiki would be unnecessary)''.
# Some stuff has to be done manually after the installation ''(with proper packaging the whole "Installation" chapter from this wiki would be unnecessary)''.
# It needs to be added to official maemo.org repositories so it can be used by anyone ''(it is currently availible in user ruskie's repository)''.
# It needs to be added to official maemo.org repositories so it can be used by anyone ''(it is currently availible in user ruskie's repository)''.
 +
But these are not major things and as you can see it can be used already - current solutions and workarounds are in ''(brackets)''. Otherwise it's stable, does not have important bugs and does not affect battery life at all. It's a mature software which just needs some manual work.
But these are not major things and as you can see it can be used already - current solutions and workarounds are in ''(brackets)''. Otherwise it's stable, does not have important bugs and does not affect battery life at all. It's a mature software which just needs some manual work.
-
==Installation==
+
 
 +
=Installation=
Everything should be done from [[root access|root terminal]]. First you need to download the .deb from [https://repo.codemages.net/opt/fcron_3.0.1-2_armel_opt.deb ruskie's repository]. Put it somewhere on the device and execute the following commands, one by one:
Everything should be done from [[root access|root terminal]]. First you need to download the .deb from [https://repo.codemages.net/opt/fcron_3.0.1-2_armel_opt.deb ruskie's repository]. Put it somewhere on the device and execute the following commands, one by one:
Line 44: Line 48:
Now fcron has to be set to start on boot. This is done by creating a proper [[startup script]]. If you don't already have a custom one, then you need to create an empty file in /etc/event.d/ folder named as you like ("fcron" for example). Put this into the file:
Now fcron has to be set to start on boot. This is done by creating a proper [[startup script]]. If you don't already have a custom one, then you need to create an empty file in /etc/event.d/ folder named as you like ("fcron" for example). Put this into the file:
-
  start on started hildon-desktop
+
description "FCron daemon"
-
stop on starting shutdown
+
  start on started XSESSIONS_STARTING
  console none
  console none
  service
  service
-
  script
+
  exec /usr/sbin/fcron -f
-
/etc/init.d/fcron start
+
  respawn
-
  end script
+
And save it. This makes fcron run at startup.
And save it. This makes fcron run at startup.
-
==Configuration==
+
=Configuration=
fcrontab is a program which parses config file so fcron daemon can use it. It is used to modify schedule. First edit fcron's global configuration file, which is located at /etc/fcron.conf. The last configuration entry (line) must be changed to:
fcrontab is a program which parses config file so fcron daemon can use it. It is used to modify schedule. First edit fcron's global configuration file, which is located at /etc/fcron.conf. The last configuration entry (line) must be changed to:
Line 63: Line 66:
  export EDITOR=vi
  export EDITOR=vi
 +
Next, fcrontab must be executed in edit mode:
Next, fcrontab must be executed in edit mode:
Line 81: Line 85:
''!nolog(true)'' is the first line and specifies that successful executions aren't logged (we really don't need or want that). Also, if we use a script with dbus call, ''run-standalone.sh'' must be in front of it. It sets up environment variables correctly for sending dbus calls as root. ''!bootrun(true)'' specifies that commands after this line are executed at next boot if system wasn't on when they should be executed. This is useful only for clearing the GPRS counter or backup scripts, for example if you switch the phone off every night the GPRS counter will still be reset every first of the month when you turn the phone on in the morning.
''!nolog(true)'' is the first line and specifies that successful executions aren't logged (we really don't need or want that). Also, if we use a script with dbus call, ''run-standalone.sh'' must be in front of it. It sets up environment variables correctly for sending dbus calls as root. ''!bootrun(true)'' specifies that commands after this line are executed at next boot if system wasn't on when they should be executed. This is useful only for clearing the GPRS counter or backup scripts, for example if you switch the phone off every night the GPRS counter will still be reset every first of the month when you turn the phone on in the morning.
 +
The first five fields are separated by a space:
The first five fields are separated by a space:
 +
'''MINUTE''' space '''HOUR''' space '''DAY_OF_MONTH''' space '''MONTH''' space '''DAY_OF_WEEK''' space '''/path/script.sh'''
'''MINUTE''' space '''HOUR''' space '''DAY_OF_MONTH''' space '''MONTH''' space '''DAY_OF_WEEK''' space '''/path/script.sh'''
 +
To interpret the two example lines: GPRS data counter is reset every 1st of the month at 00:00. Silent profile is set every Monday to Friday at 9:00. Possible values for fields are:
To interpret the two example lines: GPRS data counter is reset every 1st of the month at 00:00. Silent profile is set every Monday to Friday at 9:00. Possible values for fields are:
 +
* '''Minute''': 0-59
* '''Minute''': 0-59
Line 93: Line 101:
* '''Month''': 1-12
* '''Month''': 1-12
* '''Day of week''': 0-7 (0 and 7 are both Sunday)
* '''Day of week''': 0-7 (0 and 7 are both Sunday)
 +
Asterisk (*) means "any", or to put it differently: it means that this value does not define when the command is run.
Asterisk (*) means "any", or to put it differently: it means that this value does not define when the command is run.
 +
After saving the edited config file, fcrontab will install it automatically and it will work from that moment on. Also don't forget that commenting out lines is useful for temporarily disabling a command. Just put an # in front of the line.
After saving the edited config file, fcrontab will install it automatically and it will work from that moment on. Also don't forget that commenting out lines is useful for temporarily disabling a command. Just put an # in front of the line.
-
==Scripts==
+
=Scripts=
 +
 
 +
So we have fcron now executing scripts at defined time. But we still need to provide scripts that are executed. Here is a collection of them, but you can easily make new ones based on the example scripts here and [[Phone control]] wiki page. Don't forget to add them here though. And keep in mind that they have to be marked executable (chmod +x script.sh) to work. The second dbus call in some scripts is a notification and can me modified, removed or added.
-
So we have fcron now executing scripts at defined time. But we still need to provide scripts that are executed. Here is a collection of them, but you can easily make new ones based on the example scripts here and [[Phone control]] wiki page. Don't forget to add them here though. And keep in mind that they have to be marked executable (<code>chmod +x script.sh</code>) to work. The second D-Bus call in some scripts is a notification and can be modified, removed or added.
 
===Profiles===
===Profiles===
Line 106: Line 117:
====Silent====
====Silent====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --type=method_call --dest=com.nokia.profiled /com/nokia/profiled com.nokia.profiled.set_profile string:"silent"
-
dbus-send --type=method_call --dest=com.nokia.profiled /com/nokia/profiled com.nokia.profiled.set_profile string:"silent"
+
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Profile is set to Silent"
-
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Profile is set to Silent"
+
 
-
</source>
+
====General====
====General====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --type=method_call --dest=com.nokia.profiled /com/nokia/profiled com.nokia.profiled.set_profile string:"general"
-
dbus-send --type=method_call --dest=com.nokia.profiled /com/nokia/profiled com.nokia.profiled.set_profile string:"general"
+
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Profile is set to General"
-
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Profile is set to General"
+
 
-
</source>
+
===Radio mode===
===Radio mode===
Line 124: Line 133:
====2G====
====2G====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --system --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.set_selected_radio_access_technology byte:1
-
dbus-send --system --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.set_selected_radio_access_technology byte:1
+
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Network mode is set to 2G"
-
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Network mode is set to 2G"
+
 
-
</source>
+
====3G====
====3G====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --system --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.set_selected_radio_access_technology byte:2
-
dbus-send --system --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.set_selected_radio_access_technology byte:2
+
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Network mode is set to 3G"
-
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Network mode is set to 3G"
+
 
-
</source>
+
====Dual====
====Dual====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --system --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.set_selected_radio_access_technology byte:0
-
dbus-send --system --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.set_selected_radio_access_technology byte:0
+
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Network mode is set to Dual"
-
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Network mode is set to Dual"
+
 
-
</source>
+
===Networking===
===Networking===
Line 150: Line 156:
====Disconnect internet connection====
====Disconnect internet connection====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --system --dest=com.nokia.icd /com/nokia/icd_ui com.nokia.icd_ui.disconnect boolean:true
-
dbus-send --system --dest=com.nokia.icd /com/nokia/icd_ui com.nokia.icd_ui.disconnect boolean:true
+
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Internet connection is disconnected"
-
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Internet connection is disconnected"
+
 
-
</source>
+
====Connect to any saved internet connection====
====Connect to any saved internet connection====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --system --type=method_call --dest=com.nokia.icd /com/nokia/icd com.nokia.icd.connect string:"[ANY]" uint32:0
-
dbus-send --system --type=method_call --dest=com.nokia.icd /com/nokia/icd com.nokia.icd.connect string:"[ANY]" uint32:0
+
 
-
</source>
+
====Disconnect mobile network====
====Disconnect mobile network====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --system --type=method_call --dest=com.nokia.phone.SSC /com/nokia/phone/SSC com.nokia.phone.SSC.set_radio boolean:false
-
dbus-send --system --type=method_call --dest=com.nokia.phone.SSC /com/nokia/phone/SSC com.nokia.phone.SSC.set_radio boolean:false
+
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Mobile network is disconnected"
-
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Mobile network is disconnected"
+
 
-
</source>
+
====Connect mobile network====
====Connect mobile network====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --system --type=method_call --dest=com.nokia.phone.SSC /com/nokia/phone/SSC com.nokia.phone.SSC.set_radio boolean:true
-
dbus-send --system --type=method_call --dest=com.nokia.phone.SSC /com/nokia/phone/SSC com.nokia.phone.SSC.set_radio boolean:true
+
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Mobile network is connected"
-
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Mobile network is connected"
+
 
-
</source>
+
====Disable Wi-Fi====
====Disable Wi-Fi====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
run-standalone.sh dbus-send --system --dest=com.nokia.icd /com/nokia/icd_ui com.nokia.icd_ui.disconnect boolean:true
-
run-standalone.sh dbus-send --system --dest=com.nokia.icd /com/nokia/icd_ui com.nokia.icd_ui.disconnect boolean:true
+
ifconfig wlan0 down
-
ifconfig wlan0 down
+
rmmod wl12xx
-
rmmod wl12xx
+
run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:'Wi-Fi disabled'
-
run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:'Wi-Fi disabled'
+
 
-
</source>
+
====Enable Wi-Fi====
====Enable Wi-Fi====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
modprobe wl12xx
-
modprobe wl12xx
+
wl1251-cal
-
wl1251-cal
+
stop wlancond
-
stop wlancond
+
start wlancond
-
start wlancond
+
ifconfig wlan0 up
-
ifconfig wlan0 up
+
run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:'Wi-Fi enabled'
-
run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:'Wi-Fi enabled'
+
 
-
</source>
+
===Securing device===
===Securing device===
Line 205: Line 205:
====Lock====
====Lock====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --system --type=method_call --dest=com.nokia.system_ui /com/nokia/system_ui/request com.nokia.system_ui.request.devlock_open string:"com.nokia.mce" string:"/com/nokia/mce/request" string:"com.nokia.mce.request" string:"devlock_callback" uint32:'3'
-
dbus-send --system --type=method_call --dest=com.nokia.system_ui /com/nokia/system_ui/request com.nokia.system_ui.request.devlock_open string:"com.nokia.mce" string:"/com/nokia/mce/request" string:"com.nokia.mce.request" string:"devlock_callback" uint32:'3'
+
 
-
</source>
+
====Unlock====
====Unlock====
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
dbus-send --system --type=method_call --dest=com.nokia.system_ui /com/nokia/system_ui/request com.nokia.system_ui.request.devlock_close string:"com.nokia.mce" string:"/com/nokia/mce/request" string:"com.nokia.mce.request" string:"devlock_callback" uint32:'0'
-
dbus-send --system --type=method_call --dest=com.nokia.system_ui /com/nokia/system_ui/request com.nokia.system_ui.request.devlock_close string:"com.nokia.mce" string:"/com/nokia/mce/request" string:"com.nokia.mce.request" string:"devlock_callback" uint32:'0'
+
 
-
</source>
+
===Reset GPRS data counter===
===Reset GPRS data counter===
-
This script is now PR1.2 compliant and does not work on previous versions.
+
#!/bin/sh
 +
gconftool-2 -u /system/osso/connectivity/network_type/GPRS/gprs_rx_bytes
 +
gconftool-2 -u /system/osso/connectivity/network_type/GPRS/gprs_tx_bytes
 +
gconftool-2 -s /system/osso/connectivity/network_type/GPRS/gprs_reset_time --type=string $(date +%s)
-
<source lang="bash">
 
-
#!/bin/sh
 
-
gconftool-2 -u /system/osso/connectivity/network_type/GPRS/gprs_home_rx_bytes
 
-
gconftool-2 -u /system/osso/connectivity/network_type/GPRS/gprs_home_tx_bytes
 
-
gconftool-2 -s /system/osso/connectivity/network_type/GPRS/gprs_home_reset_time --type=string $(date +%s)
 
-
</source>
 
===Update e-mail===
===Update e-mail===
-
This script has already necessary <code>run-standalone.sh</code> prefixes so the whole script does not need to be run through <code>run-standalone.sh</code> in fcrontab.
+
This script has already necessary run-standalone.sh prefixes so the whole script does not need to be run through run-standalone.sh in fcrontab.
It checks whether the phone is connected to the internet and if it is not, connect is done, send and receive is performed and then script waits about minute and a half (Modest e-mail client which N900 uses is slow in this aspect) and if the phone is connected to a Wi-Fi, it stays connected and if it is not (is connected to GPRS), it disconnects.
It checks whether the phone is connected to the internet and if it is not, connect is done, send and receive is performed and then script waits about minute and a half (Modest e-mail client which N900 uses is slow in this aspect) and if the phone is connected to a Wi-Fi, it stays connected and if it is not (is connected to GPRS), it disconnects.
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
if [ `route | awk '/au/ {print $1}'` = default ]; then
-
#
+
exit
-
# n900 / maemo script to trigger an email fetch; connect to the internet if possible & necessary
+
else
-
#
+
run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Updating e-mail..."
-
# Copyright: 2011 Martin Dengler <martin@martindengler.com>
+
run-standalone.sh dbus-send --system --type=method_call --dest=com.nokia.icd /com/nokia/icd com.nokia.icd.connect string:"[ANY]" uint32:0
-
# Dual License: MIT / GPL v3+
+
sleep 10
-
# Latest version: http://wiki.maemo.org/Fcron#Update_e-mail
+
run-standalone.sh dbus-send --type=method_call --dest=com.nokia.modest /com/nokia/modest com.nokia.modest.SendReceive
 +
sleep 100
 +
  if [ `ifconfig gprs0 | awk -F " " '/s0/ {print $2}'` = Link ]; then
 +
  run-standalone.sh dbus-send --system --dest=com.nokia.icd /com/nokia/icd_ui com.nokia.icd_ui.disconnect boolean:true
 +
  fi
 +
run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"E-mail updated"
 +
fi
-
retrys=5
 
-
 
-
while [ $retrys -gt 0 ] ; do
 
-
    if /sbin/route | grep -q "^default " ; then
 
-
        break  #...we are connected
 
-
    else
 
-
        run-standalone.sh dbus-send --system --type=method_call --dest=com.nokia.icd --print-reply /com/nokia/icd com.nokia.icd.connect string:"[ANY]" uint32:0
 
-
        retrys=`expr $retrys - 1`
 
-
        sleep 1
 
-
    fi
 
-
done
 
-
 
-
/sbin/route | grep -q "^default " || exit 1
 
-
 
-
run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Updating e-mail..."
 
-
run-standalone.sh dbus-send --type=method_call --dest=com.nokia.modest /com/nokia/modest com.nokia.modest.SendReceive
 
-
 
-
sleep 120
 
-
 
-
# if we connected just for this, disconnect
 
-
if [ $retrys -lt 5 ]; then
 
-
  run-standalone.sh dbus-send --system --dest=com.nokia.icd /com/nokia/icd_ui com.nokia.icd_ui.disconnect boolean:true
 
-
fi
 
-
 
-
# no need to send another notification because we can't be sure the email updated anyway, and if you're still staring at the screen after two minutes waiting for a five-second notification to appear you need something better to do
 
-
</source>
 
===Backup===
===Backup===
The scripts used for backing up can be found on [[Manual backup and restore]] wiki page. They overlap with scripts needed here, so they should be collected there.
The scripts used for backing up can be found on [[Manual backup and restore]] wiki page. They overlap with scripts needed here, so they should be collected there.
 +
===Reboot===
===Reboot===
Line 285: Line 261:
Also remember that PIN has to be entered after a reboot. There is another way with sending reboot call via D-Bus which doesn't request to reenter PIN, but that is a forced reboot (no filesystem synchronization, etc.) and thus not the proper way of doing it.
Also remember that PIN has to be entered after a reboot. There is another way with sending reboot call via D-Bus which doesn't request to reenter PIN, but that is a forced reboot (no filesystem synchronization, etc.) and thus not the proper way of doing it.
 +
===Tweakr profiles===
===Tweakr profiles===
Line 290: Line 267:
This script is not tested yet. Also you must replace both "tweakrprofile" instances with the name of your profile (which should not be general or silent and should not be capitalized).
This script is not tested yet. Also you must replace both "tweakrprofile" instances with the name of your profile (which should not be general or silent and should not be capitalized).
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
 +
DBUSSET="dbus-send --print-reply --dest='com.nokia.profiled' /com/nokia/profiled com.nokia.profiled.set_value string:general string:\'%s\' string:\'%s\'"
 +
 +
dbus-send --type=method_call --dest=com.nokia.profiled /com/nokia/profiled com.nokia.profiled.set_profile string:"general"
 +
 +
gconftool-2 -s /system/tweakr/current-preset --type=string "tweakrprofile"
 +
gconftool-2 -a /system/tweakr/tweakrprofile|sed 's/^ //'|sed 's/ = /=/'|awk -F'=' "{cmd=sprintf(\"${DBUSSET}\", \$1, \$2);system(cmd)}"
-
DBUSSET="dbus-send --print-reply --dest='com.nokia.profiled' /com/nokia/profiled com.nokia.profiled.set_value string:general string:\'%s\' string:\'%s\'"
 
-
 
-
dbus-send --type=method_call --dest=com.nokia.profiled /com/nokia/profiled com.nokia.profiled.set_profile string:"general"
 
-
 
-
gconftool-2 -s /system/tweakr/current-preset --type=string "tweakrprofile"
 
-
gconftool-2 -a /system/tweakr/tweakrprofile|sed 's/^ //'|sed 's/ = /=/'|awk -F'=' "{cmd=sprintf(\"${DBUSSET}\", \$1, \$2);system(cmd)}"
 
-
</source>
 
===Auto 2G with Wi-Fi===
===Auto 2G with Wi-Fi===
-
<source lang="bash">
+
#!/bin/sh
-
#!/bin/sh
+
#
-
#
+
# auto2g by J.LeFebvre
-
# auto2g by J.LeFebvre
+
#
-
#
+
# Automatically sets 2G cellular mode when a valid Wi-Fi connection is running
-
# Automatically sets 2G cellular mode when a valid Wi-Fi connection is running
+
# This helps conserve battery life
-
# This helps conserve battery life
+
#
-
#
+
# If an automatic connection to 3G is required when not on Wi-Fi then uncomment the two dbus commands under "set to 3G" line
-
# If an automatic connection to 3G is required when not on Wi-Fi then uncomment the two dbus commands under "set to 3G" line
+
#
-
#
+
if `/sbin/ifconfig wlan0 2>/dev/null | grep -q RUNNING`; then
-
if `/sbin/ifconfig wlan0 2>/dev/null | grep -q RUNNING`; then
+
    if `dbus-send --system --print-reply --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.get_selected_radio_access_technology | grep -q 'byte 2'`; then
-
  if `dbus-send --system --print-reply --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.get_selected_radio_access_technology | grep -q 'byte 2'`; then
+
      if (/bin/ping -c 1 www.google.com > /dev/null); then
-
      if (/bin/ping -c 1 www.google.com > /dev/null); then
+
          # set to 2G
-
        # set to 2G
+
          dbus-send --system --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.set_selected_radio_access_technology byte:1
-
        dbus-send --system --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.set_selected_radio_access_technology byte:1
+
          dbus-send --system --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:'2G (GSM) cellular mode set'
-
        dbus-send --system --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:'2G (GSM) cellular mode set'
+
      fi
-
      fi
+
    fi;
-
  fi;
+
else
-
else
+
    if `dbus-send --system --print-reply --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.get_selected_radio_access_technology | grep -q 'byte 1'`; then
-
  if `dbus-send --system --print-reply --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.get_selected_radio_access_technology | grep -q 'byte 1'`; then
+
      # set to 3G
-
      # set to 3G
+
      # dbus-send --system --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.set_selected_radio_access_technology byte:2
-
      # dbus-send --system --type=method_call --dest=com.nokia.phone.net /com/nokia/phone/net Phone.Net.set_selected_radio_access_technology byte:2
+
      # dbus-send --system --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:'3G cellular mode set'
-
      # dbus-send --system --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:'3G cellular mode set'
+
      echo '' > /dev/null
-
      echo '' > /dev/null
+
    fi
-
  fi
+
fi
-
fi
+
-
</source>
+
-
 
+
-
Comment: actually 3G doesn't use more energy than 2G, unless you transmit or receive data. So if your carrier doesn't expose your IP to the internet (no NAT) you won't safe any energy by switching to 2G during device connected to WLAN.
+
-
 
+
-
===Gradually increase the volume===
+
-
 
+
-
For an example, you can use this if you softly want to wake up to music.
+
-
 
+
-
<source lang="bash">
+
-
#!/bin/sh
+
-
# Gradually increase the volume, by raffe
+
-
for i in 0 10 20 30 40 50 60 70 80 90 100
+
-
do
+
-
  dbus-send --session --type=method_call --dest=com.nokia.mafw.renderer.Mafw-Gst-Renderer-Plugin.gstrenderer /com/nokia/mafw/renderer/gstrenderer com.nokia.mafw.extension.set_extension_property string:'volume' variant:uint32:$i
+
-
  /bin/sleep 5
+
-
done
+
-
</source>
+
-
Note:tested and OK on PR1.2
+
[[Category:Software]]
[[Category:Software]]
[[Category:Power users]]
[[Category:Power users]]

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)
Retrieved from "http://wiki.maemo.org/Fcron"