Manuals/SHR

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Settings: Appearance: theme)
m (Undo SPAM 102165 by Alicewise (talk))
 
(278 intermediate revisions by 29 users not shown)
Line 6: Line 6:
 
==SHR Introduction==
 
==SHR Introduction==
  
Welcome to '''[[SHR]]''', a community driven distribution for (not only) Openmoko Neo phones.
+
Welcome to '''[[SHR]]''', a community driven distribution for (not only) Openmoko, HTC Dream, PalmPré and Nokia n900 phones.
 +
 
 +
 
  
 
[[Image:SHR-Logo.png|200px|thumb|center|SHR]]
 
[[Image:SHR-Logo.png|200px|thumb|center|SHR]]
  
'''SHR'''  (Stable Hybrid Release) is here to provide you with Root FileSystem images that you can easily install onto your phone to use as a daily phone.  There are many prepackaged programs available 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 provide as much stability as possible for day-to-day usage.
+
'''SHR'''  (Stable Hybrid Release) is here to provide you with Root FileSystem images that you can easily install into your device to use as a daily phone and PDA.  There are many prepackaged programs available 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 (SHR-U)''' is a testing environment before software gets stabilized and it is the main testing ground for [[FSO]] releases. '''SHR testing (SHR-T)''' images provide as much stability as possible for day-to-day usage. Some users find the SHR-U releases preferable for everyday use. [http://lists.shr-project.org/pipermail/shr-user/2010-September/006187.html]
  
SHR users, readers of this manual, please report improvements, discrepancies or missing features on this page to <tt>vanous @ penguin . cz</tt>. Thank you.
+
{{Note|In meanwhile '''SHR-U''' and '''SHR-T''' are no longer supported. '''SHR-CORE''' is now the official distribution and is developed by the same developers which developed SHR-U and SHR-T. So please use the new SHR-CORE images.}}
  
 
==Installation==
 
==Installation==
 +
Use [[Qi]] as bootloader to avoid [[GPS]] problems on suspend/resume.
 +
Switch off you freerunner (if necessary) and start NOR uBoot by pressing AUX and Power-On at the same time and then start [[dfu-util]] on your computer with the following parameters for GTA2:
 +
  # dfu-util -a u-boot -R -D [http://wiki.openmoko.org/wiki/Qi#Download qi-s3c2442-master-hist_3b8513d8b3d9615e.udfu]
 +
See [[Flashing the Neo FreeRunner]] or [[Flashing the Neo 1973]] for more details on flashing your phone.
  
 
===Getting SHR===
 
===Getting SHR===
Line 20: Line 28:
 
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 the [[microSD]] card, you need to either get .jffs2 file for NAND or .tar.gz file for microSD.
 
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 the [[microSD]] card, you need to either get .jffs2 file for NAND or .tar.gz file for microSD.
  
For the '''GTA02 Neo FreeRunner''' you need to download the images of the:
+
- Get the latest kernel from the below linkpages. Starts with uImage-...
*testing line: http://build.shr-project.org/shr-testing/images/om-gta02/
+
*unstable line: http://build.shr-project.org/shr-unstable/images/om-gta02/
+
  
- Get the latest kernel from the above linkpage. Starts with uImage-...
+
- Get the root filesystem:
 +
* After 110822:
 +
** for NAND [[jffs2]]: .rootfs.jffs2
 +
** for NAND [[ubifs]]: .rootfs.ubi
 +
** for µSD tar.gz: .rootfs.tar.gz
 +
** for µSD ubifs (ubi or ubifs?): .rootfs.?
 +
* Before 110822. (Those are '''full''' images. You can also choose images with less packages, marked as '''lite'''):
 +
** for NAND [[jffs2]]: full-om-gta0_.jffs2
 +
** for NAND [[ubifs]]: full-om-gta0_.ubi
 +
** for µSD tar.gz: full-om-gta0_.tar.gz
 +
** for µSD ubifs (ubi or ubifs?): full-om-gta0_.?
  
- Get the root filesystem, for NAND: full-om-gta02.jffs2, for µSD: full-om-gta02.tar.gz
+
;GTA02 Neo FreeRunner
 +
* SHR-CORE after 110822 - additionally choose phone catalog e.g. om-gta02 (For more information of staging images read http://shr-project.org/trac/wiki/Stabilizing ):
 +
** Line (preferred): http://build.shr-project.org/shr-core/images/
 +
** Staging line (useful for testers, choose version or latest catalog): http://build.shr-project.org/shr-core-staging/
 +
* Before 110822:
 +
** testing line: http://build.shr-project.org/shr-testing/images/om-gta02/
 +
** unstable line (before 110822): http://build.shr-project.org/shr-unstable/images/om-gta02/
 +
   
 +
;GTA01 Neo 1973:
 +
* testing line: http://build.shr-project.org/shr-testing/images/om-gta01/
 +
* unstable line: http://build.shr-project.org/shr-unstable/images/om-gta01/
  
The above are '''full''' images. You can also choose images with less packages, marked as '''lite''' which can be upgraded to the full image by running
+
;Image lite to image full
 +
If you flashed a '''lite''' image and want to upgrade to the '''full''' image run:
  
# Please note [[#opkg_upgrade_issues]]
 
 
  opkg update
 
  opkg update
 
  opkg install task-shr-apps task-shr-games task-shr-gtk
 
  opkg install task-shr-apps task-shr-games task-shr-gtk
  
- '''Get the kernel modules.''' From the same page, download the modules to match your kernel (their dates should be the same). Put that file on the FreeRunner and run
+
;Kernel modules
 +
The images of the filesystems mentioned above (.jffs2, .tar.gz), already contain the newest kernel modules.
  
 +
Get the new kernel modules if you only want to flash a new kernel, but not a whole new file system. From the same page as the kernel download the modules to match your kernel (their dates should be the same). Use sftp to put that file on the FreeRunner via the usb connection. Run gzip to unwrap the modules:
 
  # gzip -dc modules-...tar.gz | tar -xf - -C /
 
  # gzip -dc modules-...tar.gz | tar -xf - -C /
 
'''Editors note''': Running depmod should not be necessary, if it's needed, please report a bug. Recommending of the depmod command will be removed in near future.
 
 
'''GTA01 Neo 1973''' images are at (20091130 future):
 
*http://build.shr-project.org/shr-unstable/images/om-gta01/
 
  
 
===Installation on Flash===
 
===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 ( <tt>.jffs2</tt> ) as described above and flash your device using the <tt>dfu-util</tt> tool.
+
In order to install your SHR distribution directly to your FreeRunner Flash memory (NAND), you need to get the desired filesystem file ( <tt>.jffs2</tt> ) as described above and flash your device using the <tt>dfu-util</tt> tool.
  
 
Please visit [[Flashing the Neo FreeRunner]] for more details about flashing and see [[Dfu-util]] for detailed information about the dfu-util.
 
Please visit [[Flashing the Neo FreeRunner]] for more details about flashing and see [[Dfu-util]] for detailed information about the dfu-util.
Line 52: Line 75:
 
Commands to flash the filesystem and the kernel:
 
Commands to flash the filesystem and the kernel:
  
Note that there are some issues using dfu-util with sudo.
+
for the GTA02 Neo FreeRunner (jffs2 filesystem):
 
+
'''Don't use sudo with dfu-util. Make sure you are root before using dfu-util!'''
+
 
+
for the GTA02 Neo FreeRunner:
+
  
 
  # dfu-util -d [[USB Product IDs|0x1d50:0x5119]] -a rootfs -R -D full-om-gta02.jffs2
 
  # dfu-util -d [[USB Product IDs|0x1d50:0x5119]] -a rootfs -R -D full-om-gta02.jffs2
 
  # dfu-util -d [[USB Product IDs|0x1d50:0x5119]] -a kernel -R -D uImage-om-gta02-latest.bin
 
  # dfu-util -d [[USB Product IDs|0x1d50:0x5119]] -a kernel -R -D uImage-om-gta02-latest.bin
 +
 +
for the GTA02 Neo FreeRunner (ubi filesystem):
 +
# dfu-util -d [[USB Product IDs|0x1d50:0x5119]] -a u-boot -R -D qi-ubi-s3c2442.udfu (only first time)
 +
# dfu-util -d [[USB Product IDs|0x1d50:0x5119]] -a kernel -R -D uImage-om-gta02-latest.bin
 +
# dfu-util -d [[USB Product IDs|0x1d50:0x5119]] -a rootfs -R -D full-om-gta02.ubi
 +
# make shure that Qi is booting the NAND ( remove sd card or touch /boot/noboot-GTA02 )
  
 
for the GTA01 Neo 1973:
 
