SHR User Manual

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(SHR Specific)
(Moving to Manuals/SHR)
 
(331 intermediate revisions by 43 users not shown)
Line 1: Line 1:
{{Languages|SHR User Manual}}
+
#REDIRECT [[Manuals/SHR]]
 
+
 
+
Work in progress. [[Talk:SHR_User_Manual|Comments here]]
+
 
+
 
+
==SHR Introduction==
+
 
+
Welcome to '''SHR''', the world of community driven distribution for (not only) OpenmokoNeo phones.
+
 
+
'''SHR'''  (Stable Hybrid Release) is here to provide you with Root FileSystem images that you can easily install onto your Freerunner to use is as a daily phone.  It's filled with prepackaged software that can be installed upon demand by users, it can also be used by developers as a base image for customized and flavored distribution or release. SHR unstable is a testing environment before software get stabilized and it is the main testing ground for [[FSO]] releases. SHR testing images (currently not available) provide as much stability as possible to be used during day-to-day operations.
+
 
+
'''SHR'''has been evolving from a simple release of customized software into a full distribution. Therefore, in SHR you can choose from several different graphical toolkits (for example GTK or EFL), different phone managers (SHR or Zhone), web browsers and other programs.
+
 
+
The SHR Team is busy with software and system maintenance and building so you can concentrate on programming, using and reporting bugs.
+
 
+
==SHR Specific==
+
 
+
At this point, there are some applications and procedures that are purely specific to SHR and would not run on another distribution. For example the phone applications (Dialer, Messages and Contacts) and SHR Settings depend heavily on the ophonekitd daemon.
+
 
+
As SHR is based on [[FSO]], basically any application using FSO has a chance to run, should all required libraries be available.
+
 
+
==Installation==
+
 
+
===Getting SHR===
+
 
+
First, determine which model of phone you have, the GTA01(neo1973) or the GTA02(FreeRunner).
+
 
+
You need to download two files for your version as above, kernel and root filesystem. Depending whether you will be installing into the internal nand memory or on µSD card, you need to either get .jffs2 file for nand or .tar.gz file for µSD.
+
 
+
At this point, there are no recent testing images so for the GTA02 Freerunner you need to download the images of unstable release from http://build.shr-project.org/shr-unstable/images/om-gta02/
+
 
+
 
+
- Get the latest kernel - search by date or it's usually named uImage-om-gta02-latest.bin
+
 
+
- Get the root filesystem shr-image-om-gta02.jffs2 (for nand) or shr-image-om-gta02.tar.gz (for µSD)
+
 
+
You can also choose an image with less packages, marked as '''lite'''. You can then upgrade to the full image by running
+
 
+
opkg update
+
opkg task-shr-apps task-shr-games task-shr-gtk
+
 
+
 
+
 
+
TODO: confirm
+
 
+
{|class="wikitable" border="1" cellpadding="0" cellspacing="0" width=100%
+
 
+
! width=16%| !! width=42%|Full image content !! width=42%|SHR-Image LITE Content
+
|-
+
| Window Manager ||
+
* illume
+
||
+
* illume
+
|-
+
| Engine      ||
+
* frameworkd
+
||
+
* frameworkd
+
|-
+
| Telephony  ||
+
* Dialer (Call/Receive, DTMF, Speaker mode)
+
* SIM Contacts (Call/Modify/Create/...)
+
* SIM Messages (Receive/Compose/Answer/...)
+
* Pyphonelog (received/emitted/missed calls logging)
+
||
+
* Dialer (Call/Receive, DTMF, Speaker mode)
+
* SIM Contacts (Call/Modify/Create/...)
+
* SIM Messages (Receive/Compose/Answer/...)
+
* Pyphonelog (received/emitted/missed calls logging)
+
|-
+
| GPS ||
+
* TangoGPS
+
||
+
* TangoGPS
+
|-
+
| Utilities ||
+
* Calculator
+
* Alarm
+
* GPE Scap (Take screenshot)
+
* GPE File Manager
+
* GPE Sketchbook
+
* vala-terminal
+
||
+
* Calculator
+
* Alarm
+
* GPE File Manager
+
* vala-terminal
+
 
+
|-
+
 
+
| Media ||
+
 
+
* Vagalume
+
* Intone
+
||
+
* pythm
+
 
+
|-
+
 
+
| Internet ||
+
* Pidgin
+
* Midori (Browser)
+
||
+
 
+
|-
+
 
+
| Games ||
+
* Numptyphysics
+
||
+
|-
+
| Settings ||
+
* SHR Settings
+
* Mokonnect (Network Manager)
+
||
+
* SHR Settings
+
 
+
 
+
 
+
|-
+
|}
+
 
+
View the sources: http://git.shr-project.org/git/
+
 
+
===Installation on Flash===
+
 
+
In order to install your SHR distribution directly to your Freerunner Flash memory (NAND), you need to get the desired filesystem file ( .jffs2 ), from http://build.shr-project.org/, and flash your device using the dfu-util tool.
+
 
+
Please visit [[Flashing_the_Neo_FreeRunner]] to know more about how it works or [[Dfu-util]] for more detailed information about the tool.
+
 
+
Specific dfu-util command to flash the filesystem:
+
 
+
<pre>
+
dfu-util -a rootfs -R -D rootfs_filename.jffs2
+
</pre>
+
 
+
Remember to flash kernel too if required
+
 
+
===Installation on µSD Card===
+
 
+
Installing SHR on your µSD Card depends on the Bootloader you are using, uBoot or Qi.
+
 
+
In simply words, diference between both systems resides on how you must prepare your µSD Card and files you use to fill them:
+
 
+
If you use uBoot, you need to create two partitions. First partition, not so big, in FAT16 where you have to place the kernel file (.bin) and second partition in ext2 or ext3 where you have to uncompress the filesystem file (.tar.gz).
+
 
+
If you use Qi, you only need a ext2 partition into your µSD Card where you uncompress the filesystem image file (.tar.gz). In this case boot is going to look for the kernel image into the /boot directory, normally comes into tar.gz file, named as uImage-GTA02.bin .
+
 
+
Please visit links bellow for detailed information and tips:
+
 
+
For uBoot ( [[Booting from SD | boot from microSD card]] ) and for [[Qi]].
+
 
+
===SHR version===
+
 
+
Shell you ever later wonder what version of SHR you have actually installed, please run
+
 
+
cat /etc/shr-version
+
 
+
or check SHR Settings -> Other -> Image information
+
 
+
==Running SHR==
+
===Booting===
+
Press the power button shortly once to start the Freerunner. Booting splash screen will appear. First boot after new installation takes always a bit longer. Sometimes, it is recommended to reboot after this first boot, to make sure all packages got initialized properly.
+
 
+
[[Image:Shr-boot-preview.png|200px|thumb|center|SHR Boot Splash screen]]
+
 
+
===Initial Setup===
+
 
