SHR

De openmoko-fr.

Sommaire

À propos

SHR (Stable Hybrid Release) est une distribution basée sur FSO. SHR est composé d'applications qui utilisent différentes librairies graphiques telles que GTK+ et ELF.

Captures d'écran

SHR testing (version du 3 mai 2009)


Installation

Il faut commencer par récupérer un noyau (uImage) ainsi que le fichier "image" (rootfs) contenant SHR puis de flasher votre freerunner avec les fichiers téléchargés.

Liens de téléchargement

Le dernier noyau pour le Neo 1973 (GTA-01)

Le dernier noyau pour le Neo FreeRunner (GTA02) [cliquez droit sur le lien pour enregistrer la cible...]

L'image SHR "Lite" pour le Neo 1973 (GTA-01)

L'image SHR "Lite" pour le Neo FreeRunner (GTA02)

L'image SHR pour le Neo 1973 (GTA-01) [Non trouvée] ==Epy 3 mars 2009 à 19:58 (UTC)

L'image SHR pour le Neo FreeRunner (GTA02)

Pour plus d'informations sur le contenu des différentes versions de la distribution SHR : rendez vous sur le wiki officiel SHR.

Compiler les sources

Si le cœur vous en dit, vous pouvez aussi recompiler les sources ...

Diagnostic

TODO

Mise à l'heure et fuseaux horaires

Dans la dernière version de SHR, la date et l'heure sont mise à jour automatiquement via le GPS. Il vous suffit de lancer une application utilisant le GPS, par exemple tangoGPS, et d'attendre un fix.

Vous pouvez aussi mettre manuellement votre heure système à l'heure UTC avec la commande "date -u" afin de profiter du passage automatique à l'heure d'été

date -u -s 200901022005
Fri Jan  2 20:05:00 UTC 2009

ensuite il faut mettre à jour le fuseau horaire

opkg install tzdata-europe
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime

Et voila l'heure de Paris!

Protocole sftp

Le server sftp n'est pas installé par défaut. Il est pourtant bien pratique pour transférer des fichiers en mode graphique depuis son PC host.

opkg install openssh-sftp-server

Changer le mot de passe root