for the GTA01 Neo 1973:
Line 65: Line 90:
 
  # dfu-util -d [[USB Product IDs|0x1457:0x5119]] -a rootfs -R -D full-om-gta01.jffs2
 
  # dfu-util -d [[USB Product IDs|0x1457:0x5119]] -a rootfs -R -D full-om-gta01.jffs2
 
  # dfu-util -d [[USB Product IDs|0x1457:0x5119]] -a kernel -R -D uImage-om-gta01-latest.bin
 
  # dfu-util -d [[USB Product IDs|0x1457:0x5119]] -a kernel -R -D uImage-om-gta01-latest.bin
 +
 +
{{Note|If you get the error message while flashing:
 +
 +
Starting download: [##############################dfu_download error -84<br>Error during download
 +
 +
It is most likely caused by trying to flash an image that is too large.}}
  
 
===Installation on the microSD Card===
 
===Installation on the microSD Card===
Line 71: Line 102:
  
 
In simple words, the difference between both systems resides on how you must prepare your microSD Card and files you use to fill them:
 
In simple words, the difference between both systems resides on how you must prepare your microSD Card and files you use to fill them:
 +
==== uBoot and SHR on microSD Card ====
 +
If you use ''uBoot'', you need to create two partitions. First partition, not so big, in FAT16 or ext2 where you have to place the kernel file (<tt>uImage-om-gta02-latest.bin</tt>) and second partition in ext2 or ext3 where you have to uncompress the filesystem file (<tt>shr-image-om-gta02.tar.gz</tt>).
  
* If you use ''uBoot'', you need to create two partitions. First partition, not so big, in FAT16 or ext2 where you have to place the kernel file (<tt>uImage-om-gta02-latest.bin</tt>) and second partition in ext2 or ext3 where you have to uncompress the filesystem file (<tt>shr-image-om-gta02.tar.gz</tt>).
+
==== Qi and SHR on microSD Card ====
 +
If you use ''[[Qi]]'', you only need an ext2 partition (e.g. with [[fdisk]]) into your µSD Card.
 +
  # mkfs.ext2 /dev/sde1
 +
If your µSD Card drive has the device name <tt>/dev/sde1</tt>.
 +
Download <tt>[http://build.shr-project.org/shr-testing/images/om-gta02/ shr-image-om-gta02.tar.gz]</tt>.
 +
Uncompress the filesystem image file (<tt>[http://build.shr-project.org/shr-testing/images/om-gta02/ shr-image-om-gta02.tar.gz]</tt>) on the µSD Card (e.g. with a µSD-SD-Card-Adapter on your Linux Desktop Computer. Insert the µSD Card back into your Freerunner and boot your Neo.
  
* If you use ''Qi'', you only need an ext2 partition into your µSD Card where you uncompress the filesystem image file (<tt>shr-image-om-gta02.tar.gz</tt>). In this case Qi Bootloader is going to look for the kernel image into the <tt>/boot</tt> directory for file named <tt>uImage-GTA02.bin</tt> .
+
In this case Qi Bootloader is going to look for the kernel image into the <tt>/boot</tt> directory for file named <tt>uImage-GTA02.bin</tt> .
  
Please visit the links below for detailed information and tips:
+
===Bootloaders===
*For [[Booting from SD | uBoot]] and for [[Qi]].
+
 
 +
Make sure you have recent and correct versions of [[Booting_from_SD | uBoot]] or [[Qi]] installed, please visit the links for detailed information and tips. For example [[Android]] uses modified [[Qi]] which can cause you troubles when using SHR.
  
 
===SHR version===
 
===SHR version===
Line 83: Line 122:
 
Should you ever later wonder what version of SHR you have actually installed, please run
 
Should you ever later wonder what version of SHR you have actually installed, please run
  
 +
timestamp of image creation:
 +
cat /etc/timestamp
 +
 +
latest shr version from opkg upgrade (this version is changed everytime someone builds task-base on shr buildhost):
 
  cat /etc/shr-version
 
  cat /etc/shr-version
  
{{Note|Please note that running opkg update;opkg upgrade does not change the SHR version. Only flashing or a new image download can change the SHR version.}}
+
{{Note|Please note that this is true only for shr-u, with shr-t running opkg update;opkg upgrade does not change the SHR version. Only flashing or a new image download can change the SHR version. But this will be also merged to shr-t later.}}
  
===Initial Setup===
+
==Running SHR==
  
 +
===First boot===
 
[[Image:Shr-boot-preview.png|200px|thumb|center|SHR Boot Splash screen]]
 
[[Image:Shr-boot-preview.png|200px|thumb|center|SHR Boot Splash screen]]
  
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 and the theme. However both options are only offering one choice at the moment. It is recommended to reboot after this first boot, to make sure all packages got initialized properly.
+
First boot usually takes a bit longer as your phone's new software needs to do some initial setting up. It is recommended to reboot after this first boot (and after the initial setup), to make sure that all packages get initialized properly. The application switching shelve (shr_elm_softkey) doesn't show up during first boot when the initial wizards are at work, [http://shr-project.org/trac/ticket/1105 reboot is required] and then application switching works as expected.
 +
 
 +
====Initial Setup====
 +
 
 +
During the first run, Setup is automatically initiated to walk the user through basic setup of the Enlightenment desktop environment. These steps vary as both Enlightenment desktop and SHR evolve, at this point preferred language and desktop profile options are available. The Profile offers to choose a preconfigured way of displaying the desktop. Illume2-SHR (with continuous development) and Illume-SHR (discontinued) profiles are available. '''Illume2-SHR''' is the recommended Profile.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
| [[Image:SHR-Setup-Language.png|200px|thumb|language selection]]
 
| [[Image:SHR-Setup-Language.png|200px|thumb|language selection]]
| [[Image:SHR-Setup-Profile.png|200px|thumb|choosing from two themes (from an older version of SHR)]]
+
| [[Image:SHR-Setup-Profile.png|200px|thumb|theme selection]]
 +
| [[Image:SHR-Wizard.png|200px|thumb|SHR Wizard]]
 +
 
 
|}
 
|}
  
==Running SHR==
+
Note, you may need to ssh into the device and run /usr/bin/xinput_calibrator_once.sh if calibration is wrong. I found this using a Neo1973 and SHR images from around May 2010.
 +
 
 +
====SHR Wizard====
 +
After the initial Setup, SHR Setting Wizard is launched to allow setting up your local phone settings and setting up root password. Sometimes a '''Please wait''' message is displayed for a long time, as the wizzard is waiting for the SIM card to be initialized.
  
 
===First look===
 
===First look===
 
[[Image:SHR-First-Look.png|200px|thumb|Desktop screen]]
 
[[Image:SHR-First-Look.png|200px|thumb|Desktop screen]]
'''Illume desktop''' is the 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 shelf or by using the '''<''' left or right '''>''' arrows in the top shelf.
+
[[Image:SHR-Task-Buttons.png|200px|thumb|Task switch buttons]]
 +
====Illume desktop====
 +
Illume desktop is the default home screen of the SHR desktop.  
  
===Phone applications===
+
Application definition files located in /usr/share/applications are displayed here as icons. All applications are ran fullscreen and you can switch between them by using the the '''< left''' or '''right >''' arrows on sliding shelve available by tapping Top Shelf on any empty space. To close applications, choose '''X''' from the same sliding shelve.
  
Besides other software, SHR comes with 4 main phone applications: ''Dialer'', ''Contacts'', ''Messages'' and ''Phone log''.
+
If tapping Top Shelf on an empty space the sliding shelve doesn't appear then you can activate it opening a Terminal and giving this command:
  
{|
+
killall shr_elm_softkey ; shr_elm_softkey &
| [[Image:SHR-Dialer.png|200px|thumb|Dialer]]
+
| [[Image:SHR-Contacts.png|200px|thumb|Contacts]]
+
| [[Image:SHR-Mesages.png|200px|thumb|Messages]]
+
| [[Image:SHR-Message-View.png|200px|thumb|View message]]
+
|}
+
  
===First steps===
 
  
Right after installation and first boot you might want to do a few initial steps:
 
  
====Network Connection====
+
Several icons (e-gadgets) are placed in the Top Shelve:
''Establish network connection'' and SSH into your phone. The <tt>root</tt> 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]]
+
  
====GSM Network====
+
The '''L''' icon is to switch between left/right mouse click. By taping this icon the icon gets changed to R and next tap will be as right click. After the click, the behavior is automatically switched back to Left click so any following taps are left click again.
''Check if GSM is working correctly'' - observe the GSM gadget in the Top shelf and see reported signal of your GSM operator. If GSM Gadget seems not be running, click ''Settings'' and later on ''Phone''. Move ''GSM Antenna'' to ''On''.
+
  
====Audio: Volume====
+
'''Mode Switch Icon''' allows to split the screen horizontally or vertically, thus allowing to display two applications at the same time.
''Check and set call volume'' - this is handled by alsa state files in <tt>/usr/share/shr/scenarii/</tt> . To customize speaker volume edit <tt>/usr/share/shr/scenarii/gsmhandset.state</tt> and change <tt>control 4</tt>. Values between from 105 to 120 might be sufficient:
+
  
vi /usr/share/shr/scenarii/gsmhandset.state
+
'''Keyboard icon''' pops up or hides the Keyboard.
or if your release is >=: 091204?
+
vi /etc/freesmartphone/alsa/default/gsmhandset
+
  
control.4 {
+
'''Illume Settings''' icon (represented by SHR logo) invokes the [[#Illume_settings | Illume desktop settings]].
comment.access 'read write'
+
comment.type INTEGER
+
comment.count 2
+
comment.range '0 - 127'
+
iface MIXER
+
name 'Speaker Playback Volume'
+
value.0 116
+
value.1 116
+
}
+
  
Should 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:
+
'''Home Icon''' allows quick go to the home desktop/application.
  
Control 48: internal mic of the tel (set to 2 or 3)
+
'''GSM''' and '''Battery''' status icons, as well as '''time''' are displayed by default, Bluetooth and WiFi status icons available in the setting of the Top Shelve content.
Control 4 : internal speaker (set from 110 to 120)
+
Control 49: headset mic
+
Control 3 : headset speaker
+
  
====Initializing the opkg database====
 
''Initialize the 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
+
To '''reconfigure the Top Shelve''' itself, use the L/R click icon to Right click on the Top Panel and choose: Illume Indicator->Set Content to add or remove items from the Top Panel. Or, upon right click on the Top Panel you can also choose Illume Indicator->Begin Move/Resize to move your icons around. To escape this mode, you must click on the L/R gadget's edge, it will switch to L, then choose R again, right click on the Top Panel and select Illume Indicator->Stop Move/Resize.
  
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.
+
====Keyboard====
  
Do this only once or after every opkg update:
+
Keyboard comes up automagically when a text field is tapped or you can also toggle the keyboard by it's icon in the Top Shelve. In the Keyboard, dictionary switcher is the arrow-up on left side, alternative keyboard layouts are under the ABC button on the right. The Default keyboard has English dictionary enabled. For Space quick slide left-to-right, for Enter, quick slide up-down, to quick change keyboard layout quick slide down-up. While typing with a dictionary enabled keyboard, possible word options start appearing in the keyboard's upper part or more word options are available under the arrow-up on the left. When happy with the word, tap it, it will be pasted into the text field with a space attached. The Keyboard and dictionary can [[#Illume_keyboard_and_dictionaries | easily be localized]].
  
opkg list > packages.txt
+
Problem with external USB keyboard mapping (arrows keys doesn't work) can be solved with [http://wiki.openmoko.org/wiki/Usb_keyboard#Arrow_keys_disfunction this little script].
  
Then you can search quickly for package name, for example for navit:
+
====Copy and Paste====
  
grep navit packages.txt
+
In '''E based''' applications, for example the phone suite (contacts, messages...), by tapping and holding down for over two seconds the Select-Paste menu will pop up. By pressing Select, you can now swipe through the text to select desirable part. Tap and hold down again, Copy-Cut-Cancel menu will appear to Copy to clipboard. Another long tap will provide Select-Paste for Paste.
  
====SwapSpace====
+
In '''Gtk''' based application, you can use keyboard for Ctrl-C (Copy) and Ctrl-V (Paste) or items in Menu if provided.
{{Main|SwapSpace}}
+
When the RAM is used up, applications get killed. This is particularly bad while doing opkg upgrade. Therefore you might want to create a swap space. Read [[SwapSpace]]
+
  
====Changing the root password====
+
In the Vala '''Terminal''', you can select simply by swiping through the text and for Paste there is an icon in the menu bar of this application.
  
Recent images will show up a prompt to change the root password during the first boot wizard.
+
Copy & Paste between different toolkits has some limitations. See the table below. In Ventura, select is possible, but copy/paste doesn't seem to work at all.
If for some reason this prompt doesn't show up you can change the password by using the terminal emulator in your SHR installation.
+
  
For older images,
+
{| cellspacing="0" class="wikitable" border="1" style="font-size: 85%; text-align: left;width="100%"
SHR is shipped without root password (just press enter)
+
|-
 +
! From -> To
 +
! to GTK
 +
! to E
 +
! to Terminal
 +
|-
 +
| from GTK
 +
|style="background:#88FF88;"|Works
 +
|style="background:#88FF88;"|Works
 +
|style="background:red"|Doesn't work
 +
|-
 +
| from E
 +
|style="background:red"|Doesn't work
 +
|style="background:#88FF88;"|Works
 +
|style="background:#88FF88;"|Works
 +
|-
 +
| from Terminal
 +
|style="background:red"|Doesn't work
 +
|style="background:#88FF88;"|Works
 +
|style="background:#88FF88;"|Works
 +
|-
 +
|}
  
This is very dangerous if you connect using wifi, or USB. You need to activate the root password:
+
====Alarm====
  
passwd
+
The Alarms application (installed by default) allows alarm presetting for single or repeatable alarms. If you set an alarm and turn your Openmoko FreeRunner off, at the time of the alarm the phone will be powered up and alarm will sound.
  
then type your selected password (2 times)
+
====Phone applications====
  
A much more convenient way might be to install your public-key to ~/.ssh/authorized_keys. You can find your public-key of you host at location:
+
Besides other software, SHR comes with 4 main phone applications: ''Dialer'', ''Contacts'', ''Messages'' and ''Phone log''.
  
  /path/file
+
{|
 +
| [[Image:SHR-Dialer.png|200px|thumb|Dialer]]
 +
| [[Image:SHR-Contacts.png|200px|thumb|Contacts]]
 +
| [[Image:SHR-Mesages.png|200px|thumb|Messages]]
 +
| [[Image:SHR-Phonelog.png|200px|thumb|Phone log]]
 +
|}
  
For running
 
cmd | ssh root@neo anycommand
 
from your host this might be even mandatory, e.g if you want to pipe anything to the ssh.
 
  
===Localization===
+
=====PIM data=====
  
==== Localize SHR manually ====
+
======Storage======
 +
PIM data (contacts, messages etc.) are stored through internal opimd storage mechanism into
  
[[Image:SHR-Illume-Settings-Languages.png|200px|thumb|Setting Language]]
+
/etc/freesmartphone/opim/pim.db
  
You can change the language of the SHR desktop environment by using the Settings of Illume. For Example, for Czech language: in the Illume top shelf 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.
+
This database can easily be copied from one SHR installation to another, for example due to a need for reflashing. The Contacts application can display a picture of the contact. As the pim.db database contains a path to the picture files only but not the pictures themselves, therefore, in case of PIM data backup or transfer, these picture files '''need to be copied too'''.
  
You can list all available languages by running:
+
======SIM Contacts======
  
  opkg list | grep eglibc-locale-
+
SHR phone applications do not read SIM contacts by default but you can use SIM Manager to access your SIM contacts '''SHR Settings -> Others -> SIM Manager''', which allows you to edit and import the SIM contacts into the internal storage. You can also use Pisi to import your SIM contacts into opimd.
  
And install the language of your choice (for example czech):
+
======Synchronization======
  
opkg install eglibc-locale-cs
+
'''[[Pisi]]''' is an application for synchronizing PIM data and can be used for import and export your contacts, calendar entries etc. between various sources, like VCF, LDAP, Google and more. To install Pisi:
  
After this, the Language Settings of Illume will offer Czech.
+
opkg install pisi
  
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):
+
After installation, edit Pisi configuration in '''.pisi/conf''' in your home directory. To have a correct opimd fields support, make sure '''field_support=TRUE''' is enabled in opimd section.
  
This will install czech localisation for SHR phone applications, SHR Settings and TangoGps:
+
With the installed package you have a well-documented sample that is placed at
 +
  /usr/share/doc/pisi/conf.example
 +
You may copy the file and rename this file to
 +
  /home/root/.pisi/conf
 +
as a starting point - then edit this file in order to configure your PIM synchronization data sources. Look at section
  
  opkg install libframeworkd-phonegui-efl-locale-cs shr-settings-locale-cs tangogps-locale-cs
+
  [opimd]
 +
description=OPIMD Contacts
 +
module=contacts_opimd
 +
field_support=TRUE
  
For localized terminal environment (ssh login) set lang variables set /etc/profile, example for Czech language:
+
=====Idle screen=====
 +
[[Image:SHR-Idle_Screen.png|200px|thumb|Idle Screen with GSM operator strength and name. GPS, WiFi, Display and CPU are requested, Battery status.]]
 +
Upon press of the AUX button Idle Screens locks up the display. AUX press or a finger slide on the Slider unlocks the screen.
  
export LANG=cs_CZ
+
At the top, status icons are shown to indicate what is going on in the phone:
export LC_ALL=cs_CZ
+
  
The Illume keyboard offers english dictionary correction by default. You can list all the dictionaries available for installation:
+
From left to right:
 +
GSM strength and operator. Requested Resources (GPS, Display etc., when for example Display is requested, the screen will not dim).  Battery capacity.
  
opkg list | grep illume-dic
+
====Hardware Buttons====
  
If your language is not available and english is bothering you, you can set an empty dictionary:
+
=====Power Button=====
  
echo "" > /usr/lib/enlightenment/modules/illume/dicts/None.dic
+
[[Image:SHR-Quick-Settings.png|200px|thumb|Quick Settings]]
  
By using it, it will get filled by the words you use and after time will start helping and correcting your typing.
+
The '''PWR''' (Power) button is mapped to start [[#quick_settings | Quick Settings]] screen (Illume System menu in older versions) on a short press.  
  
[[Image:Illume-keyboards-terminal-dutch-nl-screenshot.png| Dutch terminal virtual keyboard|256px|thumb]]
+
Mapping of the PWR button be configured via the '''Illume Settings-> Input -> Key Bindings'''.
Furthermore you can install a different keyboard with a layout which fits your language or alternatives for the default keyboards like the numerical one. The localized [[Illume keyboard]]s are available in the SHR repository under the name ''illume-keyboard-LANG''.
+
  
Note that sometimes after an upgrade of Illume has taken place, these keyboards have to be installed again before the become available again. Removing these packages will restore the availability of the respective original keyboards.
+
Pressing the Power button for longer then 8 seconds will force a complete power down of the device. This is hardconfigured in the kernel.
 +
<div id="quick_settings"> </div>
 +
The '''Quick Settings''' screen provides several toggles: Airplane mode, Phone profiles, Power settings and Power buttons.
  
==== German (and Austria) Language ====
+
=====Auxiliary Button=====
Find a hopefully [[Configure_SHR_for_German-speaking_use|stable SHR German language version]] with Austrian Maps [[Configure_SHR_for_German-speaking_use|here]]. The configuration can be used for any
+
The '''AUX''' (Auxiliary) button is mapped to toggle on/off the SHR Idle screen. Mapping of this button is configured in /etc/phonefsod.conf
German speaking country. The Austrian maps for [[Navit]] can be replaced and Navit is "speaking" German. Navit is configured with a preselect of country "Austria" (see [[Navit]]), There are some differences between dictionary de_AT (Austria) and de_DE (Germany).
+
  
===Date and time===
+
idle_screen = aux,lock
  
The local timezone is automatically retrieved from the GSM network.
+
You can configure the [[#idle_screen | Idle Screen]] to come up even during active phone call by adding '''phone''' to the setting:
  
create a symlink named /etc/localtime which points to the appropriate file in /usr/share/zoneinfo. For example, if you're in France., the following command will link the correct zoneinfo file to your /etc/localtime, giving you the correct time:
+
idle_screen = aux,lock, phone
  
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
+
<div id="idle_screen"> </div>
 +
The '''Idle Screen''' shows current date and time, missed calls and messages and also what [[#FSO_Resources | FSO resources]] are currently being requested - used.
  
Afterwards, edit /etc/timezone if necessary [?]
+
======Replacing idle screen======
  
Local timezone work instantly for the current boot when:
+
If you wish to use the E simple LOCKED screen instead of the SHR Idle Screen, edit '''/etc/phonefsod.conf''' to this:
  
  TZ="Europe/Paris"
+
  # when to show idle screen
  export TZ
+
# ...
 +
# idle_screen = aux,lock
 +
  idle_screen =
  
For a permanent timezone change edit /etc/profile and change to:
+
You need to restart phonefsod to make the change happen.
  
TZ="Europe/Paris"
+
Also, change key mapping for the AUX button by setting '''Illume Settings''' -> '''Input''' -> '''Key Bindings''', bind the key '''XF86Phone''' to '''Desktop Simple Lock'''
  
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.
+
====Settings applications====
  
Time can set time also manually.
+
Many desktop and phone settings are possible to do via graphical interface. [[#SHR_Settings | SHR Settings]] provides access to most common phone personality settings and is accessible by tapping Settings icon on the desktop. [[#Illume_settings |  Illume settings]] (and Enlightenment desktop settings) are accessible on Top shelve by tapping the "SHR Logo" icon. Also, FSO and SHR phoneui applications have configuration files in /etc where some of the above mentioned apps write and that can be edited manually.
  
Via SHR-Settings -> Date/time -> Set time
+
===First steps===
  
From linux based desktop:
+
Right after installation and first boot you might want to do a few initial steps like adjusting the call volume and some other tasks.
  
ssh root@192.168.0.202 "date -u -s `date -u +%m%d%H%M%Y.%S`"
+
====Audio - Call Volume====
  
You can also set the hardware clock to the system time:
+
During the first phone call please use the Volume and Mic sliders on the Active Call Screen and adjust them to fit your preferences. The new improved settings will be used for all in/out-going calls thereafter.
  
hwclock --systohc
+
====Network Connection====
  
Is this better?:
+
[[#Networking|Establish network connection]] and SSH into your phone. You can establish connection either via USB to your desktop and enable NAT or you can connect through Wifi.
  
hwclock --utc --systohc
+
====Initializing the opkg database====
 +
''Initialize the opkg database'' in order to install some applications from SHR repositories or from other sources, for example [http://opkg.org opkg.org]. While being online, you need to run
  
It is possible to instruct framework on how to set the time and timezone in /etc/frameworkd.conf :
+
opkg update
  
[otimed]
+
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:
# a list of time/zone sources to use or NONE
+
timesources = GPS,NTP
+
zonesources = GSM
+
# use an ip address here, otherwise DNS resolution will block
+
ntpserver = 134.169.172.1
+
+
To disable automatic date/zone settings, simply create an empty [otimed] section in /etc/frameworkd.conf
+
  
===File transfer===
+
opkg list > packages.txt
  
After you have established network connection, it is very easy to access and transfer files. The easiest solution is to use Konqueror or Nautilus on your desktop computer and type the following on your location bar. This should provide you with a view of the client's file system on Konqueror or Nautilus and you can easily drag-drop and copy-paste files.
+
Then you can search quickly for package name, for example for [[Navit|navit]]:
  
    sftp://root@192.168.0.202
+
grep navit packages.txt
  
===Reporting bugs===
+
====SwapSpace====
 
+
SHR is a work in progress. If you experience issues, please report them back to SHR. With your report provide logs from
+
 
+
/var/log/ophonekitd
+
/var/log/frameworkd
+
 
+
To report a bug, please go to http://shr-project.org/trac/report
+
  
Check if the bug is already reported. If not, add a ticket, be as much precise as you can in the title and the description, in what circumstances the issue happened and so on.
+
When the RAM is used up, applications get killed. This is particularly bad while doing opkg upgrade. Therefore you might want to create a swap space. Read [[SwapSpace]] article or the [http://shr-project.org/trac/wiki/swap swap article on the SHR wiki].
  
 
==Settings==
 
==Settings==
Line 310: Line 359:
 
SHR Settings is the main setting application of SHR. 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).
 
SHR Settings is the main setting application of SHR. 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).
  
Please refer to [http://wiki.openmoko.org/wiki/FSO_Resources#Automatic_way this wiki page] about a better way to manage preventing screen dim or suspend.
+
Please refer to [[#FSO_Resources | this section]] about a better way to manage preventing screen dim or suspend.
  
 
While some settings are persistent over reboots, others are not.
 
While some settings are persistent over reboots, others are not.
  
 
====Main Screen====
 
====Main Screen====
The main screen is divided into eight categories, which contain several modules. Every SHR Settings module has a specified task - for example controlling the GSM antenna power, setting the time etc.  
+
The main screen is divided into eight categories, which contain several modules. Every SHR Settings module has a specified task - for example controlling the GSM antenna power, setting the time etc.
  
====Settings: Phone====
+
====Phone====
 
Here you can set if the GSM antenna is on and if your phone number is shown  when you call someone.
 
Here you can set if the GSM antenna is on and if your phone number is shown  when you call someone.
  
Line 347: Line 396:
 
'''Phoneutils'''
 
'''Phoneutils'''
  
For the default SHR phone applications to be able to correctly parse incoming calls/messages and match them with your contacts, you will need to set the right country code for your location. (for example 42 for Czech republic) for more info, please go to: http://wiki.openmoko.org/wiki/Phone_Prefixes
+
For the default SHR phone applications to be able to correctly parse incoming calls/messages and match them with your contacts, you will need to set the right country code for your location. (for example 420 for Czech republic) for more info, please go to: http://wiki.openmoko.org/wiki/Phone_Prefixes
  
 
'''SIM'''
 
'''SIM'''
  
 
Here you can view some informations about your SIM card and clean phone and messagebooks.
 
Here you can view some informations about your SIM card and clean phone and messagebooks.
+
 
====Settings: Profiles====
+
====Profiles====
  
 
Here you can select the current profile, which the device should use to determine ring tone etc.
 
Here you can select the current profile, which the device should use to determine ring tone etc.
Line 385: Line 434:
 
|}
 
|}
  
====Settings: Connectivity====
+
====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%; "
 
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
Line 416: Line 465:
 
To power up Bluetooth module, switch the "Bluetooth radio" toggle to "On". After that, the "Visibility" toggle should arrive - set it to "On" if you want your FR to be visible by other Bluetooth devices on scanning.
 
To power up Bluetooth module, switch the "Bluetooth radio" toggle to "On". After that, the "Visibility" toggle should arrive - set it to "On" if you want your FR to be visible by other Bluetooth devices on scanning.
  
====Settings: Power====
+
====Power====
  
 
'''Battery'''
 
'''Battery'''
Line 442: Line 491:
 
[[Image:SHR-Settings-Timeouts.png |200px|thumb|Timeouts]]
 
[[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'''
 
'''Timeouts'''
  
Here you can set up values of idle timeouts used by the 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 :
+
Timeouts are reached in this order: Busy state -> idle -> idle dim -> idle prelock -> lock -> suspend.  
 +
 
 +
{{Note|Storing of this setting via D-bus calls is not supported in the new API of Vala rewrite of FSO2 and therefore SHR Settings doesn't have a functional setting for this.}}
 +
 
 +
You can set values of idle timeouts manually. The default parameters are stored in '''/etc/freesmartphone/conf/GTA02/fsodeviced.conf''' but customized '''.fsodeviced.conf''' file in your home directory will take precedence (if it exists, the one in /etc/... will be ignored, so you have to copy the whole file and tweak it):
  
 
  [fsodevice.kernel_idle]
 
  [fsodevice.kernel_idle]
Line 456: Line 507:
 
  idle_dim = 20
 
  idle_dim = 20
  
====Settings: Appearance====
+
To turn off a timeout, set it to -1.
 +
 
 +
====Appearance====
  
 
'''Theming'''
 
'''Theming'''
 
[[Image:SHR-Neo-Theme.png|200px|thumb|Neo theme]]
 
[[Image:SHR-Neo-Theme.png|200px|thumb|Neo theme]]
Find available themes by running
 
  
opkg list | grep theme
+
The Apperance section allows you to change between installed themes. To install more themes, see also [[#Installing themes | Installing themes]].
  
For example the '''GRY''' theme has the following packeges:
+
You can change finger size - this will mainly effect vertical spacing between widgets.
  
e-wm-theme-illume-gry
+
Switching between engines:
elementary-theme-gry
+
shr-theme-gry
+
  
Plus some other -dev , -doc, -locale and some more packages.
+
E can be switched to use different engines. The default engine is x11. Alternative engine x11-16 is not supported and results in buggy behavior of several applications, for example the phone suite or Ventura browser. It's usage is not recommended.
  
====Settings: Position====
+
Changing system boot Splash screen is also possible in this module. To install more splash screens, see also [[#Installing splash screen themes|Installing splash themes]].
 +
 
 +
====Position====
  
 
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
 
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
Line 488: Line 540:
 
'''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 force set it to on or off.
+
By default, GPS is turned on only when requested by an application. That state corresponds to "Auto" setting. After changing to "Manual", you can force set it to on or off.
  
 
'''GPS information'''
 
'''GPS information'''
  
This page can be used to monitor GPS status.
+
This page can be used to monitor GPS status. You either have to turn GPS on manually or start another application to enable the GPS.
  
 
You can also view information about every visible satellite and check, which are used for getting a fix. To do that, click "Satellite details".
 
You can also view information about every visible satellite and check, which are used for getting a fix. To do that, click "Satellite details".
Line 500: Line 552:
 
Assisted GPS ([[aGPS]]) support GPS receiver to find position by non-satellite information.
 
Assisted GPS ([[aGPS]]) support GPS receiver to find position by non-satellite information.
  
'''Save downloaded maps of TangoGSP on Memory Card'''
+
====Date/time====
 
+
By default, TangoGPS will save your downloaded maps in /home/root/Maps. But it'll be inconvenient if you flash again. You can change the path of folder Maps into a folder we created in Memory Card by using Config (Map Repositories) of TangoGPS.
+
 
+
Otherwise, if you have a problem that can't change in that way. Don't be upset, there's another way. First you create a folder <tt>Maps</tt> on Memory Card:
+
  mkdir /media/mmcblk0/Maps
+
Then you have to delete folder <tt>Maps</tt> in your home directory (e.g <tt>/home/root/Maps</tt> if it exists.
+
  rm -R /home/root/Maps
+
Then we'll create a symbolic link ("-s") for the created Maps folder on Memory Card in your the home directory of root on the Phone by
+
  ln -s /media/mmcblk0/Maps /home/root/Maps
+
That should be fine. From now, everytime when you download new maps, it'll be saved directly to folder <tt>Maps</tt> on Memory Card.
+
 
+
<i>Note:</i> repeat the second and the third step (remove Maps in home/root and create link) have to be repeated if you want to link to the downloaded maps for TangoGPS after flashing phone.
+
 
+
====Settings: Date/time====
+
  
 
[[Image:SHR-Settings-Date-Time.png |200px|thumb|Date & Time]]
 
[[Image:SHR-Settings-Date-Time.png |200px|thumb|Date & Time]]
Line 528: Line 566:
 
This module displays the current date.
 
This module displays the current date.
  
====Settings: Others====
+
====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%; "
 
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
Line 536: Line 574:
 
'''PIM'''
 
'''PIM'''
  
Every opimd domain has different backends to store its 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.
+
Pim data are stored in opimd domains. Every opimd domain has different backends to store its data to. The domain reads data from every backend and writes data to the default backend. This elector allows you to  choose the backend that stores newly generated data, it doesn't copy or move existing data to a different backend.
  
 
'''Services'''
 
'''Services'''
 +
 +
The services selector is listing scripts from /etc/init.d/ directory.
 +
 +
After clicking on a servis, you can either start, restart or stop the service and view the result.
  
 
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
 
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
Line 552: Line 594:
 
|}
 
|}
  
Here is listed every interesting script from /etc/init.d/ directory.
 
 
After clicking on one, you can either start, restart or stop the service and view the result.
 
  
 
'''Userspace backups'''
 
'''Userspace backups'''
Line 562: Line 601:
 
=== Illume settings ===
 
=== Illume settings ===
  
The Illume desktop can be easily customized - slide the top shelf down and tap the Settings icon (SHR logo).
+
The Illume desktop can be easily customized - tap the Settings icon (SHR Logo) on the Top Shelve.
  
'''Illume settings''' (the wrench) 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 view more options on the right hand side.
+
'''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 view more options on the right hand side.
  
The little applets in the top shelf (for example Battery, GSM, Bluetooth etc.)  are called '''shelf gadgets''' and you can configure whether they are visible (on the front part of the top shelf) or hidden (you can access them by sliding the top shelf) through Illume Settings -> Display -> Shelf gadget.
+
Some setting screens are not resized properly to fit the phone's display - for example the Wallpapper setting. This is a known bug already reported upstream.
 
+
Some screens are not resized properly to fit the phone's display - for example the Wallpapper setting. This is a known bug already reported upstream.
+
  
 
<!-- [[Image:SHR-Top-Shelve.png|200px|thumb|Top Shelf]] -->
 
<!-- [[Image:SHR-Top-Shelve.png|200px|thumb|Top Shelf]] -->
 +
 +
==Localization==
 +
 +
=== Localize SHR manually ===
 +
 +
[[Image:SHR-Illume-Settings-Languages.png|200px|thumb|Setting Language]]
 +
 +
====Desktop environment====
 +
 +
You can change the language of the SHR desktop environment by using the Settings of Illume. For Example, for Czech language: in the Illume top shelf go to Settings (SHR Logo) -> 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 eglibc-locale-
 +
 +
And install the language of your choice (for example czech):
 +
 +
opkg install eglibc-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 of your desktop.
 +
 +
====Applications====
 +
 +
If you wish to have other applications localized, you need to install translation for each of them (presuming it is available):
 +
 +
This will install czech localization for SHR phone applications, SHR Settings and TangoGps:
 +
 +
opkg install libframeworkd-phonegui-efl-locale-cs shr-settings-locale-cs tangogps-locale-cs
 +
 +
====Terminal environment====
 +
 +
For localized terminal environment (ssh login) set lang variables in /etc/profile.d/locale.sh, example for Czech language:
 +
 +
export LANG=cs_CZ
 +
export LC_ALL=cs_CZ
 +
 +
====Illume keyboard and dictionaries====
 +
[[Image:Illume-keyboards-terminal-dutch-nl-screenshot.png| Dutch terminal virtual keyboard|256px|thumb]]
 +
→ more details on page [[Illume keyboard]]
 +
 +
Unlike other input methods for mobile devices, the Illume keyboard is corrective rather than predictive. It detects what you mean, even if some letters mistyped. If you accidently hit some keys next to the correct one Illume still recognizes the word. This kind of input method compensates for the small size of the keys. Keep a key pressed for a longer time to affirm you really mean it.
 +
 +
An English dictionary is used by default. A few dictionaries for other languages are included in the SHR distribution. In addition, every dictionary for [http://en.wikipedia.org/wiki/MySpell myspell] can be used.
 +
 +
You can install a different keyboard with a layout which fits your language or alternatives for the default keyboards like the numerical one. The localized [[Illume keyboard]]s are available in the SHR repository under the name ''illume-keyboard-LANG''.
 +
 +
==== German (and Austria) Language ====
 +
 +
See [[Configure_SHR_for_German-speaking_use]] for detailed customization for german speaking.
 +
 +
===Date and time===
 +
{{Note|This needs a complete and correct rewrite.}}
 +
 +
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.
 +
 +
The local timezone is automatically retrieved from the GSM network.
 +
 +
It is possible to instruct framework on how to set the time and timezone in /etc/frameworkd.conf :
 +
 +
[otimed]
 +
# a list of time/zone sources to use or NONE
 +
timesources = GPS,NTP
 +
zonesources = GSM
 +
# use an ip address here, otherwise DNS resolution will block
 +
ntpserver = 134.169.172.1
 +
 +
To disable automatic date/zone settings, simply create an empty [otimed] section in /etc/frameworkd.conf
 +
 +
Timezone change
 +
 +
Create a symlink named /etc/localtime which points to the appropriate file in /usr/share/zoneinfo. For example, if you're in France., the following command will link the correct zoneinfo file to your /etc/localtime, giving you the correct time:
 +
 +
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
 +
 +
Afterwards, edit /etc/timezone if necessary [?]
 +
 +
Local timezone work instantly for the current boot when:
 +
 +
TZ="Europe/Paris"
 +
export TZ
 +
 +
For a permanent timezone change edit /etc/profile and change to:
 +
 +
TZ="Europe/Paris"
 +
 +
 +
If you use UTC time, set '''UTC=yes''' in '''/etc/default/rcS'''.
 +
 +
Adjusting time manually:
 +
 +
Via SHR-Settings -> Date/time -> Set time
 +
 +
From the Freerunner console:
 +
 +
date -s "YYYY-MM-DD hh:mm"
 +
 +
From linux based desktop:
 +
 +
ssh root@192.168.0.202 "date -u -s `date -u +%m%d%H%M%Y.%S`"
 +
 +
The above does NOT work from Ubuntu as of 4/2/2010, the proper format is:
 +
 +
ssh root@192.168.0.202 "date -u -s `date -u +%Y.%m.%d-%H:%M:%S`"
 +
 +
Set the hardware clock to the system time:
 +
 +
hwclock --systohc
 +
 +
Is this better?:
 +
 +
hwclock --utc --systohc
  
 
==FSO Resources==
 
==FSO Resources==
  
FSO is in control of each device. These are called ''resources''. If the software wanting to use the device is capable of requesting this resource via <tt>d-bus</tt>, FSO will do this, otherwise you might need to power the device manually. After the requested resource is released, FSO will power it down. Manual resource request can be done through ''SHR Setting'' or you can use <tt>fsoraw</tt> command. (Using fsoraw is faster and better then running dbus commands)
+
[[FSO]] is in control of each device. These are called ''resources''. If the software wanting to use the device is capable of requesting this resource via <tt>d-bus</tt>, FSO will do this, otherwise you might need to power the device manually. After the requested resource is released, FSO will power it down. Manual resource request can be done through ''SHR Setting'' or you can use <tt>fsoraw</tt> command. (Using fsoraw is faster and better than running dbus commands)
  
 
  opkg install fsoraw
 
  opkg install fsoraw
Line 586: Line 736:
 
'''Wifi'''
 
'''Wifi'''
  
Unless this resource is enabled you've no eth0 and wifi module is completely un-powered. Use the network manager to set up networks, [[Mokonnect]] will power Wifi up automatically when needed.
+
Unless this resource is enabled you've no eth0 and wifi module is completely un-powered. Use the [[Mokonnect]] network manager to set up networks, it will power Wifi up automatically when needed.
  
 
'''Bluetooth'''
 
'''Bluetooth'''
Line 606: Line 756:
 
'''CPU'''
 
'''CPU'''
  
Default rules.yaml checks for this resource to disable automatic suspend when it's requested. While this resource is kept suspend is disabled (but screen can be blanked).
+
While this resource is requested then suspend is disabled. Display will blank as normal.
  
 
'''Test'''
 
'''Test'''
  
A test resource
+
A test resource.
 +
 
 +
'''UsbHost'''
 +
 
 +
While this resource is requested the USB is turned into powered USB Host mode.
 +
 
 +
'''Accelerometer'''
 +
 
 +
You need to have this resource requested to have the Accelerometer module powered.
 +
 
 +
==Networking==
 +
 
 +
There are several ways of networking - Wifi, USB, Bluetooth and Gprs:
 +
 
 +
===USB===
 +
 
 +
By default, USB networking is enabled in <tt>/etc/network/interfaces</tt>, where enhanced configuration can be direct edited. The phone default IP address is 192.168.0.202. Some setup is required on the desktop side, please read [[USB Networking]].
 +
 
 +
{{Note|IP adresses are changed in new SHR-CORE images (after 110822), phone 192.168.7.2 host: 192.168.7.1}}
 +
 
 +
===WiFi===
 +
 
 +
WiFi manager [[iliwi]] is available by default for search/connect/making default a wifi connection. ''iliwi'' uses key only in hex format. The Wifi device is not required to be manually turned on via SHR-Settings as ''iliwi'' will automatically enable the device when needed and disable it after use. iliwi needs to stay running to keep the WiFi connection enabled.
  
==Network manager==
+
When WiFi is connected, the Idle screen show the icon of the WiFi resource being occupied.
  
While there are several ways of networking - Wifi, USB, Bluetooth and Gprs - By default, USB networking is enabled in <tt>/etc/network/interfaces</tt>.
+
===GPRS===
  
Enhanced configuration is possible through direct editing of /etc/network/interfaces or through [[Mokonnect]].
+
GPRS Credentials are set during the first run in SHR Wizard and you may edit them at any time via SHR settings or direct editing of /etc/phonefsod.conf. GPRS connection can then be established/closed via SHR Settings or through SHR Quick Settings (available under the Power button). SHR Quick Settings - Network tab allows also connection sharing - this will share the GPRS connection with USB network and run DHCP server to provide the client with an IP address.
  
The <tt>connmand</tt> daemon with Mokonnect are the recommended user level applications for setting up networking. At the moment, Mokonnect can manage USB, Wifi and Gprs connections, as well as routing and NAT. The Wifi device is not required to be manually turned on via SHR-Settings as Mokonnect will automatically enable the device when needed and disable it after use.
+
When GPRS is connected, the idle screen shows a small G above the signal strength indicator.
  
 
{| class="wikitable" cellspacing="0" cellpadding="0" style="padding: 0%; margin:0em 0em 1em 0em; border:1px solid #c0c0c0; background:#eeeeee; floating="center";width:100%; "
 
{| 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% " |
 
! 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]]
+
[[Image:SHR-Gprs-Share.png|200px|thumb|GPRS + Connection sharing]]
  
 
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:33% " |  
 
! style="background:#fcfcfc;border-left:1px solid #9999cc;border-right:1px ; border-top:2px solid 75d806; border:0px solid #222222; width:33% " |  
+
[[Image:SHR-Iliwi-Scan.png|200px|thumb|Iliwi WiFi scanning]]
[[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% " |  
 
! 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]]
+
[[Image:SHR-Iliwi-Connect.png|200px|thumb|Iliwi WiFi connecting]]
 
+
  
 
|}
 
|}
Line 638: Line 808:
 
==Bluetooth==
 
==Bluetooth==
  
Bluetooth can be used for several different applications - file transfer, networking, HIDD, music playing (A2DP), calling etc. In some occasions, the devices need to be authorized - paired. At the moment, support for some bluetooth functions is better than for others - it is possible to do all mentioned above with the notice that phone calls with bluetooth headset are always routed to the bluetooth even if it is not around, making it quite difficult to use.
+
Bluetooth can be used for several different applications - file transfer (OBEX), networking, input devices (HIDD), music playing (A2DP), calling etc. In some occasions, the devices need to be authorized - paired. At the moment, support for some bluetooth functions is better than for others - it is possible to do all mentioned above with the notice that phone calls with bluetooth headset are always routed to the bluetooth even if the bluetooth headset is not around, making it quite difficult to use.
  
Don't forget you need to turn the bluetooth radio on in SHR Settings -> Connectivity -> Bluetooth Radio: On, where you can also make the bluetooth device visible.
+
In the SHR repositories are applications ready to be installed (by opkg) that already do provide bluetooth support. This means that they request the bluetooth resource automatically, can search bluetooth devices around, help you with pairing and can perhaps even reconnect bluetooth headset upon resume from suspend.  From applications that have some bluetooth support some are for example [[Launcher]] (home screen launcher and phone suite), [[Podboy]] (podcast player), [[Emtooth]] (bluetooth manager). In order to set up bluetooth for phone calls, some manual setup from [[#GSM_phone_calls_with_bluetooth_headset | bellow]] is still required.
  
SHR uses bluez4 which is completely different from bluez3. The bluetoothd is taking care of most of the bluetooth now. Please see [[Manually using Bluetooth]] for detailed information about using bluetooth and also for a list of supported devices.
+
===Bluez3 - the manual non D-Bus way===
  
===OBEX file transfer===
+
If you want to use the bluetooth device directly, you need to turn the bluetooth radio on in SHR Settings -> Connectivity -> Bluetooth Radio: On. You can also make the bluetooth device visible here.
 +
 
 +
====OBEX file transfer====
  
 
There are several obex programs allowing file transfer, all in console at the moment. Obexpush installs obextool, and opd daemon:
 
There are several obex programs allowing file transfer, all in console at the moment. Obexpush installs obextool, and opd daemon:
Line 662: Line 834:
 
  00:16:41:F5:A5:BC laptop
 
  00:16:41:F5:A5:BC laptop
  
Then send it onto bt address found in the scan:
+
Then send the file onto bluetooth address found in the scan:
  
 
  obextool push image.jpg 00:16:41:F5:A5:BC 10
 
  obextool push image.jpg 00:16:41:F5:A5:BC 10
  
===Connect Bluetooth keyboard===
+
====Connect Bluetooth keyboard====
  
 
  hidd --search
 
  hidd --search
  
Editors note: This is the old bluez3 way, but it works. New bluez4 way will replace this.
+
Editors note: This is the old bluez3 way, but it works. New bluez4 way will replace this.
  
===Pairing===
+
===Bluez4 - D-Bus based way===
  
This comes from [[Manually_using_Bluetooth#Once_Again.2C_Bluetooth_Headset_on_Freerunner]]
+
SHR uses bluez4 which is completely different from bluez3. The bluetoothd is taking care of most of the bluetooth now. Please see [[Manually using Bluetooth]] for detailed information about using bluetooth and also for a list of supported devices.
  
Now, you must pair the bluetooth headset with your phone. Make sure the bluetooth chip is powered up (can be done through the Connectivity section in the SHR-Unstable settings manager) and that bluetoothd is running:
+
====Pairing====
/etc/init.d/bluetooth start
+
Now, to actually pair the bluetooth headset, you will need the simple-agent script. If you already have it, excellent. If you, like me, do not, then you can get it here: http://dl.getdropbox.com/u/453116/simple-agent
+
  
Put it in /usr/bin/ and run ===chmod a+x /usr/bin/simple-agent===
+
[[Emtooth]] is a bluetooth manager. It provides setting up bluetooth device name, pairing/unpairing, visibility setting and more. Install Emtooth:
  
Now put your headset into pairing mode and run
+
opkg install emtooth2
  
hcitool scan
+
It will discover nearby devices, double tapping on found device will initiate pairing process.
  
Find your headset and use its address in the command
+
====GSM with bluetooth headset====
  
simple-agent hci0 XX:XX:XX:XX:XX:XX
+
In order to use bluetooth headset for phone calls, several simple steps need to be done.
  
If you give a third parameter (what it is doesn't matter) to simple-agent, it will disconnect then reconnect to the headset (reset pairing).
+
1). Your bluetooth headset device must be [[#Pairing | paired]] first.
  
===GSM phone calls with bluetooth headset===
+
2). [[#Configuring_FSO | Add]] your bluetooth headset into FSO configuration.
  
Your bluetooth headset device must be paired first.
 
 
====Configuring bluez====
 
 
Older SHR releases you need to uncomment <tt>SCORouting=PCM</tt> setting in <tt>[General]</tt> section of
 
 
/etc/bluetooth/audio.conf
 
 
like this:
 
 
# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA) 
 
# Defaults to HCI                                                             
 
SCORouting=PCM                                                                 
 
 
do not forget to restart bluetoothd after that.
 
  
  # /etc/init.d/bluetooth stop
+
  Please note: phonecalls are now always routed to the bluetooth headset.  
  # /etc/init.d/bluetooth start
+
  After startup and after every resume, the headset needs to be [[#Re-Connecting_the_bluetooth_headset |reconnected]].
  
====Configuring FSO====
+
=====Configuring FSO=====
  
 
Now we must tell frameworkd that you have a bluetooth headset. Headset parameters should be set in
 
Now we must tell frameworkd that you have a bluetooth headset. Headset parameters should be set in
Line 738: Line 893:
 
  bt-headset-address: 00:09:DD:31:92:98
 
  bt-headset-address: 00:09:DD:31:92:98
  
====Re-Connecting the bt device====
+
=====Re-Connecting the headset=====
  
 
You might need to get the bluetooth headset connected manually on the beginning and also after suspend:
 
You might need to get the bluetooth headset connected manually on the beginning and also after suspend:
  
  mdbus -s org.bluez /org/bluez/`pidof bluetoothd`/hci0/dev_xx_xx_xx_xx_xx_xx org.bluez.Headset.Connect
+
  mdbus -s org.bluez $BTADAPTER/dev_xx_xx_xx_xx_xx_xx org.bluez.Headset.Connect
  
 
where xx_xx_xx_xx_xx_xx is address of the device, for example:
 
where xx_xx_xx_xx_xx_xx is address of the device, for example:
  
  mdbus -s org.bluez /org/bluez/`pidof bluetoothd`/hci0/dev_00_09_DD_31_92_98 org.bluez.Headset.Connect
+
  mdbus -s org.bluez $BTADAPTER/dev_00_09_DD_31_92_98 org.bluez.Headset.Connect
  
 
Hopefully, your bluetooth headset now works. Good luck!
 
Hopefully, your bluetooth headset now works. Good luck!
Line 752: Line 907:
 
==System Customizing==
 
==System Customizing==
  
===Changing the splash screen===
+
===Command scheduling===
  
list available splash screen themes
+
The traditional ''at'' command in ''SHR'' is modified to work over dbus. This modified ''at_over_dbus'' will run scheduled task at required time - actually it will even automatically wake up the phone from suspend or  start it if the phone was switched off.
  
opkg list | grep splash-theme
+
To schedule a command to be executed at a particular time, one must:
  
and install one of the available themes
+
Place commands in a script in ''/var/spool/at'' and name it like
  
opkg install shr-splash-theme-dontpanic
+
TIMESTAMP.NAME.NUMBER
  
Then go to SHR Settings -> Appearance -> Splash settings. Here you can preview installed themes and change the default one.
+
where
  
===Enable mouse cursor===
+
where TIMESTAMP is the seconds since 1970-01-01 00:00:00 UTC when the command should be run.
 +
The rest (NAME, NUMBER) is up to you. Finally you have to:
  
edit line 121 of /etc/X11/Xinit and erase -hide-cursor
+
touch /var/spool/at/trigger
  
ARGS="$ARGS -dpi ${DPI} -screen ${SCREEN_SIZE} -mouse tslib -root-ppm /usr/share/pixmaps/xsplash-vga.ppm vt1"
+
Also, make sure to have atd running. You are responsible to remove the script when unnecessary. It will run once more if you/other program write to the trigger file during the execution, so you may consider removing the
           
+
executable flag of the script (if it is long running) or rename the script from within for example like this:
===Speedup of suspend and wake up===
+
  
Some setup types of the bootloader are causing slow suspending and waking up through a long console output. ([http://shr-project.org/trac/ticket/351 bug report]) This occurs when using the the Qi bootloader in combination with an installation on an SD card and when using the u-boot bootloader.  
+
  mv "$0" "x$0.$$"
  
If you are using Qi and installation on a µSD card, you can change the kernel parameterin /boot/append-GTA02 to:
+
===Installing splash screen themes===
  
loglevel=1
+
List available splash screen themes
  
===Disable the standard Lock Screen===
+
opkg list | grep splash-theme
  
And go back to the old LOCKED again
+
Install one of the available themes
  
Edit '''/etc/phonefsod.conf''' to this:
+
opkg install shr-splash-theme-dontpanic
  
# when to show idle screen
+
Then go to '''SHR Settings -> Appearance -> Splash settings'''. Here you can preview installed themes and change the default one.
# ...
+
# idle_screen = aux,lock
+
idle_screen =
+
  
You need to restart phonefsod to make the change happen.
+
===Installing themes===
  
In '''Illume Settings''' => '''Input''' => '''Key Bindings''', bind the key '''XF86Phone''' to '''Desktop Simple Lock'''
+
Every theme is made of several components (a theme for illume, theme for the phone applications, theme for etk and so on). There is a SHR metapackage for each theme that allows installing the complete theme in one go.
  
===Opimd utils===
+
List available SHR theme metapackages:
  
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
+
opkg list | grep shr-theme
that is much better then the standard one.
+
  
For further Information refer to the corresponding [[Opimd|Wiki Page]].
+
Install one of the available themes
opkg install opimd-utils
+
  
{{Note| opimd-utils isn't announced yet! It can eat your cat! Don't touch it unless you are opimd developer or you are writing app with opimd support.
+
opkg install shr-theme-gry
  
'''NOTE 2:''' In order to have sound and vibration on incoming message when using opimd interface, you have to patch oeventsd with patch available at [http://openmoko.opendevice.org/~dos/opimd/oeventsd/]
+
Then go to '''SHR Settings -> Appearance -> Elementary Settings'''. Here you can preview installed themes and choose the preferred one.
  
'''NOTE 3:''' For testing and development opimd recommended distribution is ''upgraded'' SHR unstable.
+
The Illume screen requires to change theme via '''Settings (SHR Logo) -> Look -> Theme'''. Here you can preview installed themes and choose the preferred one.
}}
+
  
===opkg upgrade issues===
+
===Enable mouse cursor===  
  
{{Note|<br>Image unstable/testing december and previously:<br>Before upgrading (via opkg), you should go to "Settings"->"Power" and change "Auto-suspend" to "Off", or else your phone will suspend while upgrading.<br><br>Former images:<br>If "Auto-suspend" can not be found, you must prevent the phone from suspending while upgrading. Tap shortly (within 1-2 seconds?) on the just blackened screen to prevent suspending. After the upgrade the "Auto-suspend" settings will be available.<br><br>The unwanted suspending while upgrading can be avoided by using the below alias.
+
edit line 143 of /etc/X11/Xserver and erase '''-nocursor'''
}}
+
  
You can request the CPU resource (temporary non-suspend) while executing opkg by inserting this in file /etc/profile :
+
  ARGS="$ARGS"
  alias opkg="fsoraw -f -r CPU -- opkg"
+
  
To make the alias work at once for the current boot execute:
 
alias opkg="fsoraw -f -r CPU -- opkg"
 
Source: spaetz
 
  
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
 
 
for pkg in `opkg list_upgradable | awk '!/(kernel|Multiple)/ {print $1}'`
 
do
 
echo "installing pack $pkg"
 
opkg install $pkg -force-reinstall
 
done
 
 
Force reinstall all installed packages:
 
 
#!/bin/sh
 
 
for pkg in `opkg list_installed | awk '!/(kernel|Multiple)/ {print $1}'`
 
do
 
echo "installing pack $pkg"
 
opkg install $pkg -force-reinstall
 
done
 
  
 
===Random errors===
 
===Random errors===
No icons, no GSM functions etc. - this is mostly due to '''errors on your µSD''' 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.
+
No icons, no GSM functions etc. happen mostly due to '''errors on your µSD''' 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
 
For reboot into nand and fix 1st partition of ext2 on your card
Line 849: Line 972:
 
  fsck.ext2 /dev/mmcblk0p1
 
  fsck.ext2 /dev/mmcblk0p1
  
=== Adding your phone to your hosts ===
+
===GSM modem 1024 suspend bug===
  
You can add your phone to your hosts file for a name resolving:
+
The calypso GSM modem suffers a known [[1024]] hardware bug that causes unreliable GSM function. To work around it, SHR by default doesn't suspend the modem completely. If you have undertaken a fix for this bug you can extend your battery time by enabling the modem to fully suspend when possible.
  
You can use the name <tt>neo</tt> if you added the host <tt>neo</tt> in <tt>/etc/hosts</tt> on your desktop computer (add the following line for host <tt>neo</tt> assuming that the IP-address of your phone is <tt>192.168.0.202</tt>.
+
Edit the following in file:
echo "192.168.0.202 neo neo" >> /etc/hosts
+
  
You can then access your phone like this:
+
For the new FSO2 edit /etc/freesmartphone/conf/GTA02/fsogsmd.conf
  
  ssh root@neo
+
  deep_sleep == "always"
  
Which is shorter than this:
+
Then kill fsogsmd and restart fsodeviced - or reboot the phone.
  
ssh root@192.168.0.202
 
  
==== .ssh/config as an alternative ====
+
For old FSO (frameworks) edit /etc/frameworkd.conf
  
An alternative way is to add your phone to your ~/.ssh/config file.
+
ti_calypso_deep_sleep = always
  
This does not get lost after a reinstallation of your system.
+
Then restart framework or reboot the phone.
  
If the config does not exist yet, create one and paste this into it:
+
==Reporting bugs==
  
Host neo
+
SHR is a work in progress. If you experience issues, please report them back to SHR. With your report provide relevant logs from
HostName 192.168.0.202
+
Compression no
+
User root
+
  
'''Note''': Compression no does disable ssh compression as your neo is slow enough.
+
/var/log/
  
Now you can access your phone like this:
+
To report a bug, please go to http://shr-project.org/trac/report
 
+
ssh neo
+
  
Which is shoter than this ;)
+
Check if the bug is already reported. If not, add a ticket, be as much precise as you can in the title and the description, in what circumstances the issue happened and so on. If bug already exists, see if you can help fixing it by providing some fresh info.
  
ssh root@neo
+
==More information==
  
==Installing Software==
+
For SHR home page, source code and other resources, visit:
  
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
+
* [http://trac.shr-project.org SHR Project Homepage]
 +
* [http://blog.shr-project.org SHR Blog]
 +
* [http://trac.shr-project.org Trac Bugtracker]
 +
* [http://git.shr-project.org Git Sourcecode-repository]
 +
* [http://build.shr-project.org Downloads on buildhost]
 +
* [http://lists.shr-project.org SHR User and Development Mailing Lists]
  
opkg install packagekitd
+
==About this manual==
  
If you wan to use opkg after you used the installer, make sure packagekitd is not running
+
This manual makes use of the updated SHR-Unstable distribution which means that for example SHR-Testing or not updated SHR-Unstable might behave differently then stated in this manual.
  
killall packagekitd
+
Please help extending this manual by correcting typos or discussing proposals on the talk page or email <tt>vanous @ penguin . cz</tt>. Thank you.
  
 
[[Category:SHR]]
 
[[Category:SHR]]
 +
[[Category:Manuals]]

Latest revision as of 08:28, 26 September 2012

Contents

[edit] SHR Introduction

Welcome to SHR, a community driven distribution for (not only) Openmoko, HTC Dream, PalmPré and Nokia n900 phones.


SHR

SHR (Stable Hybrid Release) is here to provide you with Root FileSystem images that you can easily install into your device to use as a daily phone and PDA. There are many prepackaged programs available 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 (SHR-U) is a testing environment before software gets stabilized and it is the main testing ground for FSO releases. SHR testing (SHR-T) images provide as much stability as possible for day-to-day usage. Some users find the SHR-U releases preferable for everyday use. [1]

NOTE: In meanwhile SHR-U and SHR-T are no longer supported. SHR-CORE is now the official distribution and is developed by the same developers which developed SHR-U and SHR-T. So please use the new SHR-CORE images.


[edit] Installation

Use Qi as bootloader to avoid GPS problems on suspend/resume. Switch off you freerunner (if necessary) and start NOR uBoot by pressing AUX and Power-On at the same time and then start dfu-util on your computer with the following parameters for GTA2:

 # dfu-util -a u-boot -R -D qi-s3c2442-master-hist_3b8513d8b3d9615e.udfu

See Flashing the Neo FreeRunner or Flashing the Neo 1973 for more details on flashing your phone.

[edit] Getting SHR

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 the microSD card, you need to either get .jffs2 file for NAND or .tar.gz file for microSD.

- Get the latest kernel from the below linkpages. Starts with uImage-...

- Get the root filesystem:

  • After 110822:
    • for NAND jffs2: .rootfs.jffs2
    • for NAND ubifs: .rootfs.ubi
    • for µSD tar.gz: .rootfs.tar.gz
    • for µSD ubifs (ubi or ubifs?): .rootfs.?
  • Before 110822. (Those are full images. You can also choose images with less packages, marked as lite):
    • for NAND jffs2: full-om-gta0_.jffs2
    • for NAND ubifs: full-om-gta0_.ubi
    • for µSD tar.gz: full-om-gta0_.tar.gz
    • for µSD ubifs (ubi or ubifs?): full-om-gta0_.?
GTA02 Neo FreeRunner
GTA01 Neo 1973
Image lite to image full

If you flashed a lite image and want to upgrade to the full image run:

opkg update
opkg install task-shr-apps task-shr-games task-shr-gtk
Kernel modules

The images of the filesystems mentioned above (.jffs2, .tar.gz), already contain the newest kernel modules.

Get the new kernel modules if you only want to flash a new kernel, but not a whole new file system. From the same page as the kernel download the modules to match your kernel (their dates should be the same). Use sftp to put that file on the FreeRunner via the usb connection. Run gzip to unwrap the modules:

# gzip -dc modules-...tar.gz | tar -xf - -C /

[edit] 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 ) as described above and flash your device using the dfu-util tool.

Please visit Flashing the Neo FreeRunner for more details about flashing and see Dfu-util for detailed information about the dfu-util.

NOTE: Your battery must be charged (sufficiently) before NAND flashing. Symptom of insufficient charge: Your progress bar "####" stops while flashing. If so, you must charge, and later you should be able to make the complete flash.


Commands to flash the filesystem and the kernel:

for the GTA02 Neo FreeRunner (jffs2 filesystem):

# dfu-util -d 0x1d50:0x5119 -a rootfs -R -D full-om-gta02.jffs2
# dfu-util -d 0x1d50:0x5119 -a kernel -R -D uImage-om-gta02-latest.bin

for the GTA02 Neo FreeRunner (ubi filesystem):

# dfu-util -d 0x1d50:0x5119 -a u-boot -R -D qi-ubi-s3c2442.udfu (only first time)
# dfu-util -d 0x1d50:0x5119 -a kernel -R -D uImage-om-gta02-latest.bin
# dfu-util -d 0x1d50:0x5119 -a rootfs -R -D full-om-gta02.ubi
# make shure that Qi is booting the NAND ( remove sd card or touch /boot/noboot-GTA02 )

for the GTA01 Neo 1973:

# dfu-util -d 0x1457:0x5119 -a rootfs -R -D full-om-gta01.jffs2
# dfu-util -d 0x1457:0x5119 -a kernel -R -D uImage-om-gta01-latest.bin
NOTE: If you get the error message while flashing:

Starting download: [##############################dfu_download error -84
Error during download

It is most likely caused by trying to flash an image that is too large.


[edit] Installation on the microSD Card

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

In simple words, the difference between both systems resides on how you must prepare your microSD Card and files you use to fill them:

[edit] uBoot and SHR on microSD Card

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

[edit] Qi and SHR on microSD Card

If you use Qi, you only need an ext2 partition (e.g. with fdisk) into your µSD Card.

 # mkfs.ext2 /dev/sde1

If your µSD Card drive has the device name /dev/sde1. Download shr-image-om-gta02.tar.gz. Uncompress the filesystem image file (shr-image-om-gta02.tar.gz) on the µSD Card (e.g. with a µSD-SD-Card-Adapter on your Linux Desktop Computer. Insert the µSD Card back into your Freerunner and boot your Neo.

In this case Qi Bootloader is going to look for the kernel image into the /boot directory for file named uImage-GTA02.bin .

[edit] Bootloaders

Make sure you have recent and correct versions of uBoot or Qi installed, please visit the links for detailed information and tips. For example Android uses modified Qi which can cause you troubles when using SHR.

[edit] SHR version

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

timestamp of image creation:

cat /etc/timestamp

latest shr version from opkg upgrade (this version is changed everytime someone builds task-base on shr buildhost):

cat /etc/shr-version
NOTE: Please note that this is true only for shr-u, with shr-t running opkg update;opkg upgrade does not change the SHR version. Only flashing or a new image download can change the SHR version. But this will be also merged to shr-t later.


[edit] Running SHR

[edit] First boot

SHR Boot Splash screen

First boot usually takes a bit longer as your phone's new software needs to do some initial setting up. It is recommended to reboot after this first boot (and after the initial setup), to make sure that all packages get initialized properly. The application switching shelve (shr_elm_softkey) doesn't show up during first boot when the initial wizards are at work, reboot is required and then application switching works as expected.

[edit] Initial Setup

During the first run, Setup is automatically initiated to walk the user through basic setup of the Enlightenment desktop environment. These steps vary as both Enlightenment desktop and SHR evolve, at this point preferred language and desktop profile options are available. The Profile offers to choose a preconfigured way of displaying the desktop. Illume2-SHR (with continuous development) and Illume-SHR (discontinued) profiles are available. Illume2-SHR is the recommended Profile.

language selection
theme selection
SHR Wizard

Note, you may need to ssh into the device and run /usr/bin/xinput_calibrator_once.sh if calibration is wrong. I found this using a Neo1973 and SHR images from around May 2010.

[edit] SHR Wizard

After the initial Setup, SHR Setting Wizard is launched to allow setting up your local phone settings and setting up root password. Sometimes a Please wait message is displayed for a long time, as the wizzard is waiting for the SIM card to be initialized.

[edit] First look

Desktop screen
Task switch buttons

[edit] Illume desktop

Illume desktop is the default home screen of the SHR desktop.

Application definition files located in /usr/share/applications are displayed here as icons. All applications are ran fullscreen and you can switch between them by using the the < left or right > arrows on sliding shelve available by tapping Top Shelf on any empty space. To close applications, choose X from the same sliding shelve.

If tapping Top Shelf on an empty space the sliding shelve doesn't appear then you can activate it opening a Terminal and giving this command:

killall shr_elm_softkey ; shr_elm_softkey &


Several icons (e-gadgets) are placed in the Top Shelve:

The L icon is to switch between left/right mouse click. By taping this icon the icon gets changed to R and next tap will be as right click. After the click, the behavior is automatically switched back to Left click so any following taps are left click again.

Mode Switch Icon allows to split the screen horizontally or vertically, thus allowing to display two applications at the same time.

Keyboard icon pops up or hides the Keyboard.

Illume Settings icon (represented by SHR logo) invokes the Illume desktop settings.

Home Icon allows quick go to the home desktop/application.

GSM and Battery status icons, as well as time are displayed by default, Bluetooth and WiFi status icons available in the setting of the Top Shelve content.


To reconfigure the Top Shelve itself, use the L/R click icon to Right click on the Top Panel and choose: Illume Indicator->Set Content to add or remove items from the Top Panel. Or, upon right click on the Top Panel you can also choose Illume Indicator->Begin Move/Resize to move your icons around. To escape this mode, you must click on the L/R gadget's edge, it will switch to L, then choose R again, right click on the Top Panel and select Illume Indicator->Stop Move/Resize.

[edit] Keyboard

Keyboard comes up automagically when a text field is tapped or you can also toggle the keyboard by it's icon in the Top Shelve. In the Keyboard, dictionary switcher is the arrow-up on left side, alternative keyboard layouts are under the ABC button on the right. The Default keyboard has English dictionary enabled. For Space quick slide left-to-right, for Enter, quick slide up-down, to quick change keyboard layout quick slide down-up. While typing with a dictionary enabled keyboard, possible word options start appearing in the keyboard's upper part or more word options are available under the arrow-up on the left. When happy with the word, tap it, it will be pasted into the text field with a space attached. The Keyboard and dictionary can easily be localized.

Problem with external USB keyboard mapping (arrows keys doesn't work) can be solved with this little script.

[edit] Copy and Paste

In E based applications, for example the phone suite (contacts, messages...), by tapping and holding down for over two seconds the Select-Paste menu will pop up. By pressing Select, you can now swipe through the text to select desirable part. Tap and hold down again, Copy-Cut-Cancel menu will appear to Copy to clipboard. Another long tap will provide Select-Paste for Paste.

In Gtk based application, you can use keyboard for Ctrl-C (Copy) and Ctrl-V (Paste) or items in Menu if provided.

In the Vala Terminal, you can select simply by swiping through the text and for Paste there is an icon in the menu bar of this application.

Copy & Paste between different toolkits has some limitations. See the table below. In Ventura, select is possible, but copy/paste doesn't seem to work at all.

From -> To to GTK to E to Terminal
from GTK Works Works Doesn't work
from E Doesn't work Works Works
from Terminal Doesn't work Works Works

[edit] Alarm

The Alarms application (installed by default) allows alarm presetting for single or repeatable alarms. If you set an alarm and turn your Openmoko FreeRunner off, at the time of the alarm the phone will be powered up and alarm will sound.

[edit] Phone applications

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

Dialer
Contacts
Messages
Phone log


[edit] PIM data
[edit] Storage

PIM data (contacts, messages etc.) are stored through internal opimd storage mechanism into

/etc/freesmartphone/opim/pim.db

This database can easily be copied from one SHR installation to another, for example due to a need for reflashing. The Contacts application can display a picture of the contact. As the pim.db database contains a path to the picture files only but not the pictures themselves, therefore, in case of PIM data backup or transfer, these picture files need to be copied too.

[edit] SIM Contacts

SHR phone applications do not read SIM contacts by default but you can use SIM Manager to access your SIM contacts SHR Settings -> Others -> SIM Manager, which allows you to edit and import the SIM contacts into the internal storage. You can also use Pisi to import your SIM contacts into opimd.

[edit] Synchronization

Pisi is an application for synchronizing PIM data and can be used for import and export your contacts, calendar entries etc. between various sources, like VCF, LDAP, Google and more. To install Pisi:

opkg install pisi

After installation, edit Pisi configuration in .pisi/conf in your home directory. To have a correct opimd fields support, make sure field_support=TRUE is enabled in opimd section.

With the installed package you have a well-documented sample that is placed at

 /usr/share/doc/pisi/conf.example

You may copy the file and rename this file to

 /home/root/.pisi/conf

as a starting point - then edit this file in order to configure your PIM synchronization data sources. Look at section

[opimd]
description=OPIMD Contacts
module=contacts_opimd
field_support=TRUE
[edit] Idle screen
Idle Screen with GSM operator strength and name. GPS, WiFi, Display and CPU are requested, Battery status.

Upon press of the AUX button Idle Screens locks up the display. AUX press or a finger slide on the Slider unlocks the screen.

At the top, status icons are shown to indicate what is going on in the phone:

From left to right: GSM strength and operator. Requested Resources (GPS, Display etc., when for example Display is requested, the screen will not dim). Battery capacity.

[edit] Hardware Buttons

[edit] Power Button
Quick Settings

The PWR (Power) button is mapped to start Quick Settings screen (Illume System menu in older versions) on a short press.

Mapping of the PWR button be configured via the Illume Settings-> Input -> Key Bindings.

Pressing the Power button for longer then 8 seconds will force a complete power down of the device. This is hardconfigured in the kernel.

The Quick Settings screen provides several toggles: Airplane mode, Phone profiles, Power settings and Power buttons.

[edit] Auxiliary Button

The AUX (Auxiliary) button is mapped to toggle on/off the SHR Idle screen. Mapping of this button is configured in /etc/phonefsod.conf

idle_screen = aux,lock

You can configure the Idle Screen to come up even during active phone call by adding phone to the setting:

idle_screen = aux,lock, phone

The Idle Screen shows current date and time, missed calls and messages and also what FSO resources are currently being requested - used.

[edit] Replacing idle screen

If you wish to use the E simple LOCKED screen instead of the SHR Idle Screen, edit /etc/phonefsod.conf to this:

# when to show idle screen
# ...
# idle_screen = aux,lock
idle_screen =

You need to restart phonefsod to make the change happen.

Also, change key mapping for the AUX button by setting Illume Settings -> Input -> Key Bindings, bind the key XF86Phone to Desktop Simple Lock

[edit] Settings applications

Many desktop and phone settings are possible to do via graphical interface. SHR Settings provides access to most common phone personality settings and is accessible by tapping Settings icon on the desktop. Illume settings (and Enlightenment desktop settings) are accessible on Top shelve by tapping the "SHR Logo" icon. Also, FSO and SHR phoneui applications have configuration files in /etc where some of the above mentioned apps write and that can be edited manually.

[edit] First steps

Right after installation and first boot you might want to do a few initial steps like adjusting the call volume and some other tasks.

[edit] Audio - Call Volume

During the first phone call please use the Volume and Mic sliders on the Active Call Screen and adjust them to fit your preferences. The new improved settings will be used for all in/out-going calls thereafter.

[edit] Network Connection

Establish network connection and SSH into your phone. You can establish connection either via USB to your desktop and enable NAT or you can connect through Wifi.

[edit] Initializing the opkg database

Initialize the opkg database in order to install some applications from SHR repositories or from other sources, for example opkg.org. While being online, you need to 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

[edit] SwapSpace

When the RAM is used up, applications get killed. This is particularly bad while doing opkg upgrade. Therefore you might want to create a swap space. Read SwapSpace article or the swap article on the SHR wiki.

[edit] Settings

[edit] SHR Settings

SHR Settings

SHR Settings is the main setting application of SHR. 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).

Please refer to this section about a better way to manage preventing screen dim or suspend.

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

[edit] Main Screen

The main screen is divided into eight categories, which contain several modules. Every SHR Settings module has a specified task - for example controlling the GSM antenna power, setting the time etc.

[edit] Phone

Here you can set if the GSM antenna is on and if your phone number is shown when you call someone.

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 a while, a list of operators should pop up.

You can't connect to operators marked [forbidden].

Selecting an operator from the 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")

Phoneutils

For the default SHR phone applications to be able to correctly parse incoming calls/messages and match them with your contacts, you will need to set the right country code for your location. (for example 420 for Czech republic) for more info, please go to: http://wiki.openmoko.org/wiki/Phone_Prefixes

SIM

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

[edit] Profiles

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

Current profile

Here you can adjust properties of the currently used profile.

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

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

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

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 that it's a ! used and not a | to construct the gstreamer pipe command.

Profiles
Ringtones

[edit] Connectivity

Connectivity top
Connectivity bottom

WiFi

With the "WiFi radio" toggle you can set, if the wifi module is powered. WiFi radio has to be turned on before trying to connect to a WiFi network, unless you try to connect through Mokonnect which is capable of powering it up.

GPRS

To enter APN, login and password fields, just click on the actual value (default: "internet"). Your phone provider can provide the required configuration options.

NOTE: You can also use Mokonnect to manage your GPRS 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, switch the "Bluetooth radio" toggle to "On". After that, the "Visibility" toggle should arrive - set it to "On" if you want your FR to be visible by other Bluetooth devices on scanning.

[edit] Power

Battery

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

Here you can also force enable 500mA charging.

Display

With this slider you can easily set the backlight brightness.

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


Power

Power
Timeouts

Timeouts

Timeouts are reached in this order: Busy state -> idle -> idle dim -> idle prelock -> lock -> suspend.

NOTE: Storing of this setting via D-bus calls is not supported in the new API of Vala rewrite of FSO2 and therefore SHR Settings doesn't have a functional setting for this.


You can set values of idle timeouts manually. The default parameters are stored in /etc/freesmartphone/conf/GTA02/fsodeviced.conf but customized .fsodeviced.conf file in your home directory will take precedence (if it exists, the one in /etc/... will be ignored, so you have to copy the whole file and tweak it):

[fsodevice.kernel_idle]
suspend = 20
lock = 2
idle_prelock = 12
idle = 10
idle_dim = 20

To turn off a timeout, set it to -1.

[edit] Appearance

Theming

Neo theme

The Apperance section allows you to change between installed themes. To install more themes, see also Installing themes.

You can change finger size - this will mainly effect vertical spacing between widgets.

Switching between engines:

E can be switched to use different engines. The default engine is x11. Alternative engine x11-16 is not supported and results in buggy behavior of several applications, for example the phone suite or Ventura browser. It's usage is not recommended.

Changing system boot Splash screen is also possible in this module. To install more splash screens, see also Installing splash themes.

[edit] Position

GPS
GPS Satelite details

GPS

By default, GPS is turned on only when requested by an application. That state corresponds to "Auto" setting. After changing to "Manual", you can force set it to on or off.

GPS information

This page can be used to monitor GPS status. You either have to turn GPS on manually or start another application to enable the GPS.

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

Remove AGPS data If you experience problems with GPS, turn it off, click "Remove AGPS data" and reboot your Neo. Assisted GPS (aGPS) support GPS receiver to find position by non-satellite information.

[edit] Date/time

Date & Time

Time

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

After finishing adjusting, click the "OK" button.

Date

This module displays the current date.

[edit] Others

Others

PIM

Pim data are stored in opimd domains. Every opimd domain has different backends to store its data to. The domain reads data from every backend and writes data to the default backend. This elector allows you to choose the backend that stores newly generated data, it doesn't copy or move existing data to a different backend.

Services

The services selector is listing scripts from /etc/init.d/ directory.

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

Services
Services debug screen


Userspace backups

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

[edit] Illume settings

The Illume desktop can be easily customized - tap the Settings icon (SHR Logo) on the Top Shelve.

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 view more options on the right hand side.

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


[edit] Localization

[edit] Localize SHR manually

Setting Language

[edit] Desktop environment

You can change the language of the SHR desktop environment by using the Settings of Illume. For Example, for Czech language: in the Illume top shelf go to Settings (SHR Logo) -> 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 eglibc-locale-

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

opkg install eglibc-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 of your desktop.

[edit] Applications

If you wish to have other applications localized, you need to install translation for each of them (presuming it is available):

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

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

[edit] Terminal environment

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

export LANG=cs_CZ
export LC_ALL=cs_CZ

[edit] Illume keyboard and dictionaries

Dutch terminal virtual keyboard

→ more details on page Illume keyboard

Unlike other input methods for mobile devices, the Illume keyboard is corrective rather than predictive. It detects what you mean, even if some letters mistyped. If you accidently hit some keys next to the correct one Illume still recognizes the word. This kind of input method compensates for the small size of the keys. Keep a key pressed for a longer time to affirm you really mean it.

An English dictionary is used by default. A few dictionaries for other languages are included in the SHR distribution. In addition, every dictionary for myspell can be used.

You can install a different keyboard with a layout which fits your language or alternatives for the default keyboards like the numerical one. The localized Illume keyboards are available in the SHR repository under the name illume-keyboard-LANG.

[edit] German (and Austria) Language

See Configure_SHR_for_German-speaking_use for detailed customization for german speaking.

[edit] Date and time

NOTE: This needs a complete and correct rewrite.


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.

The local timezone is automatically retrieved from the GSM network.

It is possible to instruct framework on how to set the time and timezone in /etc/frameworkd.conf :

[otimed]
# a list of time/zone sources to use or NONE
timesources = GPS,NTP
zonesources = GSM
# use an ip address here, otherwise DNS resolution will block
ntpserver = 134.169.172.1

To disable automatic date/zone settings, simply create an empty [otimed] section in /etc/frameworkd.conf

Timezone change

Create a symlink named /etc/localtime which points to the appropriate file in /usr/share/zoneinfo. For example, if you're in France., the following command will link the correct zoneinfo file to your /etc/localtime, giving you the correct time:

ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime

Afterwards, edit /etc/timezone if necessary [?]

Local timezone work instantly for the current boot when:

TZ="Europe/Paris"
export TZ

For a permanent timezone change edit /etc/profile and change to:

TZ="Europe/Paris"


If you use UTC time, set UTC=yes in /etc/default/rcS.

Adjusting time manually:

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

From the Freerunner console:

date -s "YYYY-MM-DD hh:mm"

From linux based desktop:

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

The above does NOT work from Ubuntu as of 4/2/2010, the proper format is:

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

Set the hardware clock to the system time:

hwclock --systohc

Is this better?:

hwclock --utc --systohc

[edit] FSO Resources

FSO is in control of each device. These are called resources. If the software wanting to use the device is capable of requesting this resource via d-bus, FSO will do this, otherwise you might need to power the device manually. After the requested resource is released, FSO will power it down. Manual resource request can be done through SHR Setting or you can use fsoraw command. (Using fsoraw is faster and better than running dbus commands)

opkg install fsoraw

Example of usage fsoraw:

fsoraw -r Display mokomaze

See FSO Resources for more details on using the following resources:

Wifi

Unless this resource is enabled you've no eth0 and wifi module is completely un-powered. Use the Mokonnect network manager to set up networks, it will power Wifi up automatically when needed.

Bluetooth

You need to have this resource requested to have bluetooth module powered.

GPS

The fso-gpsd is a daemon waiting for gsmd connections, automatically powering the device on and off. When a connection exists, it powers up the GSM. In SHR Settings you can switch GPS completely off SHR Settings -> GPS -> Manual > Off

GSM

You need to have this resource requested to have GSM module powered.

Display

While this resource is requested the display won't be blanked and suspend is disabled.

CPU

While this resource is requested then suspend is disabled. Display will blank as normal.

Test

A test resource.

UsbHost

While this resource is requested the USB is turned into powered USB Host mode.

Accelerometer

You need to have this resource requested to have the Accelerometer module powered.

[edit] Networking

There are several ways of networking - Wifi, USB, Bluetooth and Gprs:

[edit] USB

By default, USB networking is enabled in /etc/network/interfaces, where enhanced configuration can be direct edited. The phone default IP address is 192.168.0.202. Some setup is required on the desktop side, please read USB Networking.

NOTE: IP adresses are changed in new SHR-CORE images (after 110822), phone 192.168.7.2 host: 192.168.7.1


[edit] WiFi

WiFi manager iliwi is available by default for search/connect/making default a wifi connection. iliwi uses key only in hex format. The Wifi device is not required to be manually turned on via SHR-Settings as iliwi will automatically enable the device when needed and disable it after use. iliwi needs to stay running to keep the WiFi connection enabled.

When WiFi is connected, the Idle screen show the icon of the WiFi resource being occupied.

[edit] GPRS

GPRS Credentials are set during the first run in SHR Wizard and you may edit them at any time via SHR settings or direct editing of /etc/phonefsod.conf. GPRS connection can then be established/closed via SHR Settings or through SHR Quick Settings (available under the Power button). SHR Quick Settings - Network tab allows also connection sharing - this will share the GPRS connection with USB network and run DHCP server to provide the client with an IP address.

When GPRS is connected, the idle screen shows a small G above the signal strength indicator.

GPRS + Connection sharing
Iliwi WiFi scanning
Iliwi WiFi connecting

[edit] Bluetooth

Bluetooth can be used for several different applications - file transfer (OBEX), networking, input devices (HIDD), music playing (A2DP), calling etc. In some occasions, the devices need to be authorized - paired. At the moment, support for some bluetooth functions is better than for others - it is possible to do all mentioned above with the notice that phone calls with bluetooth headset are always routed to the bluetooth even if the bluetooth headset is not around, making it quite difficult to use.

In the SHR repositories are applications ready to be installed (by opkg) that already do provide bluetooth support. This means that they request the bluetooth resource automatically, can search bluetooth devices around, help you with pairing and can perhaps even reconnect bluetooth headset upon resume from suspend. From applications that have some bluetooth support some are for example Launcher (home screen launcher and phone suite), Podboy (podcast player), Emtooth (bluetooth manager). In order to set up bluetooth for phone calls, some manual setup from bellow is still required.

[edit] Bluez3 - the manual non D-Bus way

If you want to use the bluetooth device directly, you need to turn the bluetooth radio on in SHR Settings -> Connectivity -> Bluetooth Radio: On. You can also make the bluetooth device visible here.

[edit] OBEX file transfer

There are several obex programs allowing file transfer, all in console at the moment. Obexpush installs obextool, and opd daemon:

opkg install obexpush

Default receiving path (editable in /etc/default/opd_args ) does not exist, so create it

mkdir /var/obexpush

Files are then received automatically, no notice, no confirmation... they just silently appear in /var/obexpush

To send some files, first scan for devices:

hcitool scan
Scanning ...
	00:16:41:F5:A5:BC	laptop

Then send the file onto bluetooth address found in the scan:

obextool push image.jpg 00:16:41:F5:A5:BC 10

[edit] Connect Bluetooth keyboard

hidd --search
Editors note: This is the old bluez3 way, but it works. New bluez4 way will replace this.

[edit] Bluez4 - D-Bus based way

SHR uses bluez4 which is completely different from bluez3. The bluetoothd is taking care of most of the bluetooth now. Please see Manually using Bluetooth for detailed information about using bluetooth and also for a list of supported devices.

[edit] Pairing

Emtooth is a bluetooth manager. It provides setting up bluetooth device name, pairing/unpairing, visibility setting and more. Install Emtooth:

opkg install emtooth2

It will discover nearby devices, double tapping on found device will initiate pairing process.

[edit] GSM with bluetooth headset

In order to use bluetooth headset for phone calls, several simple steps need to be done.

1). Your bluetooth headset device must be paired first.

2). Add your bluetooth headset into FSO configuration.


Please note: phonecalls are now always routed to the bluetooth headset. 
After startup and after every resume, the headset needs to be reconnected.
[edit] Configuring FSO

Now we must tell frameworkd that you have a bluetooth headset. Headset parameters should be set in

/etc/freesmartphone/opreferences/conf/phone/default.yaml

Parameters bt-headset-enabled and bt-headset-address (see opreferences/schema/phone.yaml for semantics).

You need to restart FSO for the changes to take effect.

# /etc/init.d/frameworkd restart

example of my /etc/freesmartphone/opreferences/conf/phone/default.yaml:

message-length: 7
message-tone: notify_message.wav
message-vibration: 1
message-volume: 10
ring-loop: 1
ring-tone: ringtone_ringnroll.wav
ring-vibration: 1
ring-volume: 10
bt-headset-enabled: 1
bt-headset-address: 00:09:DD:31:92:98
[edit] Re-Connecting the headset

You might need to get the bluetooth headset connected manually on the beginning and also after suspend:

mdbus -s org.bluez $BTADAPTER/dev_xx_xx_xx_xx_xx_xx org.bluez.Headset.Connect

where xx_xx_xx_xx_xx_xx is address of the device, for example:

mdbus -s org.bluez $BTADAPTER/dev_00_09_DD_31_92_98 org.bluez.Headset.Connect

Hopefully, your bluetooth headset now works. Good luck!

[edit] System Customizing

[edit] Command scheduling

The traditional at command in SHR is modified to work over dbus. This modified at_over_dbus will run scheduled task at required time - actually it will even automatically wake up the phone from suspend or start it if the phone was switched off.

To schedule a command to be executed at a particular time, one must:

Place commands in a script in /var/spool/at and name it like

TIMESTAMP.NAME.NUMBER

where

where TIMESTAMP is the seconds since 1970-01-01 00:00:00 UTC when the command should be run. The rest (NAME, NUMBER) is up to you. Finally you have to:

touch /var/spool/at/trigger

Also, make sure to have atd running. You are responsible to remove the script when unnecessary. It will run once more if you/other program write to the trigger file during the execution, so you may consider removing the executable flag of the script (if it is long running) or rename the script from within for example like this:

 mv "$0" "x$0.$$"

[edit] Installing splash screen themes

List available splash screen themes

opkg list | grep splash-theme

Install one of the available themes

opkg install shr-splash-theme-dontpanic

Then go to SHR Settings -> Appearance -> Splash settings. Here you can preview installed themes and change the default one.

[edit] Installing themes

Every theme is made of several components (a theme for illume, theme for the phone applications, theme for etk and so on). There is a SHR metapackage for each theme that allows installing the complete theme in one go.

List available SHR theme metapackages:

opkg list | grep shr-theme

Install one of the available themes

opkg install shr-theme-gry

Then go to SHR Settings -> Appearance -> Elementary Settings. Here you can preview installed themes and choose the preferred one.

The Illume screen requires to change theme via Settings (SHR Logo) -> Look -> Theme. Here you can preview installed themes and choose the preferred one.

[edit] Enable mouse cursor

edit line 143 of /etc/X11/Xserver and erase -nocursor

ARGS="$ARGS"


[edit] Random errors

No icons, no GSM functions etc. happen mostly due to errors on your µSD 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

[edit] GSM modem 1024 suspend bug

The calypso GSM modem suffers a known 1024 hardware bug that causes unreliable GSM function. To work around it, SHR by default doesn't suspend the modem completely. If you have undertaken a fix for this bug you can extend your battery time by enabling the modem to fully suspend when possible.

Edit the following in file:

For the new FSO2 edit /etc/freesmartphone/conf/GTA02/fsogsmd.conf

deep_sleep == "always"

Then kill fsogsmd and restart fsodeviced - or reboot the phone.


For old FSO (frameworks) edit /etc/frameworkd.conf

ti_calypso_deep_sleep = always

Then restart framework or reboot the phone.

[edit] Reporting bugs

SHR is a work in progress. If you experience issues, please report them back to SHR. With your report provide relevant logs from

/var/log/

To report a bug, please go to http://shr-project.org/trac/report

Check if the bug is already reported. If not, add a ticket, be as much precise as you can in the title and the description, in what circumstances the issue happened and so on. If bug already exists, see if you can help fixing it by providing some fresh info.

[edit] More information

For SHR home page, source code and other resources, visit:

[edit] About this manual

This manual makes use of the updated SHR-Unstable distribution which means that for example SHR-Testing or not updated SHR-Unstable might behave differently then stated in this manual.

Please help extending this manual by correcting typos or discussing proposals on the talk page or email vanous @ penguin . cz. Thank you.

Personal tools

Contents

SHR Introduction

Welcome to SHR, a community driven distribution for (not only) Openmoko Neo phones.

SHR

SHR (Stable Hybrid Release) is here to provide you with Root FileSystem images that you can easily install onto your phone to use as a daily phone. There are many prepackaged programs available 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 provide as much stability as possible for day-to-day usage.

SHR users, readers of this manual, please report improvements, discrepancies or missing features on this page to vanous @ penguin . cz. Thank you.

Installation

Getting SHR

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 the microSD card, you need to either get .jffs2 file for NAND or .tar.gz file for microSD.

For the GTA02 Neo FreeRunner you need to download the images of the:

- Get the latest kernel from the above linkpage. Starts with uImage-...

- Get the root filesystem, for NAND: full-om-gta02.jffs2, for µSD: full-om-gta02.tar.gz

The above are full images. You can also choose images with less packages, marked as lite which can be upgraded to the full image by running

# Please note #opkg_upgrade_issues
opkg update
opkg install task-shr-apps task-shr-games task-shr-gtk

- Get the kernel modules. From the same page, download the modules to match your kernel (their dates should be the same). Put that file on the FreeRunner and run

# gzip -dc modules-...tar.gz | tar -xf - -C /

Editors note: Running depmod should not be necessary, if it's needed, please report a bug. Recommending of the depmod command will be removed in near future.

GTA01 Neo 1973 images are at (20091130 future):

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 ) as described above and flash your device using the dfu-util tool.

Please visit Flashing the Neo FreeRunner for more details about flashing and see Dfu-util for detailed information about the dfu-util.

NOTE: Your battery must be charged (sufficiently) before NAND flashing. Symptom of insufficient charge: Your progress bar "####" stops while flashing. If so, you must charge, and later you should be able to make the complete flash.


Commands to flash the filesystem and the kernel:

Note that there are some issues using dfu-util with sudo.

Don't use sudo with dfu-util. Make sure you are root before using dfu-util!

for the GTA02 Neo FreeRunner:

# dfu-util -d 0x1d50:0x5119 -a rootfs -R -D full-om-gta02.jffs2
# dfu-util -d 0x1d50:0x5119 -a kernel -R -D uImage-om-gta02-latest.bin

for the GTA01 Neo 1973:

# dfu-util -d 0x1457:0x5119 -a rootfs -R -D full-om-gta01.jffs2
# dfu-util -d 0x1457:0x5119 -a kernel -R -D uImage-om-gta01-latest.bin

Installation on the microSD Card

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

In simple words, the difference between both systems resides on how you must prepare your microSD 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 or ext2 where you have to place the kernel file (uImage-om-gta02-latest.bin) and second partition in ext2 or ext3 where you have to uncompress the filesystem file (shr-image-om-gta02.tar.gz).
  • If you use Qi, you only need an ext2 partition into your µSD Card where you uncompress the filesystem image file (shr-image-om-gta02.tar.gz). In this case Qi Bootloader is going to look for the kernel image into the /boot directory for file named uImage-GTA02.bin .

Please visit the links below for detailed information and tips:

SHR version

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

cat /etc/shr-version
NOTE: Please note that running opkg update;opkg upgrade does not change the SHR version. Only flashing or a new image download can change the SHR version.


Initial Setup

SHR Boot Splash screen

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 and the theme. However both options are only offering one choice at the moment. It is recommended to reboot after this first boot, to make sure all packages got initialized properly.

language selection
choosing from two themes (from an older version of SHR)

Running SHR

First look

Desktop screen

Illume desktop is the 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 shelf or by using the < left or right > arrows in the top shelf.

Phone applications

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

Dialer
Contacts
Messages
View message

First steps

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

Network Connection

Establish network connection and SSH into your phone. 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

GSM Network

Check if GSM is working correctly - observe the GSM gadget in the Top shelf and see reported signal of your GSM operator. If GSM Gadget seems not be running, click Settings and later on Phone. Move GSM Antenna to On.

Audio: Volume

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/gsmhandset.state and change control 4. Values between from 105 to 120 might be sufficient:

vi /usr/share/shr/scenarii/gsmhandset.state

or if your release is >=: 091204?

vi /etc/freesmartphone/alsa/default/gsmhandset
	control.4 {
		comment.access 'read write'
		comment.type INTEGER
		comment.count 2
		comment.range '0 - 127'
		iface MIXER
		name 'Speaker Playback Volume'
		value.0 116
		value.1 116
	}

Should 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

Initializing the opkg database

Initialize the 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

Main article: SwapSpace


When the RAM is used up, applications get killed. This is particularly bad while doing opkg upgrade. Therefore you might want to create a swap space. Read SwapSpace

Changing the root password

Recent images will show up a prompt to change the root password during the first boot wizard. If for some reason this prompt doesn't show up you can change the password by using the terminal emulator in your SHR installation.

For older images, 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)

A much more convenient way might be to install your public-key to ~/.ssh/authorized_keys. You can find your public-key of you host at location:

 /path/file 

For running

cmd | ssh root@neo anycommand

from your host this might be even mandatory, e.g if you want to pipe anything to the ssh.

Localization

Localize SHR manually

Setting Language

You can change the language of the SHR desktop environment by using the Settings of Illume. For Example, for Czech language: in the Illume top shelf 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 eglibc-locale-

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

opkg install eglibc-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.

Dutch terminal virtual keyboard

Furthermore you can install a different keyboard with a layout which fits your language or alternatives for the default keyboards like the numerical one. The localized Illume keyboards are available in the SHR repository under the name illume-keyboard-LANG.

Note that sometimes after an upgrade of Illume has taken place, these keyboards have to be installed again before the become available again. Removing these packages will restore the availability of the respective original keyboards.

German (and Austria) Language

Find a hopefully stable SHR German language version with Austrian Maps here. The configuration can be used for any German speaking country. The Austrian maps for Navit can be replaced and Navit is "speaking" German. Navit is configured with a preselect of country "Austria" (see Navit), There are some differences between dictionary de_AT (Austria) and de_DE (Germany).

Date and time

The local timezone is automatically retrieved from the GSM network.

create a symlink named /etc/localtime which points to the appropriate file in /usr/share/zoneinfo. For example, if you're in France., the following command will link the correct zoneinfo file to your /etc/localtime, giving you the correct time:

ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime

Afterwards, edit /etc/timezone if necessary [?]

Local timezone work instantly for the current boot when:

TZ="Europe/Paris"
export TZ

For a permanent timezone change edit /etc/profile and change to:

TZ="Europe/Paris"

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

Is this better?:

hwclock --utc --systohc

It is possible to instruct framework on how to set the time and timezone in /etc/frameworkd.conf :

[otimed]
# a list of time/zone sources to use or NONE
timesources = GPS,NTP
zonesources = GSM
# use an ip address here, otherwise DNS resolution will block
ntpserver = 134.169.172.1

To disable automatic date/zone settings, simply create an empty [otimed] section in /etc/frameworkd.conf

File transfer

After you have established network connection, it is very easy to access and transfer files. The easiest solution is to use Konqueror or Nautilus on your desktop computer and type the following on your location bar. This should provide you with a view of the client's file system on Konqueror or Nautilus and you can easily drag-drop and copy-paste files.

   sftp://root@192.168.0.202

Reporting bugs

SHR is a work in progress. If you experience issues, please report them back to SHR. With your report provide logs from

/var/log/ophonekitd
/var/log/frameworkd

To report a bug, please go to http://shr-project.org/trac/report

Check if the bug is already reported. If not, add a ticket, be as much precise as you can in the title and the description, in what circumstances the issue happened and so on.

Settings

SHR Settings

SHR Settings

SHR Settings is the main setting application of SHR. 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).

Please refer to this wiki page about a better way to manage preventing screen dim or suspend.

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

Main Screen

The main screen is divided into eight categories, which contain several modules. Every SHR Settings module has a specified task - for example controlling the GSM antenna power, setting the time etc.

Settings: Phone

Here you can set if the GSM antenna is on and if your phone number is shown when you call someone.

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 a while, a list of operators should pop up.

You can't connect to operators marked [forbidden].

Selecting an operator from the 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")

Phoneutils

For the default SHR phone applications to be able to correctly parse incoming calls/messages and match them with your contacts, you will need to set the right country code for your location. (for example 42 for Czech republic) for more info, please go to: http://wiki.openmoko.org/wiki/Phone_Prefixes

SIM

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

Settings: Profiles

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

Current profile

Here you can adjust properties of the currently used profile.

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

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

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

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 that it's a ! used and not a | to construct the gstreamer pipe command.

Profiles
Ringtones

Settings: Connectivity

Connectivity top
Connectivity bottom

WiFi

With the "WiFi radio" toggle you can set, if the wifi module is powered. WiFi radio has to be turned on before trying to connect to a WiFi network, unless you try to connect through Mokonnect which is capable of powering it up.

GPRS

To enter APN, login and password fields, just click on the actual value (default: "internet"). Your phone provider can provide the required configuration options.

NOTE: You can also use Mokonnect to manage your GPRS 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, switch the "Bluetooth radio" toggle to "On". After that, the "Visibility" toggle should arrive - set it to "On" if you want your FR to be visible by other Bluetooth devices on scanning.

Settings: Power

Battery

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

Here you can also force enable 500mA charging.

Display

With this slider you can easily set the backlight brightness.

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


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 the 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 :

[fsodevice.kernel_idle]
suspend = 20
lock = 2
idle_prelock = 12
idle = 10
idle_dim = 20

Settings: Appearance

Theming

Neo theme

Find available themes by running

opkg list | grep theme

For example the GRY theme has the following packeges:

e-wm-theme-illume-gry
elementary-theme-gry
shr-theme-gry

Plus some other -dev , -doc, -locale and some more packages.

Settings: Position

GPS
GPS Satelite details

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 force set it to on or off.

GPS information

This page can be used to monitor GPS status.

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

Remove AGPS data If you experience problems with GPS, turn it off, click "Remove AGPS data" and reboot your Neo. Assisted GPS (aGPS) support GPS receiver to find position by non-satellite information.

Save downloaded maps of TangoGSP on Memory Card

By default, TangoGPS will save your downloaded maps in /home/root/Maps. But it'll be inconvenient if you flash again. You can change the path of folder Maps into a folder we created in Memory Card by using Config (Map Repositories) of TangoGPS.

Otherwise, if you have a problem that can't change in that way. Don't be upset, there's another way. First you create a folder Maps on Memory Card:

 mkdir /media/mmcblk0/Maps

Then you have to delete folder Maps in your home directory (e.g /home/root/Maps if it exists.

 rm -R /home/root/Maps

Then we'll create a symbolic link ("-s") for the created Maps folder on Memory Card in your the home directory of root on the Phone by

 ln -s /media/mmcblk0/Maps /home/root/Maps

That should be fine. From now, everytime when you download new maps, it'll be saved directly to folder Maps on Memory Card.

Note: repeat the second and the third step (remove Maps in home/root and create link) have to be repeated if you want to link to the downloaded maps for TangoGPS after flashing phone.

Settings: Date/time

Date & Time

Time

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

After finishing adjusting, click the "OK" button.

Date

This module displays the current date.

Settings: Others

Others

PIM

Every opimd domain has different backends to store its 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.

Services

Services
Services debug screen

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

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

Userspace backups

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

Illume settings

The Illume desktop can be easily customized - slide the top shelf down and tap the Settings icon (SHR logo).

Illume settings (the wrench) 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 view more options on the right hand side.

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

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


FSO Resources

FSO is in control of each device. These are called resources. If the software wanting to use the device is capable of requesting this resource via d-bus, FSO will do this, otherwise you might need to power the device manually. After the requested resource is released, FSO will power it down. Manual resource request can be done through SHR Setting or you can use fsoraw command. (Using fsoraw is faster and better then running dbus commands)

opkg install fsoraw

Example of usage fsoraw:

fsoraw -r Display mokomaze

See FSO Resources for more details on using the following resources:

Wifi

Unless this resource is enabled you've no eth0 and wifi module is completely un-powered. Use the network manager to set up networks, Mokonnect will power Wifi up automatically when needed.

Bluetooth

You need to have this resource requested to have bluetooth module powered.

GPS

The fso-gpsd is a daemon waiting for gsmd connections, automatically powering the device on and off. When a connection exists, it powers up the GSM. In SHR Settings you can switch GPS completely off SHR Settings -> GPS -> Manual > Off

GSM

You need to have this resource requested to have GSM module powered.

Display

While this resource is requested the display won't be blanked and suspend is disabled.

CPU

Default rules.yaml checks for this resource to disable automatic suspend when it's requested. While this resource is kept suspend is disabled (but screen can be blanked).

Test

A test resource

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.

The 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, as well as routing and NAT. The Wifi device is not required to be manually turned on via SHR-Settings as Mokonnect will automatically enable the device when needed and disable it after use.

Mokonnect
Mokonnect Wifi
Mokonnect Wifi Scan


Bluetooth

Bluetooth can be used for several different applications - file transfer, networking, HIDD, music playing (A2DP), calling etc. In some occasions, the devices need to be authorized - paired. At the moment, support for some bluetooth functions is better than for others - it is possible to do all mentioned above with the notice that phone calls with bluetooth headset are always routed to the bluetooth even if it is not around, making it quite difficult to use.

Don't forget you need to turn the bluetooth radio on in SHR Settings -> Connectivity -> Bluetooth Radio: On, where you can also make the bluetooth device visible.

SHR uses bluez4 which is completely different from bluez3. The bluetoothd is taking care of most of the bluetooth now. Please see Manually using Bluetooth for detailed information about using bluetooth and also for a list of supported devices.

OBEX file transfer

There are several obex programs allowing file transfer, all in console at the moment. Obexpush installs obextool, and opd daemon:

opkg install obexpush

Default receiving path (editable in /etc/default/opd_args ) does not exist, so create it

mkdir /var/obexpush

Files are then received automatically, no notice, no confirmation... they just silently appear in /var/obexpush

To send some files, first scan for devices:

hcitool scan
Scanning ...
	00:16:41:F5:A5:BC	laptop

Then send it onto bt address found in the scan:

obextool push image.jpg 00:16:41:F5:A5:BC 10

Connect Bluetooth keyboard

hidd --search

Editors note: This is the old bluez3 way, but it works. New bluez4 way will replace this.

Pairing

This comes from Manually_using_Bluetooth#Once_Again.2C_Bluetooth_Headset_on_Freerunner

Now, you must pair the bluetooth headset with your phone. Make sure the bluetooth chip is powered up (can be done through the Connectivity section in the SHR-Unstable settings manager) and that bluetoothd is running:

/etc/init.d/bluetooth start

Now, to actually pair the bluetooth headset, you will need the simple-agent script. If you already have it, excellent. If you, like me, do not, then you can get it here: http://dl.getdropbox.com/u/453116/simple-agent

Put it in /usr/bin/ and run ===chmod a+x /usr/bin/simple-agent===

Now put your headset into pairing mode and run

hcitool scan

Find your headset and use its address in the command

simple-agent hci0 XX:XX:XX:XX:XX:XX

If you give a third parameter (what it is doesn't matter) to simple-agent, it will disconnect then reconnect to the headset (reset pairing).

GSM phone calls with bluetooth headset

Your bluetooth headset device must be paired first.

Configuring bluez

Older SHR releases you need to uncomment SCORouting=PCM setting in [General] section of

/etc/bluetooth/audio.conf

like this:

# SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)   
# Defaults to HCI                                                               
SCORouting=PCM                                                                  

do not forget to restart bluetoothd after that.

# /etc/init.d/bluetooth stop
# /etc/init.d/bluetooth start

Configuring FSO

Now we must tell frameworkd that you have a bluetooth headset. Headset parameters should be set in

/etc/freesmartphone/opreferences/conf/phone/default.yaml

Parameters bt-headset-enabled and bt-headset-address (see opreferences/schema/phone.yaml for semantics).

You need to restart FSO for the changes to take effect.

# /etc/init.d/frameworkd restart

example of my /etc/freesmartphone/opreferences/conf/phone/default.yaml:

message-length: 7
message-tone: notify_message.wav
message-vibration: 1
message-volume: 10
ring-loop: 1
ring-tone: ringtone_ringnroll.wav
ring-vibration: 1
ring-volume: 10
bt-headset-enabled: 1
bt-headset-address: 00:09:DD:31:92:98

Re-Connecting the bt device

You might need to get the bluetooth headset connected manually on the beginning and also after suspend:

mdbus -s org.bluez /org/bluez/`pidof bluetoothd`/hci0/dev_xx_xx_xx_xx_xx_xx org.bluez.Headset.Connect

where xx_xx_xx_xx_xx_xx is address of the device, for example:

mdbus -s org.bluez /org/bluez/`pidof bluetoothd`/hci0/dev_00_09_DD_31_92_98 org.bluez.Headset.Connect

Hopefully, your bluetooth headset now works. Good luck!

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 -> Appearance -> Splash settings. Here you can preview installed themes and change the default one.

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"
           

Speedup of suspend and wake up

Some setup types of the bootloader are causing slow suspending and waking up through a long console output. (bug report) This occurs when using the the Qi bootloader in combination with an installation on an SD card and when using the u-boot bootloader.

If you are using Qi and installation on a µSD card, you can change the kernel parameterin /boot/append-GTA02 to:

loglevel=1

Disable the standard Lock Screen

And go back to the old LOCKED again

Edit /etc/phonefsod.conf to this:

# when to show idle screen
# ...
# idle_screen = aux,lock
idle_screen =

You need to restart phonefsod to make the change happen.

In Illume Settings => Input => Key Bindings, bind the key XF86Phone to Desktop Simple Lock

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.

For further Information refer to the corresponding Wiki Page.

opkg install opimd-utils
NOTE: opimd-utils isn't announced yet! It can eat your cat! Don't touch it unless you are opimd developer or you are writing app with opimd support.

NOTE 2: In order to have sound and vibration on incoming message when using opimd interface, you have to patch oeventsd with patch available at [1]

NOTE 3: For testing and development opimd recommended distribution is upgraded SHR unstable.


opkg upgrade issues

NOTE:
Image unstable/testing december and previously:
Before upgrading (via opkg), you should go to "Settings"->"Power" and change "Auto-suspend" to "Off", or else your phone will suspend while upgrading.

Former images:
If "Auto-suspend" can not be found, you must prevent the phone from suspending while upgrading. Tap shortly (within 1-2 seconds?) on the just blackened screen to prevent suspending. After the upgrade the "Auto-suspend" settings will be available.

The unwanted suspending while upgrading can be avoided by using the below alias.


You can request the CPU resource (temporary non-suspend) while executing opkg by inserting this in file /etc/profile :

alias opkg="fsoraw -f -r CPU -- opkg"

To make the alias work at once for the current boot execute:

alias opkg="fsoraw -f -r CPU -- opkg"

Source: spaetz

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

for pkg in `opkg list_upgradable | awk '!/(kernel|Multiple)/ {print $1}'`
do
	echo "installing pack $pkg"
	opkg install $pkg -force-reinstall
done

Force reinstall all installed packages:

#!/bin/sh

for pkg in `opkg list_installed | awk '!/(kernel|Multiple)/ {print $1}'`
do
	echo "installing pack $pkg"
	opkg install $pkg -force-reinstall
done

Random errors

No icons, no GSM functions etc. - this is mostly due to errors on your µSD 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

Adding your phone to your hosts

You can add your phone to your hosts file for a name resolving:

You can use the name neo if you added the host neo in /etc/hosts on your desktop computer (add the following line for host neo assuming that the IP-address of your phone is 192.168.0.202.

echo "192.168.0.202 neo neo" >> /etc/hosts

You can then access your phone like this:

ssh root@neo

Which is shorter than this:

ssh root@192.168.0.202

.ssh/config as an alternative

An alternative way is to add your phone to your ~/.ssh/config file.

This does not get lost after a reinstallation of your system.

If the config does not exist yet, create one and paste this into it:

Host neo
HostName 192.168.0.202
Compression no
User root

Note: Compression no does disable ssh compression as your neo is slow enough.

Now you can access your phone like this:

ssh neo

Which is shoter than this ;)

ssh root@neo

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