+
[[Image:SHR-Setup-Language.png|200px|thumb|Initial setup]]
+
On the first boot, Setup is automatically initiated to walk the user through basic setup of the Enlightenment desktop environment. You are able to choose preferred language of the desktop environment, Illume SHR themed profile or select default menu (only one at the moment). On the Add icon screen you can add icons for some application. If you add a terminal based application like mplayer, you will see an icon but no application running upon click, as it will run in the background. Last screen allow settin up quick launch applications. TODO: what does quick launch do anyways?
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
[[Image:SHR-Setup-Profile.png|200px|thumb|Theme profile]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
 
+
[[Image:SHR-Setup-Menu.png|200px|thumb|Menu]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
 
+
[[Image:SHR-Setup-Add-Icons.png|200px|thumb|Add icons]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
+
[[Image:SHR-Setup-Quick-Launch.png|200px|thumb|Quick launch]]
+
 
+
|}
+
 
+
 
+
 
+
===SIM Auth===
+
 
+
[[Image:SHR-SIM-Auth.png|200px|thumb|SIM Auth]]
+
SIM Pin is asked for upon start up.
+
 
+
===First look===
+
[[Image:SHR-First-Look.png|200px|thumb|Desktop screen]]
+
'''Illume desktop''' is default home screen of the SHR desktop. Application files located in /usr/share/applications are displayed here. All applications are ran fullscreen and you can switch between them by using the Task switcher in the Top Shelve or by using the < left or right > arrows in the Top Shelve.
+
 
+
The Illume desktop can be easily customized - slide the Top Shelve down and tap the Settings icon (Wrench).
+
 
+
{{Note|TIP: for better access of the Settings icon, tap and hold the Settings icon, then drag it to the right.}}
+
 
+
'''Illume settings''' provides various options to alter the desktop environment. You can change sizes of elements, single or double click, wallpaper. To access all the various options, open Illume Settings and slide the visible icons to the left, to preview more options on the right hand side.
+
 
+
The little applets in the Top Shelve (for example Battery, GSM, Bluetooth etc.)  are called '''Shelve gadgets''' and you can configure whether they are visible (on the front part of the top shelve) or hidden (you can access them by sliding the top shelve) through Illume Settings -> Display -> Shelve gadget.
+
 
+
Some screens are not resized properly to fit the Freerunner's display - for example the Wallpapper setting. This is a known bug already reported upstream.
+
 
+
<!-- [[Image:SHR-Top-Shelve.png|200px|thumb|Top Shelve]] -->
+
 
+
===Phone applications===
+
 
+
Besides other software, SHR comes with 4 main phone applications: Dialer, Contacts, Messages and Phone log.
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " | 
+
[[Image:SHR-Dialer.png|200px|thumb|Dialer]]
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
[[Image:SHR-Contacts.png|200px|thumb|Contacts]]
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
[[Image:SHR-Contacts-Options.png|200px|thumb|Contact options]]
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
[[Image:SHR-Contact-Add.png|200px|thumb|Add new contact]]
+
|}
+
 
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " | 
+
[[Image:SHR-Mesages.png|200px|thumb|Messages]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
 
+
[[Image:SHR-Messages-Options.png|200px|thumb|Messages options]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
[[Image:SHR-Message-View.png|200px|thumb|View message]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
[[Image:SHR-Message-View-chars.png|200px|thumb|Unicode support]]
+
 
+
|}
+
 
+
 
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " | 
+
[[Image:SHR-Mesages-Options.png|200px|thumb|Message options]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
 
+
[[Image:SHR-Phonelog.png|200px|thumb|Phonelog]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:25% " |
+
 
+
[[Image:SHR-Dialer-Active.png|200px|thumb|Active call]]
+
 
+
|}
+
 
+
Upon a missed call or an unread message there is a notifying daemon that shows a screen with button to run Messages or Phonelog application.
+
 
+
===First steps===
+
 
+
Right after installation and first boot you might want to do a few initial steps:
+
 
+
'''Establish network connection''' and SSH into your Freerunner. The root account uses no password by default. You can establish connection either via USB to your desktop and enable NAT or you can connect through Wifi. If you use USB, some setup is required on the desktop side, please read [[USB_Networking]]. For Wifi, you can use [[#Network manager|Network Manager]]
+
 
+
'''Check if GSM is working correctly''' - observe the GSM gadget in the Top Shelve and see reported signal of your GSM operator
+
 
+
'''Check and set call volume''' - this is handled by alsa state files in /usr/share/shr/scenarii/ . To customize speaker volume edit /usr/share/shr/scenarii/gsmheadset.state and change control 4. Values between from 105 to 120 might be sufficient.
+
 
+
Shell you want to alter more parameters be aware that each file is a set of value for the 94 parameters. Some of the important ones are:
+
 
+
Control 48: internal mic of the tel (set to 2 or 3)
+
Control 4 : internal speaker (set from 110 to 120)
+
Control 49: headset mic
+
Control 3 : headset speaker
+
 
+
'''Initialize opkg database''' in order to install some applications from SHR repositories or from other sources, for example [[http://opkg.org opkg.org]]. While still being online, you need to first run
+
 
+
opkg update
+
 
+
Searching in the opkg database can take a long time. You can speed things up by dumping the database into a file and grepping it through.
+
 
+
Do this only once or after every opkg update:
+
 
+
opkg list > packages.txt
+
 
+
Then you can search quickly for package name, for example for navit:
+
 
+
grep navit packages.txt
+
 
+
'''SwapSpace'''
+
 
+
The Freerunner has only 128mb ram, when this is used up applications get killed. This is particularly bad while doing opkg upgrade.
+
 
+
WARNING: this mights kill your sd card, since there might be a lot of read/writes to the same spot.
+
 
+
dd if=/dev/zero of=/swapfile bs=1024 count=65536
+
 
+
Add a line to fstab so next time you boot there will be swap
+
 
+
echo "/swapfile              swap                    swap    defaults        0 0">> /etc/fstab
+
 
+
Make swap
+
 
+
mkswap /swapfile
+
 
+
Make the swap file work now:
+
 
+
swapon /swapfile
+
 
+
'''Changing root password'''
+
 
+
SHR is shipped without root password (just press enter)
+
 
+
This is very dangerous if you connect using wifi, or USB. You need to activate the root password:
+
 
+
passwd
+
 
+
then type your selected password (2 times)
+
 
+
===Under the hood===
+
 
+
SHR is based on linux kernel and Openembedded. XGlamo is providing X server environment and Illume (Enlightment window manager module for small devices) is providing comfortable finger controlled desktop environment. Under the hood of the pretty desktop there is FSO middleware talking to the GSM modem, GPS module as well as to the other bits of hardware. SHR ophonekitd daemon is run with X server start up and it communicates with FSO via d-bus. SHR phone applications talk to ophonekitd and also to FSO so for example when you receive a phone call, the dialer is launched to provide a way of answering it. Dialer, Contacts and Messages applications are part of the SHR internal libframeworkd-phonegui-efl library, Phone log is an extra application written in python-gtk.
+
 
+
===Localization===
+
[[Image:SHR-Illume-Settings-Languages.png|200px|thumb|Setting Language]]
+
 
+
You can change the language of the SHR desktop environment by using the Settings of Illume. For Example, for Czech language: in Illume Top Shelve go to Wrench (Settings) -> Language -> Language Settings -> and choose: Čeština. If your language is not in the menu you can install by using opkg.
+
 
+
You can list all available languages by running:
+
 
+
opkg list | grep glibc-locale-
+
 
+
And install the language of your choice (for example czech):
+
 
+
opkg install glibc-locale-cs
+
 
+
After this, the Language Settings of Illume will offer Czech.
+
 
+
 
+
This will localize the Illume environment and will also set correct lang environment variable. If you wish to have translations for other applications, you need to install them again (presuming they are available):
+
 
+
This will install czech localisation for SHR phone applications, SHR Settings and TangoGps:
+
 
+
opkg install libframeworkd-phonegui-efl-locale-cs shr-settings-locale-cs tangogps-locale-cs
+
 
+
For localized terminal environment (ssh login) set lang variables set /etc/profile, example for Czech language:
+
 
+
export LANG=cs_CZ
+
export LC_ALL=cs_CZ
+
 
+
 
+
The Illume keyboard offers english dictionary correction by default. You can list all the dictionaries available for installation:
+
 
+
opkg list | grep illume-dic
+
 
+
 
+
If your language is not available and english is bothering you, you can set an empty dictionary:
+
 
+
echo "" > /usr/lib/enlightenment/modules/illume/dicts/None.dic
+
 
+
By using it, it will get filled by the words you use and after time will start helping and correcting your typing.
+
 
+
===Date and time===
+
 
+
Timezone is automatically retrieved from the GSM network. Date and time are automatically set from GPS or Network. The easiest way of setting the time for the first time is to run TangoGps (GPS & Map icon) and obtaining GPS fix. Time will then be set automatically after several minutes.
+
 
+
Time can set time also manually.
+
 
+
Via SHR-Settings -> Date/time -> Set time
+
 
+
From linux based desktop:
+
 
+
ssh root@192.168.0.202 "date -u -s `date -u +%m%d%H%M%Y.%S`"
+
 
+
You can also set the hardware clock to the system time:
+
 
+
hwclock --systohc
+
 
+
===Data synchronization===
+
[[Image:SHR-PISI.png|200px|thumb|PISI Contact Sync]]
+
[[Image:SHR-PISI-dates.png|200px|thumb|PISI Calendar Sync]]
+
 
+
You can synchronize your contacts and appointments data with various sources. The sync can by done by program called PISI http://pisi.projects.openmoko.org/ . SIM contacts and calendar entries are currently possible to sync on SHR.
+
 
+
For calendar install dates
+
 
+
  opkg install dates
+
 
+
Supported Contacts data sources:
+
* SIM via DBUS (e.g. SHR)
+
* QTopia address book (e.g. OM 2008.12)
+
* LDAP (read only)
+
* VCF files (local / webdav)
+
* Google contacts
+
 
+
Supported Calendar data sources:
+
* Google calendars
+
* ICalendar files (local / webdav)
+
 
+
To install PISI, run
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="left";width:100%; "
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:80%; text-align:left " |
+
+
opkg install http://www.opkg.org/packages/0_python-ldap_2.3.6_armv4t.ipk python-netclient python-netserver python-pycairo python-pygobject python-pygtk python-sqlite3 http://www.opkg.org/packages/1_python-vobject_0.8.1_armv4t.ipk http://www.opkg.org/packages/0_python-webdav_0.1.2_armv4t.ipk http://www.opkg.org/packages/1_python-gdata_1.3.0_armv4t.ipk http://www.opkg.org/packages/1_python-dateutil_1.4.1_armv4t.ipk http://www.opkg.org/packages/openldap_2.3.43_armv4t.ipk http://projects.openmoko.org/frs/download.php/841/pisi_0.3_armv4t.ipk
+
 
+
|
+
 
+
|}
+
 
+
Configuration example, .pisi/conf to sync  contacts and calendar with google calendar and contacts with google mail:
+
 
+
[googleCalendar]
+
description=My Google Calendar
+
module=calendar_google
+
user=user@gmail.com
+
password=secret
+
calendarid=user@gmail.com
+
+
[pimlicodates]
+
description= Pimlico Dates
+
module=calendar_ics
+
path=/home/root/.evolution/calendar/local/system/calendar.ics
+
+
[googlecontacts]
+
description=Google Contacts Account
+
module=contacts_google
+
user=user@gmail.com
+
password=secret
+
+
[shrsim]
+
description=SHR SIM Card Contacts
+
module=contacts_dbussim
+
max_simentries = 250
+
simentry_name_maxlength=18
+
 
+
==SHR Settings==
+
[[Image:SHR-Settings-main.png|200px|thumb|SHR Settings]]
+
 
+
SHR Settings is the main setting application of SHR. In the background it uses [[FSO]] specific dbus calls as well as low level commands. The graphical interface is Elementary-Python based. It provides an easy way of setting up your phone to your liking - from phone related settings, to requesting resources in order to prevent screen dim or suspend (for example while using GPS).
+
 
+
While some settings are persistent over reboots, other are not.
+
 
+
''TODO: list persistent/non persistent settings, or make a note at each section''
+
 
+
'''Main Screen'''
+
Main screen is divided into few categories, which contain modules. Every SHR Settings module has specified task - control GSM antenna power, set actual time etc.
+
 
+
'''Phone'''
+
 
+
'''GSM'''
+
 
+
 
+
In GSM settings you can turn off and on GSM module. After turning off antenna, whole GSM modem is turned off.
+
 
+
To list available providers, click on Operators button. Scanning can take some time. After while, list of operators should pop up.
+
 
+
You can't connect to operators marked [forbidden]. After failed connect, message is displayed.
+
 
+
Selecting operator from list also changes modem registration mode to manual. It won't register to other network, even if some is available and has better signal strengh. To return to automatic mode, click "Automatic" button in operator list.
+
 
+
'''Call'''
+
 
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
+
 
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |
+
 
+
[[Image:SHR-Settings-Phone.png|200px|thumb|Phone settings]]
+
 
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |
+
+
[[Image:SHR-Settings-List-providers.png|200px|thumb|List providers]]
+
 
+
|}
+
 
+
You can set if your phone number should be displayed to other party. You can either depend on network decision ("By network") or force it manually ("Manual")
+
 
+
'''SIM'''
+
 
+
Here you can view some informations about your SIM card and clean phone and messagebooks.
+
 
+
'''Others'''
+
+
'''Profile'''
+
 
+
Here you can select current profile, which device should use to determine ring tone etc.
+
 
+
'''Current profile'''
+
 
+
Here you can adjust properties of currently used profile. Available settings: ring tone, ring volume, ring vibration, ring loop, ring length, message tone, message volume, message vibration, message loop, message length.
+
 
+
To change ring tone, click on "Change" button.
+
 
+
To use your own ring tone, place it in /usr/share/sounds directory.
+
 
+
After selecting sid tune as ring tone, there are available controls to select tune number from file.
+
 
+
 
+
This is changing settings in /etc/freesmartphone/opreferences/conf/phone/default.yaml
+
 
+
ring-volume # Ring Volume control 0 (mini) to ? maxi)
+
ring-length # min time for ringtone. Must be greater than the duration of you ringtone
+
ring-loop # define the number of loop of ringtone to play
+
ring-tone: "ringtone_ringnroll.ogg" # .ogg example
+
ring-tone: "Arkanoid_PSID.sid" # .sid example, use default tune
+
ring-tone: "Arkanoid_PSID.sid;tune=2" # .sid example, plays the second tune of that
+
 
+
If you like to test a .sid you can play it using this command on the FR:
+
 
+
gst-launch filesrc location=Arkanoid_PSID.sid ! siddec tune=2 ! alsasink
+
 
+
Note: it's used a ! not a | to construct the gstreamer pipe command.
+
 
+
 
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
+
 
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |
+
 
+
[[Image:SHR-Settings-Profiles.png|200px|thumb|Profiles]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |
+
+
[[Image:SHR-Settings-Profiles-Ringtones.png|200px|thumb|Ringtones]]
+
 
+
|}
+
 
+
 
+
 
+
'''Connectivity'''
+
 
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
+
 
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |
+
 
+
[[Image:SHR-Settings-Connectivity.png |200px|thumb|Connectivity top]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |
+
+
[[Image:SHR-Settings-Connectivity2.png |200px|thumb|Connectivity bottom]]
+
|}
+
 
+
 
+
'''WiFi'''
+
 
+
With "WiFi radio" toggle you can set, if wifi module should be powered. WiFi radio has to be turned on before trying to connect to WiFi network.
+
 
+
''TODO: obsolete, Kmokonnect turns wifi on automatically''
+
 
+
'''GPRS'''
+
 
+
To enter APN, login and password fields, just click on actual value (default: "internet"). Keyboard will pop up.
+
NOTE: If you don't know APN, login and passwork, ask your provider.
+
 
+
''TODO: obsolete, Kmokonnect provides gprs support now''
+
 
+
To connect to GPRS network, just click "Connect" button. Entered values will be saved after successful connection.
+
 
+
'''USB'''
+
 
+
With this toggle you can switch USB port between device (Neo to PC) or host (device to Neo) modes.
+
 
+
'''Bluetooth'''
+
 
+
To power up Bluetooth module, swith "Bluetooth radio" toggle to "On". After that, "Visibility" toggle should arrive - set it to "On" if you want your FR to be visible by other Bluetooth devices on scanning.
+
 
+
'''GPS'''
+
 
+
[[Image:SHR-Settings-GPS.png |200px|thumb|center|GPS]]
+
 
+
'''GPS'''
+
 
+
By default, GPS is turned on only when requested (when you turn on TangoGPS, Navit, omgps or other GPS app). That state corresponds to "Auto" setting. After changing to "Manual", you can set it on all the time.
+
 
+
'''GPS information'''
+
 
+
This page can be used to monitor GPS status. If some value isn't known, then "unknown" is displayed.
+
 
+
You can also view information about every visible satellite and check, which are used for getting fix. To do that, just click "Satellite details".
+
 
+
If you experience problems with GPS, turn it off, click "Remove AGPS data" and reboot your Neo.
+
 
+
'''Date/time'''
+
 
+
[[Image:SHR-Settings-Date-Time.png |200px|thumb|center|Date & Time]]
+
 
+
'''Time'''
+
 
+
Here you can view and set actual time. By default, time is just displayed, To adjust it, click on "Set time".
+
 
+
After finishing adjusting, click "OK" button.
+
 
+
'''Date'''
+
 
+
This module displays current date.
+
 
+
'''Power'''
+
 
+
'''Battery'''
+
 
+
This module displays informations about battery state - charge, voltage, remaining time etc. To update data, click "Update" button.
+
 
+
Here you also force enable 500mA charging.
+
 
+
'''Display'''
+
 
+
With this slider you can easily tweak backlight power.
+
 
+
NOTE: This setting isn't permanent over sessions. At boot backlight is set back to 100%.
+
 
+
'''Power'''
+
 
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
+
 
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |
+
 
+
[[Image:SHR-Settings-Power.png |200px|thumb|Power]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |
+
+
[[Image:SHR-Settings-Timeouts.png |200px|thumb|Timeouts]]
+
|}
+
 
+
Here you can turn on or off automatic dimming or suspend after idle timeout (see: Timeouts module)
+
 
+
'''Timeouts'''
+
 
+
Here you can set up values of idle timeouts used by device. Timeouts are reached in this order: idle -> idle dim -> idle prelock -> lock -> suspend. Idle, idle prelock and lock aren't used by default in SHR at the moment. This setting changes parameters in /etc/frameworkd.conf :
+
 
+
[odeviced.idlenotifier]
+
suspend = 20
+
lock = 2
+
idle_prelock = 12
+
idle = 10
+
idle_dim = 20
+
 
+
'''Services'''
+
 
+
[[Image:SHR-Settings-Services.png |200px|thumb|center|Services]]
+
 
+
'''Services'''
+
 
+
Here is listed every interesting script from /etc/init.d/ directory.
+
 
+
After clicking on some, you can either start, restart or stop service and view result.
+
 
+
'''Others'''
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
+
 
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |
+
 
+
[[Image:SHR-Settings-Others.png |200px|thumb|Others]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:50% " |
+
+
[[Image:SHR-Settings-Splash-Preview.png |200px|thumb|Splash preview]]
+
|}
+
 
+
'''Splash'''
+
 
+
With this selector you can select theme used by shr-splash at boot and shutdown. After clicking "Preview", selected boot image will be displayed for 5 seconds.
+
 
+
'''PIM'''
+
 
+
Module used by opimd developers. Doesn't have influence on behaviour of default SHR image.
+
 
+
Every opimd domain has different backends to store it's data. The domain reads data from every backend and writes data to the default backend. So with the selector in shr-settings you can choose the backend that stores newly generated data, it doesn't copy or move existing data to a different backend.
+
 
+
'''Userspace backups'''
+
 
+
Here you can either archive or restore your files and configurations. (TODO)
+
 
+
'''Image information'''
+
 
+
This module contains basic information about installed image - name of buildhost, used revision, branch and time of build.
+
 
+
==Theming==
+
 
+
Find available themes by running
+
 
+
opkg list | grep theme-illume
+
 
+
install it by
+
 
+
opkg install e-wm-theme-illume-sixteen elementary-theme-sixteen
+
 
+
[[Image:SHR-Neo-Theme.png|200px|thumb|Neo theme]]
+
http://opkg.org has a very fast theme called nEo
+
 
+
opkg install http://www.opkg.org/packages/e-wm-theme-neo_0.2_armv4t.ipk
+
opkg install http://www.opkg.org/packages/elementary-theme-neo_0.2_armv4t.ipk
+
opkg install http://www.opkg.org/packages/etk-theme-neo_0.2_armv4t.ipk
+
opkg install -force-overwrite http://www.opkg.org/packages/libframeworkd-phonegui-efl-theme-neo_0.2_armv4t.ipk
+
 
+
If you also want the GTK+ Applications to fit in with the rest of the Systems look execute
+
 
+
opkg install http://www.opkg.org/packages/gtk-theme-neo_0.1_armv4t.ipk
+
 
+
For a completely monolithic look additionally execute
+
+
opkg install http://www.opkg.org/packages/gpe-theme-neo_0.1_armv4t.ipk
+
opkg install http://www.opkg.org/packages/icon-theme-neo_0.2_armv4t.ipk
+
 
+
Please observe the command line output when installing these themes, since it will tell you how to activate the themes.
+
 
+
Note that some of the theme packages have to be reinstalled after an opkg upgrade.
+
 
+
Please note that reverting back can be done by
+
 
+
opkg install e-wm-theme-illume-sixteen shr-theme-gtk-e17lookalike  -force-reinstall
+
opkg install libframeworkd-phonegui-efl0 e-wm-theme-default etk-theme-shr shr-theme -force-reinstall
+
 
+
==Network manager==
+
 
+
While there are several ways of networking - Wifi, USB, Bluetooth and Gprs - By default, USB networking is enabled in /etc/network/interfaces.
+
 
+
Enhanced configuration is possible through direct editing of /etc/network/interfaces or through Mokonnect.
+
 
+
Connmand daemon with Mokonnect are the recommended user level applications for setting up networking. At the moment, Mokonnect can manage USB, Wifi and Gprs connections. Wifi device is not required to be manually turned on via SHR-Settings as Mokonnect will automatically enable the device when needed and disable after use.
+
 
+
''TODO: screenshots, supported encr. wifi''
+
 
+
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:33% " |
+
[[Image:SHR-Mokonnect.png|200px|thumb|Mokonnect]]
+
 
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:33% " |
+
+
[[Image:SHR-Mokonnect-Wifi.png|200px|thumb|Mokonnect Wifi]]
+
 
+
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:33% " |
+
+
[[Image:SHR-Mokonnect-Wifi-Scan.png|200px|thumb|Mokonnect Wifi Scan]]
+
 
+
 
+
|}
+
 
+
==System Customizing==
+
 
+
'''Changing the splash screen'''
+
 
+
list available splash screen themes
+
 
+
opkg list | grep splash-theme
+
 
+
and install one of the available themes
+
 
+
opkg install shr-splash-theme-dontpanic
+
 
+
Then go to SHR Settings -> Others -> Themes. Here you can preview installed themes and change the default one.
+
 
+
'''Install functional alarm application'''
+
 
+
opkg remove -force-depends elementary-alarm; opkg install ffalarms
+
 
+
'''Enable mouse cursor'''
+
 
+
edit line 121 of /etc/X11/Xinit and erase -hide-cursor
+
 
+
ARGS="$ARGS -dpi ${DPI} -screen ${SCREEN_SIZE} -mouse tslib -root-ppm /usr/share/pixmaps/xsplash-vga.ppm vt1"
+
           
+
 
+
'''Connect Bluetooth keyboard'''
+
 
+
Turn Bluetooth on in SHR Settings -> Connectivity, then in terminal run
+
 
+
hidd --search
+
 
+
 
+
'''Improve speed of Elementary applications'''
+
 
+
Set the Elementary rendering engine used for Evas to x11-16 (Software X11 16bpp engine, may have bugs and will be lower quality, but faster):
+
echo -e "#!/bin/sh\n\nexport ELM_ENGINE=x11-16" > /etc/profile.d/set-elm-engine.sh
+
 
+
 
+
Additionally in the SHR-Unstable repositories there are theme packages optimized for 16bpp color.  Both packages can be installed with the following command:
+
+
opkg install e-wm-theme-illume-sixteen elementary-theme-sixteen
+
 
+
You can then append the /etc/profile.d/set-elm-engine.sh with:
+
 
+
# Set Optimized theme
+
export ELM_THEME=sixteen
+
 
+
You can also then change Illume to use the sixteen theme by clicking the wrench->Look->Theme-illume-sixteen->OK.  Then switch Illume to use the 16bpp Engine by clicking the wrench->Advanced(you will need to drag and slide the top menu)->Engine->Software_16->OK.  This should give you a much faster interface without the low quality look the default SHR themes have at this lower color depth.
+
 
+
Read http://trac.enlightenment.org/e/wiki/Elementary
+
 
+
If you try to change Wallpaper or Theme and Illume keeps on crashing, it might be caused by the whole Illume running in Software_16 mode. Go to Illume Settings, slide the icon bar and select Advanced. There tap on Engine and select Software. After this, you can change your Wallpaper or Theme. Selecting Software_16 later on again will speed up the desktop's response (though causing it to be a bit uglier).
+
 
+
'''Speedup of suspend and wake up'''
+
 
+
I you are using Qi and installation on µSD card, you can change the kernel parameter loglevel=1 1 in /boot/append-GTA02 . For u-boot and installation in nand just type
+
 
+
klogd -c 1
+
 
+
into the console. This saves you from 3 seconds worth of console output on every resume.
+
 
+
If you like the effect of this command and want it to be executed at every startup, you just have to log into your phone and type the following:
+
 
+
cat > /etc/init.d/resumespeedup << EOF
+
#!/bin/sh
+
/sbin/klogd -c 1
+
EOF
+
chmod +x /etc/init.d/resumespeedup
+
ln -s ../init.d/resumespeedup /etc/rc1.d/S06resumespeedup
+
ln -s ../init.d/resumespeedup /etc/rc2.d/S06resumespeedup
+
ln -s ../init.d/resumespeedup /etc/rc3.d/S06resumespeedup
+
ln -s ../init.d/resumespeedup /etc/rc4.d/S06resumespeedup
+
ln -s ../init.d/resumespeedup /etc/rc5.d/S06resumespeedup
+
 
+
'''SHR Launcher'''
+
 
+
[[Image:Launcher.png|200px|thumb|SHR Launcher]]
+
Launcher is elementary based alternative home screen application and event notifier for SHR. It displays current time, has a user tweak-able launcher with categories and features missed calls and messages applets.
+
 
+
opkg install libsqlite3-0 http://www.opkg.org/packages/launcher_0.23_arm.ipk
+
 
+
'''Litephone'''
+
 
+
[[Image:SHR-Litephone.png|200px|thumb|Litephone]]
+
 
+
Litephone is new alternative set of phone applications written in Qt. In it's single application interface it provides basic phone functionality (contacts, calls, messages, phone log, settings). It's main advantage is that it uses opimd for storage of the user data.
+
 
+
 
+
opkg install http://pvtrace.com/litephone/libqtcore4_4.4.3-r3_armv4t.ipk
+
opkg install http://pvtrace.com/litephone/libqtxml4_4.4.3-r3_armv4t.ipk
+
opkg install http://pvtrace.com/litephone/libqtdbus4_4.4.3-r3_armv4t.ipk
+
opkg install http://pvtrace.com/litephone/libqtgui4_4.4.3-r3_armv4t.ipk
+
opkg install http://pvtrace.com/litephone/qt4-x11-free_4.4.3-r3_armv4t.ipk
+
opkg install http://pvtrace.com/litephone/litephone_0.0.1-r2_armv4t.ipk
+
 
+
'''Opimd utils'''
+
 
+
Opimd utils is a set of several testing scripts to play with the new opimd backends. It also provides opimd-messages program and mainly new opimd-notifier that is much better then the standard one.
+
 
+
opkg install opimd-utils
+
 
+
'''opkg upgrade issues'''
+
 
+
As opkg had some issues recently, installation  might get broken due to that. You can fix it or prevent by using the following scripts
+
 
+
Safe update packages:
+
 
+
#!/bin/sh
+
+
opkg list_upgradable | awk '!/(kernel|Multiple)/ {print $1}' | \
+
while read line; do
+
echo "installing pack $line"
+
opkg install $line -force-reinstall
+
done
+
 
+
 
+
Force reinstall all installed packages
+
 
+
#!/bin/sh
+
+
opkg list_installed | awk '!/(kernel|Multiple)/ {print $1}' | \
+
while read line; do
+
echo "installing pack $line"
+
opkg install $line -force-reinstall
+
done
+
 
+
 
+
No icons, no GSM functions etc. - this is mostly due to '''errors on your uSD''' card. Remove your card and fix it in card reader or by booting to another partition (nand) or by reboot and mount read only, then run fsck.
+
 
+
For reboot into nand and fix 1st partition of ext2 on your card
+
 
+
fsck.ext2 /dev/mmcblk0p1
+
 
+
==Installing Software==
+
 
+
You can use opkg for installing software packages or you can try SHR Installer from http://git.shr-project.org/git/?p=shr-installer.git;a=summary . It requires packagekitd
+
 
+
opkg install packagekitd
+
 
+
If you wan to use opkg after you used the installer, make sure packagekitd is not running
+
 
+
killall packagekitd
+
 
+
[[Category:SHR]]
+

Latest revision as of 18:00, 9 December 2009

  1. REDIRECT Manuals/SHR
Personal tools


Work in progress. Comments here


SHR Introduction

Welcome to SHR, the world of community driven distribution for (not only) OpenmokoNeo phones.

SHR (Stable Hybrid Release) is here to provide you with Root FileSystem images that you can easily install onto your Freerunner to use is as a daily phone. It's filled with prepackaged software that can be installed upon demand by users, it can also be used by developers as a base image for customized and flavored distribution or release. SHR unstable is a testing environment before software get stabilized and it is the main testing ground for FSO releases. SHR testing images (currently not available) provide as much stability as possible to be used during day-to-day operations.

SHRhas been evolving from a simple release of customized software into a full distribution. Therefore, in SHR you can choose from several different graphical toolkits (for example GTK or EFL), different phone managers (SHR or Zhone), web browsers and other programs.

The SHR Team is busy with software and system maintenance and building so you can concentrate on programming, using and reporting bugs.

SHR Specific

At this point, there are some applications and procedures that are purely specific to SHR and would not run on another distribution. For example the phone applications (Dialer, Messages and Contacts) and SHR Settings depend heavily on the ophonekitd daemon.

As SHR is based on FSO, basically any application using FSO has a chance to run, should all required libraries be available.

Installation

Getting SHR

First, determine which model of phone you have, the GTA01(neo1973) or the GTA02(FreeRunner).

You need to download two files for your version as above, kernel and root filesystem. Depending whether you will be installing into the internal nand memory or on µSD card, you need to either get .jffs2 file for nand or .tar.gz file for µSD.

At this point, there are no recent testing images so for the GTA02 Freerunner you need to download the images of unstable release from http://build.shr-project.org/shr-unstable/images/om-gta02/


- Get the latest kernel - search by date or it's usually named uImage-om-gta02-latest.bin

- Get the root filesystem shr-image-om-gta02.jffs2 (for nand) or shr-image-om-gta02.tar.gz (for µSD)

You can also choose an image with less packages, marked as lite. You can then upgrade to the full image by running

opkg update
opkg task-shr-apps task-shr-games task-shr-gtk


TODO: confirm

Full image content SHR-Image LITE Content
Window Manager
  • illume
  • illume
Engine
  • frameworkd
  • frameworkd
Telephony
  • Dialer (Call/Receive, DTMF, Speaker mode)
  • SIM Contacts (Call/Modify/Create/...)
  • SIM Messages (Receive/Compose/Answer/...)
  • Pyphonelog (received/emitted/missed calls logging)
  • Dialer (Call/Receive, DTMF, Speaker mode)
  • SIM Contacts (Call/Modify/Create/...)
  • SIM Messages (Receive/Compose/Answer/...)
  • Pyphonelog (received/emitted/missed calls logging)
GPS
  • TangoGPS
  • TangoGPS
Utilities
  • Calculator
  • Alarm
  • GPE Scap (Take screenshot)
  • GPE File Manager
  • GPE Sketchbook
  • vala-terminal
  • Calculator
  • Alarm
  • GPE File Manager
  • vala-terminal
Media
  • Vagalume
  • Intone
  • pythm
Internet
  • Pidgin
  • Midori (Browser)
Games
  • Numptyphysics
Settings
  • SHR Settings
  • Mokonnect (Network Manager)
  • SHR Settings


View the sources: http://git.shr-project.org/git/

Installation on Flash

In order to install your SHR distribution directly to your Freerunner Flash memory (NAND), you need to get the desired filesystem file ( .jffs2 ), from http://build.shr-project.org/, and flash your device using the dfu-util tool.

Please visit Flashing_the_Neo_FreeRunner to know more about how it works or Dfu-util for more detailed information about the tool.

Specific dfu-util command to flash the filesystem:

dfu-util -a rootfs -R -D rootfs_filename.jffs2

Remember to flash kernel too if required

Installation on µSD Card

Installing SHR on your µSD Card depends on the Bootloader you are using, uBoot or Qi.

In simply words, diference between both systems resides on how you must prepare your µSD Card and files you use to fill them:

If you use uBoot, you need to create two partitions. First partition, not so big, in FAT16 where you have to place the kernel file (.bin) and second partition in ext2 or ext3 where you have to uncompress the filesystem file (.tar.gz).

If you use Qi, you only need a ext2 partition into your µSD Card where you uncompress the filesystem image file (.tar.gz). In this case boot is going to look for the kernel image into the /boot directory, normally comes into tar.gz file, named as uImage-GTA02.bin .

Please visit links bellow for detailed information and tips:

For uBoot ( boot from microSD card ) and for Qi.

SHR version

Shell you ever later wonder what version of SHR you have actually installed, please run

cat /etc/shr-version

or check SHR Settings -> Other -> Image information

Running SHR

Booting

Press the power button shortly once to start the Freerunner. Booting splash screen will appear. First boot after new installation takes always a bit longer. Sometimes, it is recommended to reboot after this first boot, to make sure all packages got initialized properly.

SHR Boot Splash screen

Initial Setup

Initial setup

On the first boot, Setup is automatically initiated to walk the user through basic setup of the Enlightenment desktop environment. You are able to choose preferred language of the desktop environment, Illume SHR themed profile or select default menu (only one at the moment). On the Add icon screen you can add icons for some application. If you add a terminal based application like mplayer, you will see an icon but no application running upon click, as it will run in the background. Last screen allow settin up quick launch applications. TODO: what does quick launch do anyways?

Theme profile
Menu
Add icons
Quick launch


SIM Auth

SIM Auth

SIM Pin is asked for upon start up.

First look

Desktop screen

Illume desktop is default home screen of the SHR desktop. Application files located in /usr/share/applications are displayed here. All applications are ran fullscreen and you can switch between them by using the Task switcher in the Top Shelve or by using the < left or right > arrows in the Top Shelve.

The Illume desktop can be easily customized - slide the Top Shelve down and tap the Settings icon (Wrench).

NOTE: TIP: for better access of the Settings icon, tap and hold the Settings icon, then drag it to the right.


Illume settings provides various options to alter the desktop environment. You can change sizes of elements, single or double click, wallpaper. To access all the various options, open Illume Settings and slide the visible icons to the left, to preview more options on the right hand side.

The little applets in the Top Shelve (for example Battery, GSM, Bluetooth etc.) are called Shelve gadgets and you can configure whether they are visible (on the front part of the top shelve) or hidden (you can access them by sliding the top shelve) through Illume Settings -> Display -> Shelve gadget.

Some screens are not resized properly to fit the Freerunner's display - for example the Wallpapper setting. This is a known bug already reported upstream.


Phone applications

Besides other software, SHR comes with 4 main phone applications: Dialer, Contacts, Messages and Phone log.

Dialer
Contacts
Contact options
Add new contact


Messages
Messages options
View message
Unicode support


Message options
Phonelog
Active call

Upon a missed call or an unread message there is a notifying daemon that shows a screen with button to run Messages or Phonelog application.

First steps

Right after installation and first boot you might want to do a few initial steps:

Establish network connection and SSH into your Freerunner. The root account uses no password by default. You can establish connection either via USB to your desktop and enable NAT or you can connect through Wifi. If you use USB, some setup is required on the desktop side, please read USB_Networking. For Wifi, you can use Network Manager

Check if GSM is working correctly - observe the GSM gadget in the Top Shelve and see reported signal of your GSM operator

Check and set call volume - this is handled by alsa state files in /usr/share/shr/scenarii/ . To customize speaker volume edit /usr/share/shr/scenarii/gsmheadset.state and change control 4. Values between from 105 to 120 might be sufficient.

Shell you want to alter more parameters be aware that each file is a set of value for the 94 parameters. Some of the important ones are:

Control 48: internal mic of the tel (set to 2 or 3)
Control 4 : internal speaker (set from 110 to 120)
Control 49: headset mic
Control 3 : headset speaker

Initialize opkg database in order to install some applications from SHR repositories or from other sources, for example [opkg.org]. While still being online, you need to first run

opkg update

Searching in the opkg database can take a long time. You can speed things up by dumping the database into a file and grepping it through.

Do this only once or after every opkg update:

opkg list > packages.txt

Then you can search quickly for package name, for example for navit:

grep navit packages.txt

SwapSpace

The Freerunner has only 128mb ram, when this is used up applications get killed. This is particularly bad while doing opkg upgrade.

WARNING: this mights kill your sd card, since there might be a lot of read/writes to the same spot.

dd if=/dev/zero of=/swapfile bs=1024 count=65536

Add a line to fstab so next time you boot there will be swap

echo "/swapfile               swap                    swap    defaults        0 0">> /etc/fstab 

Make swap

mkswap /swapfile

Make the swap file work now:

swapon /swapfile

Changing root password

SHR is shipped without root password (just press enter)

This is very dangerous if you connect using wifi, or USB. You need to activate the root password:

passwd

then type your selected password (2 times)

Under the hood

SHR is based on linux kernel and Openembedded. XGlamo is providing X server environment and Illume (Enlightment window manager module for small devices) is providing comfortable finger controlled desktop environment. Under the hood of the pretty desktop there is FSO middleware talking to the GSM modem, GPS module as well as to the other bits of hardware. SHR ophonekitd daemon is run with X server start up and it communicates with FSO via d-bus. SHR phone applications talk to ophonekitd and also to FSO so for example when you receive a phone call, the dialer is launched to provide a way of answering it. Dialer, Contacts and Messages applications are part of the SHR internal libframeworkd-phonegui-efl library, Phone log is an extra application written in python-gtk.

Localization

Setting Language

You can change the language of the SHR desktop environment by using the Settings of Illume. For Example, for Czech language: in Illume Top Shelve go to Wrench (Settings) -> Language -> Language Settings -> and choose: Čeština. If your language is not in the menu you can install by using opkg.

You can list all available languages by running:

opkg list | grep glibc-locale-

And install the language of your choice (for example czech):

opkg install glibc-locale-cs

After this, the Language Settings of Illume will offer Czech.


This will localize the Illume environment and will also set correct lang environment variable. If you wish to have translations for other applications, you need to install them again (presuming they are available):

This will install czech localisation for SHR phone applications, SHR Settings and TangoGps:

opkg install libframeworkd-phonegui-efl-locale-cs shr-settings-locale-cs tangogps-locale-cs

For localized terminal environment (ssh login) set lang variables set /etc/profile, example for Czech language:

export LANG=cs_CZ
export LC_ALL=cs_CZ


The Illume keyboard offers english dictionary correction by default. You can list all the dictionaries available for installation:

opkg list | grep illume-dic


If your language is not available and english is bothering you, you can set an empty dictionary:

echo "" > /usr/lib/enlightenment/modules/illume/dicts/None.dic

By using it, it will get filled by the words you use and after time will start helping and correcting your typing.

Date and time

Timezone is automatically retrieved from the GSM network. Date and time are automatically set from GPS or Network. The easiest way of setting the time for the first time is to run TangoGps (GPS & Map icon) and obtaining GPS fix. Time will then be set automatically after several minutes.

Time can set time also manually.

Via SHR-Settings -> Date/time -> Set time

From linux based desktop:

ssh root@192.168.0.202 "date -u -s `date -u +%m%d%H%M%Y.%S`"

You can also set the hardware clock to the system time:

hwclock --systohc

Data synchronization

PISI Contact Sync
PISI Calendar Sync

You can synchronize your contacts and appointments data with various sources. The sync can by done by program called PISI http://pisi.projects.openmoko.org/ . SIM contacts and calendar entries are currently possible to sync on SHR.

For calendar install dates

 opkg install dates

Supported Contacts data sources:

  • SIM via DBUS (e.g. SHR)
  • QTopia address book (e.g. OM 2008.12)
  • LDAP (read only)
  • VCF files (local / webdav)
  • Google contacts

Supported Calendar data sources:

  • Google calendars
  • ICalendar files (local / webdav)

To install PISI, run

opkg install http://www.opkg.org/packages/0_python-ldap_2.3.6_armv4t.ipk python-netclient python-netserver python-pycairo python-pygobject python-pygtk python-sqlite3 http://www.opkg.org/packages/1_python-vobject_0.8.1_armv4t.ipk http://www.opkg.org/packages/0_python-webdav_0.1.2_armv4t.ipk http://www.opkg.org/packages/1_python-gdata_1.3.0_armv4t.ipk http://www.opkg.org/packages/1_python-dateutil_1.4.1_armv4t.ipk http://www.opkg.org/packages/openldap_2.3.43_armv4t.ipk http://projects.openmoko.org/frs/download.php/841/pisi_0.3_armv4t.ipk

Configuration example, .pisi/conf to sync contacts and calendar with google calendar and contacts with google mail:

[googleCalendar]
description=My Google Calendar
module=calendar_google
user=user@gmail.com
password=secret
calendarid=user@gmail.com

[pimlicodates]
description= Pimlico Dates
module=calendar_ics
path=/home/root/.evolution/calendar/local/system/calendar.ics

[googlecontacts]
description=Google Contacts Account
module=contacts_google
user=user@gmail.com
password=secret

[shrsim]
description=SHR SIM Card Contacts
module=contacts_dbussim
max_simentries = 250
simentry_name_maxlength=18

SHR Settings

SHR Settings

SHR Settings is the main setting application of SHR. In the background it uses FSO specific dbus calls as well as low level commands. The graphical interface is Elementary-Python based. It provides an easy way of setting up your phone to your liking - from phone related settings, to requesting resources in order to prevent screen dim or suspend (for example while using GPS).

While some settings are persistent over reboots, other are not.

TODO: list persistent/non persistent settings, or make a note at each section

Main Screen Main screen is divided into few categories, which contain modules. Every SHR Settings module has specified task - control GSM antenna power, set actual time etc.

Phone

GSM


In GSM settings you can turn off and on GSM module. After turning off antenna, whole GSM modem is turned off.

To list available providers, click on Operators button. Scanning can take some time. After while, list of operators should pop up.

You can't connect to operators marked [forbidden]. After failed connect, message is displayed.

Selecting operator from list also changes modem registration mode to manual. It won't register to other network, even if some is available and has better signal strengh. To return to automatic mode, click "Automatic" button in operator list.

Call


Phone settings


List providers

You can set if your phone number should be displayed to other party. You can either depend on network decision ("By network") or force it manually ("Manual")

SIM

Here you can view some informations about your SIM card and clean phone and messagebooks.

Others

Profile

Here you can select current profile, which device should use to determine ring tone etc.

Current profile

Here you can adjust properties of currently used profile. Available settings: ring tone, ring volume, ring vibration, ring loop, ring length, message tone, message volume, message vibration, message loop, message length.

To change ring tone, click on "Change" button.

To use your own ring tone, place it in /usr/share/sounds directory.

After selecting sid tune as ring tone, there are available controls to select tune number from file.


This is changing settings in /etc/freesmartphone/opreferences/conf/phone/default.yaml

ring-volume # Ring Volume control 0 (mini) to ? maxi)
ring-length # min time for ringtone. Must be greater than the duration of you ringtone
ring-loop # define the number of loop of ringtone to play
ring-tone: "ringtone_ringnroll.ogg" # .ogg example
ring-tone: "Arkanoid_PSID.sid" # .sid example, use default tune
ring-tone: "Arkanoid_PSID.sid;tune=2" # .sid example, plays the second tune of that

If you like to test a .sid you can play it using this command on the FR:

gst-launch filesrc location=Arkanoid_PSID.sid ! siddec tune=2 ! alsasink

Note: it's used a ! not a | to construct the gstreamer pipe command.


Profiles
Ringtones


Connectivity


Connectivity top
Connectivity bottom


WiFi

With "WiFi radio" toggle you can set, if wifi module should be powered. WiFi radio has to be turned on before trying to connect to WiFi network.

TODO: obsolete, Kmokonnect turns wifi on automatically

GPRS

To enter APN, login and password fields, just click on actual value (default: "internet"). Keyboard will pop up. NOTE: If you don't know APN, login and passwork, ask your provider.

TODO: obsolete, Kmokonnect provides gprs support now

To connect to GPRS network, just click "Connect" button. Entered values will be saved after successful connection.

USB

With this toggle you can switch USB port between device (Neo to PC) or host (device to Neo) modes.

Bluetooth

To power up Bluetooth module, swith "Bluetooth radio" toggle to "On". After that, "Visibility" toggle should arrive - set it to "On" if you want your FR to be visible by other Bluetooth devices on scanning.

GPS

GPS

GPS

By default, GPS is turned on only when requested (when you turn on TangoGPS, Navit, omgps or other GPS app). That state corresponds to "Auto" setting. After changing to "Manual", you can set it on all the time.

GPS information

This page can be used to monitor GPS status. If some value isn't known, then "unknown" is displayed.

You can also view information about every visible satellite and check, which are used for getting fix. To do that, just click "Satellite details".

If you experience problems with GPS, turn it off, click "Remove AGPS data" and reboot your Neo.

Date/time

Date & Time

Time

Here you can view and set actual time. By default, time is just displayed, To adjust it, click on "Set time".

After finishing adjusting, click "OK" button.

Date

This module displays current date.

Power

Battery

This module displays informations about battery state - charge, voltage, remaining time etc. To update data, click "Update" button.

Here you also force enable 500mA charging.

Display

With this slider you can easily tweak backlight power.

NOTE: This setting isn't permanent over sessions. At boot backlight is set back to 100%.

Power


Power
Timeouts

Here you can turn on or off automatic dimming or suspend after idle timeout (see: Timeouts module)

Timeouts

Here you can set up values of idle timeouts used by device. Timeouts are reached in this order: idle -> idle dim -> idle prelock -> lock -> suspend. Idle, idle prelock and lock aren't used by default in SHR at the moment. This setting changes parameters in /etc/frameworkd.conf :

[odeviced.idlenotifier]
suspend = 20
lock = 2
idle_prelock = 12
idle = 10
idle_dim = 20

Services

Services

Services

Here is listed every interesting script from /etc/init.d/ directory.

After clicking on some, you can either start, restart or stop service and view result.

Others

Others
Splash preview

Splash

With this selector you can select theme used by shr-splash at boot and shutdown. After clicking "Preview", selected boot image will be displayed for 5 seconds.

PIM

Module used by opimd developers. Doesn't have influence on behaviour of default SHR image.

Every opimd domain has different backends to store it's data. The domain reads data from every backend and writes data to the default backend. So with the selector in shr-settings you can choose the backend that stores newly generated data, it doesn't copy or move existing data to a different backend.

Userspace backups

Here you can either archive or restore your files and configurations. (TODO)

Image information

This module contains basic information about installed image - name of buildhost, used revision, branch and time of build.

Theming

Find available themes by running

opkg list | grep theme-illume

install it by

opkg install e-wm-theme-illume-sixteen elementary-theme-sixteen
Neo theme

http://opkg.org has a very fast theme called nEo

opkg install http://www.opkg.org/packages/e-wm-theme-neo_0.2_armv4t.ipk
opkg install http://www.opkg.org/packages/elementary-theme-neo_0.2_armv4t.ipk
opkg install http://www.opkg.org/packages/etk-theme-neo_0.2_armv4t.ipk
opkg install -force-overwrite http://www.opkg.org/packages/libframeworkd-phonegui-efl-theme-neo_0.2_armv4t.ipk

If you also want the GTK+ Applications to fit in with the rest of the Systems look execute

opkg install http://www.opkg.org/packages/gtk-theme-neo_0.1_armv4t.ipk

For a completely monolithic look additionally execute

opkg install http://www.opkg.org/packages/gpe-theme-neo_0.1_armv4t.ipk
opkg install http://www.opkg.org/packages/icon-theme-neo_0.2_armv4t.ipk

Please observe the command line output when installing these themes, since it will tell you how to activate the themes.

Note that some of the theme packages have to be reinstalled after an opkg upgrade.

Please note that reverting back can be done by

opkg install e-wm-theme-illume-sixteen shr-theme-gtk-e17lookalike  -force-reinstall
opkg install libframeworkd-phonegui-efl0 e-wm-theme-default etk-theme-shr shr-theme -force-reinstall

Network manager

While there are several ways of networking - Wifi, USB, Bluetooth and Gprs - By default, USB networking is enabled in /etc/network/interfaces.

Enhanced configuration is possible through direct editing of /etc/network/interfaces or through Mokonnect.

Connmand daemon with Mokonnect are the recommended user level applications for setting up networking. At the moment, Mokonnect can manage USB, Wifi and Gprs connections. Wifi device is not required to be manually turned on via SHR-Settings as Mokonnect will automatically enable the device when needed and disable after use.

TODO: screenshots, supported encr. wifi

Mokonnect


Mokonnect Wifi
Mokonnect Wifi Scan


System Customizing

Changing the splash screen

list available splash screen themes

opkg list | grep splash-theme

and install one of the available themes

opkg install shr-splash-theme-dontpanic

Then go to SHR Settings -> Others -> Themes. Here you can preview installed themes and change the default one.

Install functional alarm application

opkg remove -force-depends elementary-alarm; opkg install ffalarms

Enable mouse cursor

edit line 121 of /etc/X11/Xinit and erase -hide-cursor

ARGS="$ARGS -dpi ${DPI} -screen ${SCREEN_SIZE} -mouse tslib -root-ppm /usr/share/pixmaps/xsplash-vga.ppm vt1"
           

Connect Bluetooth keyboard

Turn Bluetooth on in SHR Settings -> Connectivity, then in terminal run

hidd --search


Improve speed of Elementary applications

Set the Elementary rendering engine used for Evas to x11-16 (Software X11 16bpp engine, may have bugs and will be lower quality, but faster):

echo -e "#!/bin/sh\n\nexport ELM_ENGINE=x11-16" > /etc/profile.d/set-elm-engine.sh


Additionally in the SHR-Unstable repositories there are theme packages optimized for 16bpp color. Both packages can be installed with the following command:

opkg install e-wm-theme-illume-sixteen elementary-theme-sixteen

You can then append the /etc/profile.d/set-elm-engine.sh with:

# Set Optimized theme
export ELM_THEME=sixteen

You can also then change Illume to use the sixteen theme by clicking the wrench->Look->Theme-illume-sixteen->OK. Then switch Illume to use the 16bpp Engine by clicking the wrench->Advanced(you will need to drag and slide the top menu)->Engine->Software_16->OK. This should give you a much faster interface without the low quality look the default SHR themes have at this lower color depth.

Read http://trac.enlightenment.org/e/wiki/Elementary

If you try to change Wallpaper or Theme and Illume keeps on crashing, it might be caused by the whole Illume running in Software_16 mode. Go to Illume Settings, slide the icon bar and select Advanced. There tap on Engine and select Software. After this, you can change your Wallpaper or Theme. Selecting Software_16 later on again will speed up the desktop's response (though causing it to be a bit uglier).

Speedup of suspend and wake up

I you are using Qi and installation on µSD card, you can change the kernel parameter loglevel=1 1 in /boot/append-GTA02 . For u-boot and installation in nand just type

klogd -c 1

into the console. This saves you from 3 seconds worth of console output on every resume.

If you like the effect of this command and want it to be executed at every startup, you just have to log into your phone and type the following:

cat > /etc/init.d/resumespeedup << EOF
#!/bin/sh
/sbin/klogd -c 1
EOF
chmod +x /etc/init.d/resumespeedup
ln -s ../init.d/resumespeedup /etc/rc1.d/S06resumespeedup
ln -s ../init.d/resumespeedup /etc/rc2.d/S06resumespeedup
ln -s ../init.d/resumespeedup /etc/rc3.d/S06resumespeedup
ln -s ../init.d/resumespeedup /etc/rc4.d/S06resumespeedup
ln -s ../init.d/resumespeedup /etc/rc5.d/S06resumespeedup

SHR Launcher

SHR Launcher

Launcher is elementary based alternative home screen application and event notifier for SHR. It displays current time, has a user tweak-able launcher with categories and features missed calls and messages applets.

opkg install libsqlite3-0 http://www.opkg.org/packages/launcher_0.23_arm.ipk

Litephone

Litephone

Litephone is new alternative set of phone applications written in Qt. In it's single application interface it provides basic phone functionality (contacts, calls, messages, phone log, settings). It's main advantage is that it uses opimd for storage of the user data.


opkg install http://pvtrace.com/litephone/libqtcore4_4.4.3-r3_armv4t.ipk
opkg install http://pvtrace.com/litephone/libqtxml4_4.4.3-r3_armv4t.ipk
opkg install http://pvtrace.com/litephone/libqtdbus4_4.4.3-r3_armv4t.ipk 
opkg install http://pvtrace.com/litephone/libqtgui4_4.4.3-r3_armv4t.ipk 
opkg install http://pvtrace.com/litephone/qt4-x11-free_4.4.3-r3_armv4t.ipk
opkg install http://pvtrace.com/litephone/litephone_0.0.1-r2_armv4t.ipk 

Opimd utils

Opimd utils is a set of several testing scripts to play with the new opimd backends. It also provides opimd-messages program and mainly new opimd-notifier that is much better then the standard one.

opkg install opimd-utils

opkg upgrade issues

As opkg had some issues recently, installation might get broken due to that. You can fix it or prevent by using the following scripts

Safe update packages:

#!/bin/sh

opkg list_upgradable | awk '!/(kernel|Multiple)/ {print $1}' | \
	while read line; do
	echo "installing pack $line"
	opkg install $line -force-reinstall
done


Force reinstall all installed packages

#!/bin/sh

opkg list_installed | awk '!/(kernel|Multiple)/ {print $1}' | \
	while read line; do
	echo "installing pack $line"
	opkg install $line -force-reinstall
done


No icons, no GSM functions etc. - this is mostly due to errors on your uSD card. Remove your card and fix it in card reader or by booting to another partition (nand) or by reboot and mount read only, then run fsck.

For reboot into nand and fix 1st partition of ext2 on your card

fsck.ext2 /dev/mmcblk0p1

Installing Software

You can use opkg for installing software packages or you can try SHR Installer from http://git.shr-project.org/git/?p=shr-installer.git;a=summary . It requires packagekitd

opkg install packagekitd

If you wan to use opkg after you used the installer, make sure packagekitd is not running

killall packagekitd