Si vous vous connectez en WiFi à divers réseaux en lesquels vous n'avez pas confiance, il est indispensable de donner un mot de passe à l'utilisateur root (il n'y en a pas par défaut)

passwd

puis tapez votre mot de passe (2 fois)


Mettre à jour proprement

Rien n'est plus simple. Que ce soit depuis un terminal sur le FR (pas très pratique), ou en ssh, il suffit de faire un:

opkg update
opkg upgrade

Si votre gsm ne marche plus après upgrade il faut faire:

opkg install -force-reinstall fso-abyss libfsotransport0 fsousaged libgee0

Il arrive parfois que sur des mises à jour très conséquentes, opkg ait un problème de taille mémoire et plante. Vous avez alors 3 solutions:

mise à jour fractionnée

Commencer classiquement par

opkg update

ensuite mettez à jour les gros morceaux les uns après les autres:

opkg install connman
opkg install frameworkd-config-shr
opkg install libfsotransport0
opkg install shr-settings
opkg upgrade

Et d'autres morceaux si vous le souhaitez!

puis finissez la mise à jour par un classique

opkg upgrade

stopper le serverX

Il est vivement conseillé de stopper le serveur x avant de mettre à jour. Connectez vous en wifi ou via le port usb à votre freerunner via ssh.

Faites un:

 /etc/init.d/xserver-nodm stop

pour stopper le serveur X. Ensuite, lancez la mise à jour de la liste des paquets, puis la mise à jour des programmes (note: opkg-cl a remplacé l'ancien opkg):

 opkg-cl update
 opkg-cl upgrade

une fois la maj effectuée vous pouvez relancer le serveur X voir rebooter s'il y a eu trop de changement.

 /etc/init.d/xserver-nodm start 

ou

 reboot

créer une partition de swap

pour créer une partition de swap, il faut tout d'abord réserver de la place pour ça sur la SD : ( /!\ si vous avez déjà des données sur la carte, n'oubliez pas de les sauvegarder !) vous pouvez utiliser un utilitaire graphique tel que gparted, ces utilitaires étants assez intuitifs, je détaillerais juste ici la méthode en ligne de commandes

Toutes les commandes suivantes doivent êtres exécutées avec des droits suffisants (root ou sudo)

 $ fdisk /dev/mmcblk0

vous pouvez lister les partitions existantes avec p, en créer une avec n, et en supprimer une avec d

 Commande (m pour l'aide): p
 
 Disque /dev/mmcblk0: 1995 Mo, 1995440128 octets
 255 têtes, 63 secteurs/piste, 242 cylindres
 Unités = cylindres de 16065 * 512 = 8225280 octets
 Identifiant de disque : 0x0001cbcf
 
 Périphérique Amorce  Début        Fin      Blocs     Id  Système
 /dev/mmcblk0p1              1         242     1943833+  83  Linux
 Commande (m pour l'aide): d
 Partition sélectionnée 1

voila, notre carte SD est vierge ! on va maintenant créer deux partitions : une de 128Mo pour le swap et une en ext3 pour les données

 Commande (m pour l'aide): n
 Commande d'action
    e   étendue
    p   partition primaire (1-4)
 p
 Numéro de partition (1-4): 1
 Premier cylindre (1-242, par défaut 1): 
 Utilisation de la valeur par défaut 1
 Dernier cylindre, +cylindres or +taille{K,M,G} (1-242, par défaut 242): 226
 
 Commande (m pour l'aide): n
 Commande d'action
    e   étendue
    p   partition primaire (1-4)
 p
 Numéro de partition (1-4): 2
 Premier cylindre (227-242, par défaut 227): 
 Utilisation de la valeur par défaut 227
 Dernier cylindre, +cylindres or +taille{K,M,G} (227-242, par défaut 242): 
 Utilisation de la valeur par défaut 242

ces valeurs sont valables pour ma carte SD de 2Go, à vous d'adapter :)

il faut maintenant changer le type de système de fichier de la partition de swap : le code Hexa est 82

 Commande (m pour l'aide): t
 Numéro de partition (1-4): 2
 Code Hexa (taper L pour lister les codes): 82
 Type système de partition modifié de 2 à 82 (Linux swap / Solaris)

et voila :

 Commande (m pour l'aide): p
 
 Disque /dev/mmcblk0: 1995 Mo, 1995440128 octets
 255 têtes, 63 secteurs/piste, 242 cylindres
 Unités = cylindres de 16065 * 512 = 8225280 octets
 Identifiant de disque : 0x0001cbcf
 
 Périphérique Amorce  Début        Fin      Blocs     Id  Système
 /dev/mmcblk0p1               1         226     1815313+  83  Linux
 /dev/mmcblk0p2             227         242      128520   82  Linux swap / Solaris

plus qu'à écrire les infos sur la carte :

 Commande (m pour l'aide): w

et à quitter

 Commande (m pour l'aide): q

Ensuite, il faut créer les systèmes de fichiers :

 $ mkfs.ext3 /dev/mmcblk0p1
 $ mkswap /dev/mmcblk0p2

ensuite, sur le FR, il faut modifier /etc/fstab pour prendre en compte la swap

 # nano /etc/fstab

et ajouter la ligne

 /dev/mmcblk0p2 swap      swap    defaults                           0 0

et voili voilou !

Connectivité

GPRS

Pour se connecter en GPRS, il suffit d'utiliser l'application shr-settings (icône Settings), et de cliquer sur le bouton "Connectivity". Ensuite, dans la partie "GPRS Settings", on peut modifier les 3 champs APN, Your login et Your password en cliquant directement dessus puis en utilisant le clavier (et oui, ces champs sont clicables !) Pour les infos de connexion, voir la page générale sur le GPRS


La partie qui suit n'est plus utile à l'heure actuelle, les champs étant sauvegardés. (en tout cas chez moi)

Il reste un problème : dès qu'on redémarre ou qu'on relance simplement l'application Settings, ces informations de connection sont perdues. Pour contourner cela, on peut les écrire en dur dans le fichier utilisé par défaut

/usr/lib/python2.6/site-packages/shr_settings_modules/shr_gprs.py

(chercher les "internet" et les remplacer).

Si vous avez déjà lancé l'application Settings, alors le fichier à modifier n'est pas celui par défaut, mais

/etc/shr-settings/gprs.pickle

Par contre, si lors d'un "opkg upgrade" ces fichiers ont été mis à jour, il faudra refaire la manipulation

WiFi

Avant toutes tentatives de configuration du WiFi, il faut activer le périphérique. Pour cela, il suffit d'aller dans Settings puis Connectivity et d'activer le WiFi.

Mokonnect

C'est la future application pour la gestion réseau, trés prométeuse, voir par ici:

http://www.assembla.com/wiki/show/dsIRDcs6ar3QHmeJe5afGb

Il se peut que mokonnect ne marche pas directement, installez ça en plus:

 opkg install connman-plugin-ethernet
 killall connmand && connmand

Et c'est bon

Interface graphique Mofi

Il est possible de configurer assez simplement la connexion WiFi en utilisant Mofi.

Attention : Dans la version "Lite" de SHR, Mofi n'est pas installé par défaut. Pour l'installer :

 opkg update && opkg install mofi

La dernière version de mofi présente dans SHR unstable à l'heure ou j'écris (Samedi 06 juin) permet de se connecter au réseau WPA même parmit une foule de réseau. Pour cela activez le réseau wifi. Puis lancez mofi. Patientez jusqu'a ce que mofi.py devienne mofi tout cours et que le loading disparaisse. (c'est parfois plus long). N'hésitez pas à patienter ça passe parfois mal. Si au final aucun réseau n'est détecté, stoppez le via un clic sur la bare du haut et fermer l'application. Puis après 2/3s d'attente relancez le. ça devrait passer.

Pour le wifi "open" il faut faire un mix de mofi + terminal. Ouvrez un terminal et faites:

iwconfig eth0 essid mon_réseau
udhcpc eth0

Puis lancez mofi et connectez vous au réseau comme d'habitude. Il devrait y avoir une erreur de wpa (normal) et il devrait finir comme d'habitude via un udhcpc. Retournez sur le terminal et pinguez google par exemple. Si le ping ne répond rien, refaite la partie terminale juste et repinguez. ça devrait marcher cette fois. ;)

Terminal

On peut suivre la documentation officielle en anglais ou suivre les instructions suivantes:

Par défaut, le fichier /etc/network/interfaces contient ceci:

# Wireless interfaces
iface wlan0 inet dhcp
wireless_mode managed
wireless_essid any
iface atml0 inet dhcp
# Wired or wireless interfaces
iface eth0 inet dhcp
iface eth1 inet dhcp

Ne touchez pas aux sections loopback, USB0, et bluetooth !

Applications

Neon

Neon est un visionneur d'image léger écrite en python/EFL. Pour l'installer, faite :

 opkg install http://projects.openmoko.org/frs/download.php/623/neon_0.9.6-r0_all.ipk

Plus d'informations

Protocoles pris en charge par Pidgin

Par défaut sur SHR, Pidgin ne prend en charge que les 3 protocoles suivants : Google Talk, IRC et XMPP. Vous pouvez ajouter d'autres protocoles, par exemple pour pouvoir se connecter sur le réseau MSN et Yahoo :

opkg install libpurple-protocol-msn libpurple-protocol-yahoo

Pour voir la liste des protocoles que Pidgin peut prendre en charge, faite :

opkg list | grep libpurple-protocol

Personnaliser votre SHR

Cette distribution étant encore en phase de développement, toutes les personnalisations ne sont pas encore possibles par l'interface graphique. Dans cette section, nous aborderons principalement les réglages les plus complexes qui nécessitent l'édition de fichiers de configuration.

Pour faciliter certains réglages, vous pouvez installer le paquet http://wiki.openmoko.org/wiki/Framework-settings (note de KaZeR) : les réglages proposés par framework-settings sont modifiables également par shr-settings, qui est fourni avec la distribution (fin de la note)

Installer le pack de langue française

Depuis la version du 16/12/2008, seul le pack de langue anglais-américain est installé par défaut. Pour installer le pack de langue français :

opkg install glibc-binary-localedata-fr-fr


Bien sûr, les 2 dernières lettres sont à adapter au pays

Note : Sur la version unstable sortie en Novembre 2009, le package précédent ne semble pas exister dans les dépots. Toutefois un package eglibc-binary-localedata-fr-fr existe.

Pour que la langue français soit prise en compte, il faut supprimer le dossier .e qui se trouve dans le home du root :

rm -Rf ~/.e/


Ensuite, relancer le serveur X (ou redémarrer le FR) :

/etc/init.d/xserver-nodm restart

Le français est alors disponible dans la liste des langues.

Gérer les sonneries

Changer la sonnerie pour les appels entrant

Naturellement il vous faut télécharger une autre sonnerie, par exemple sur l'une des sonneries fournies par Openmoko réalisées par Marek "Wansti" Möckel.

Note : D'autres informations et sonneries peuvent être trouvées sur le wiki d'Openmoko.

Configuration simple

Vous pouvez ensuite aller dans Settings puis Profile pour la changer.

Configuration avancée

Vous pouvez également effectuer cette opération en modifiant le fichier :

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

et remplacer l'adresse du fichier sonnerie par l'adresse de votre fichier.

Note : on peut utiliser un fichier de sa carte SD : /media/card/lasonneriedemesreves.ogg )

Vous pouvez choisir un fichier très court et le répéter en boucle plusieurs fois, ou alors un plus long (30 s), et ne le jouer qu'une fois. Dans le fichier :

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

Les paramètres sont :

ring-volume # Volume min=0 max=? 
ring-length # durée mini de la sonnerie. Mettre une valeur au moins égale à la durée du fichier ringtone

Et dans le fichier :

/etc/freesmartphone/opreferences/schema/phone.yaml

Le paramètre qui concerne la sonnerie des appels entrants est :

ring-loop # defini le nombre de boucle à faire

Changer la sonnerie pour les messages

Dans le fichier :

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

Les paramètres utiles sont :

message-volume # Ring Volume control 0 (mini) to ? maxi)
message-length # durée mini de la sonnerie d'arrivée de message. Mettre une valeur au moins égale à la durée du fichier sonore

Et dans le fichier :

/etc/freesmartphone/opreferences/schema/phone.yaml

Le paramètre qui concerne la sonnerie des messages est :

message-loop # defini le nombre de boucle à faire

Agrandir la barre de défilement verticale droite

Si vous trouvez que la barre de défilement située à droite de l'écran n'est pas assez large pour pouvoir l'utiliser avec le doigt (par exemple dans Contacts et dans le terminal), vous pouvez faire ceci:

- Créer le fichier /home/root/.gtkrc-2.0 (exemple ici avec nano)

nano /home/root/.gtkrc-2.0

- y mettre le texte suivant :

style "scroll"
{
   GtkScrollbar::slider-width = 25
}
class "*" style "scroll"

Redémarrer.

Ajouter les touches accentuées au clavier

Image:ClavierSHR FR.png

Il faut pour cela éditer le fichier

/usr/lib/enlightenment/modules/illume/keyboards/Default.kbd

Pour un visuel comme celui présent sur le screenshot, utiliser celui ci [1]


Ensuite, pour avoir le dictionnaire de mots français, installer sur votre PC le dictionnaire "wfrench". Exemple sous debian :

apt-get install wfrench

Ensuite copier le Dictionnaire sur votre freerunner. Exemple :

scp /usr/share/dict/french root@192.168.0.202:/usr/lib/enlightenment/modules/illume/dicts/French.dic 

Il ne vous reste plus qu'à sélectionner le dictionnaire Français avec la flèche en haut à droite du clavier.

TODO: Choisir par défaut le dico Français

Clavier virtuel Azerty

En se basant sur le clavier Qwerty, j'ai créé un clavier Azerty. Pour l'avoir sur votre SHR, il suffit de télécharger les fichiers Azerty.kbd et azerty.png et de les mettre dans le répertoire /usr/lib/enlightenment/modules/illume/keyboards/ .

Image:Screenshot-1.png Image:Screenshot-2.png Image:Screenshot-3.png

Vous pouvez également utiliser celui-ci, qui est optimisé en enlevant les touches peu utilisées. [2]

Apprendre à utiliser le clavier

Le clavier est déconcertant à première vue mais finalement mieux qu'il n'y parait. Cela est du au fait que c'est un clavier correctif et pas prédictif. Comme le clavier est petit, on tape souvent à côté... Le clavier va de lui-même proposer les corrections... Il faut donc taper le mot entier (il ne fait pas de prédiction) et continuer à taper même si on a fait une petite erreur.

Explications en anglais :

Les paramètres globaux

Le fichier de configuration principal de frameworkd est le suivant:

/etc/frameworkd.conf

TODO: Détailler

Cette section en devrait-elle pas aller dans la page FSO? Après tout c'ets une configuration spécifique au Framework, pas à la distribution? --Okhin 4 février 2009 à 11:46 (UTC)

Niveaux sonores

Il n'existe pas actuellement d'interface pour gérer le niveau sonore. A vos claviers!

HP et micro

Le premier réflexe est d'utiliser alsamixer. Ce n'est pas une bonne idée, car j'ai dénombré pas moins de 94 réglages différents, et vos réglages seront perdus au prochain reboot. Trouver de la doc n'est pas simple. Voici ce que j'en ai compris. Pour vous faciliter la vie SHR a pensé à vous. Des scénarios ont été mis en place suivant l'utilisation. Vous les trouverez dans /usr/share/openmoko/scenarios/:

- capturehandset.state

- gsmheadset.state : kit oreillette

- headset.state

- voip-handset.state

- gsmhandset.state : téléphone classique

- gsmspeakerout.state : HP extérieur (mains libres)

- stereoout.state

Chaque fichier est constitué d'un ensemble de réglages, voici ceux que j'ai réussis à trouver:

- Control 48: le micro du tel (à régler à 2 ou 3)

- Control 4 : volume du HP du tel (à régler entre 110 et 120)

- Control 49: micro de l'oreillette

- Control 3 : oreillette


Sources:

http://wiki.openmoko.org/wiki/Neo_1973_audio_subsystem

http://wiki.openmoko.org/wiki/Neo_alsamixer#Settings_Descriptions

http://wiki.openmoko.org/wiki/Neo_Freerunner_audio_subsystem

Gestion d'alimentation

Vous trouverez votre bonheur dans les fichiers suivant:

/etc/freesmartphone/oevents/rules.yaml
/etc/freesmartphone/opreferences/conf/profiles/default.yaml
...

TODO: À compléter


Problèmes connus

Je met ici une liste de problèmes connus en tout cas que je rencontre au quotidien), et éventuellement la solution de contournement si elle existe (si ça fonctionne chez vous, n'hésitez pas à le dire sur le forum, en particulier si c'est suite à une mise à jour) --piratebab 8 janvier 2009 à 17:52 (UTC)

23/11/09: La nouvelle image SHR unstable comporte pas mal de régressions. Inutile de les lister pour l'instant, les devs en résolvent plusieurs par jour.

Téléphonie

08/01/09: perte du réseau GSM au bout de 24 à 48 heures Contournement: redémarrer le FR tout les jours

Carnet d'adresse

Il faut savoir que SHR n'utilise pas encore de PIM (gestionnaire des données personnelles), c'est un gros manque qui devrait être comblé très prochainement. opimd estl'heureux élu, mais en attendant, certaines fonctionnalités importantes sont absentes:

08/01/09: seuls les contacts sur la carte SIM sont utilisables Contournement: aucun de connu

08/01/09: impossible d'importer un carnet d'adresses vcard Contournement: aucun de connu


wifi

Aucun problème avec mokoconnect

GPS

10/03/09 : fso-gpsd est lancé à la demande maintenant, et ça fonctionne très bien. Vous pouvez aussi le lancer manuellement via le menu setting


Liens externes

http://wiki.openmoko.org/wiki/SHR