SHR
À 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
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
Il faut pour cela éditer le fichier
/usr/lib/enlightenment/modules/illume-keyboard/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-keyboard/keyboards/ .
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
- Blog: http://blog.shr-project.org
- Trac: http://trac.shr-project.org
- Git: http://git.shr-project.org
- Buildhost: http://build.shr-project.org



