====== FreeRunner OpenMoko Peek & Poke ====== ===== Vibrazione e LED ===== Per leggere/impostare lo stato di **vibrazione** e **LED**: /sys/devices/platform/neo1973-vibrator.0/leds/neo1973:vibrator/brightness /sys/devices/platform/gta02-led.0/leds/gta02-aux:red/brightness /sys/devices/platform/gta02-led.0/leds/gta02-power:blue/brightness /sys/devices/platform/gta02-led.0/leds/gta02-power:orange/brightness ===== Carica batteria ===== Questo è uno dei modi per verificare la **[[http://wiki.openmoko.org/wiki/Category:Battery|modalità di carica dell batteria]]**: cat /sys/devices/platform/s3c2440-i2c/i2c-adapter/i2c-0/0-0073/chgmode **''play-only''** indica i 100 mA, **''fast''** i 500 mA. In genere il FreeRunner attinge solo **100 mA** dall'alimentazione esterna, in accordo agli standard. Purtroppo questo è meno di quanto consuma in condizioni operative ad es. con GPS acceso e programma di navigazione. Se collegato ad una porta //smart USB// oppure al suo alimentatore può negoziare **500 mA** oppure **1000 mA**. Si può **forzare l'alimentazione** a 500 mA o a 1000 mA via software. Ovviamente se il sistema elettrico non supporta questa intensità di corrente si rischia di danneggiare tutto: cat /sys/class/i2c-adapter/i2c-0/0-0073/usb_curlim echo 500 > /sys/class/i2c-adapter/i2c-0/0-0073/force_usb_limit_dangerous cat /sys/class/i2c-adapter/i2c-0/0-0073/usb_curlim La negoziazione viene ripetuta tutte le volte che si collega o scollega una fonte di alimentazione. Con Om2008.9 l'icona **//fast charge// a froma di saetta** avverte se sono stati attivati i 500 o 1000 mA. Il programma [[http://hdr.meetr.de/neo/openmoko/battery/|battery]] recensito sul [[http://wiki.openmoko.org/wiki/Forcing_fast_charge_mode#The_battery_package|wiki]] è utile per monitorare lo stato della batteria e della carica. La versione 20080721 non funziona con i kernel >= 2.6.28, è necessaria una versione modificata del sorgente **{{.freerunner:battery.py}}**. ===== Menu programmi ===== Per aggiungere una voce all'elenco dei **programmi disponibili** bisogna aggiungere un file **.desktop** in: /usr/share/applications/ Gli **applicativi** e le **categorie** mostrate da **matchbox** (l'interfaccia per avviare i programmi utilizzata in OpenMoko 2007.2) si configurano con opportuni file **''.desktop''**, **''.directory''** e **''Root.order''** contenuti in: /usr/share/applications/ /usr/share/matchbox/vfolders/ Le voci che possono essere indicate in un file .desktop dovrebbero essere conformi allo [[http://standards.freedesktop.org/desktop-entry-spec/latest/|standard freedesktop]]. Tra le più utili troviamo: ^ Name | Nome visualizzato sotto l'icona. | ^ Exec | Comando da eseguire con eventuali argomenti. | ^ Path | Working directory dell'applicazione. | ^ Icon | Icona da usare, non è necessario né il path né l'estensione. | ^ Terminal | Se //true// il programma viene eseguito in una finestra terminale. | ===== Suspend mode ===== È possibile mettere il Neo in **suspend mode**. Dovrebbe trattarsi di **suspend to RAM** (CPU e RAM vengono messi in modalità basso consumo), non di suspend to disk (ibernazione). Ad ogni modo il resume avviene in circa 2 secondi ad esempio all'arrivo di una chiamata: apm -s ===== Bluetooth ===== Attivare o disattivare il **bluetooth**: BT_POW='/sys/bus/platform/devices/neo1973-pm-bt.0/power_on' BT_RESET='/sys/bus/platform/devices/neo1973-pm-bt.0/reset' # Enable Bluetooth echo "1" > "$BT_POW" echo "0" > "$BT_RESET" # Disable Bluetooth echo "0" > "$BT_POW" echo "1" > "$BT_RESET" ===== Screen saver ===== Si utilizza **''xset(1)''** per vedere le impostazioni del salvaschermo, per disabilitarlo e per ripristinare i valori di default: xset -q xset s off xset s default ===== Cambiare tema ===== Le impostazioni si cambiano con ''**gconftool**'' (GNOME configuration tool), tutto viene salvato in **''/home/root/.gconf/''**. Aclune impostazioni importanti si vedono con: dbus-launch gconftool-2 -a /desktop/poky/interface I temi disponibili sono in **''/usr/share/themes/''**, per impostarli: dbus-launch gconftool-2 --type string --set /desktop/poky/interface/theme Moko dbus-launch gconftool-2 --type string --set /desktop/poky/interface/gtk_key_theme Moko Con **Om2008.9** - che usa Enlightenment - si può installare il pacchetto **''illume-config''**. Una funzione offerta (l'unica?) è l'aggiunta di un applet ''qwerty'' in alto a sinistra per attivare/disattivare una tastiera abbastanza comoda. Il file **''/etc/enlightenment/default_profile''** contiene il profilo usato, anche i seguenti link aggiornati con ''update-alternatives'' determinano il tema: * **''/usr/share/enlightenment/data/themes/illume.edj''** * **''/usr/share/enlightenment/data/init/illume_init.edj''** ===== Orologio e sincronizzazione NTP ===== Per impostare correttamente l'ora di sistema devono esistere i file **''/etc/localtime''** e **''/etc/timezone''**, il primo è un link al file **''/usr/share/zoneinfo/Europe/Rome''**, mentre il secondo contiene il nome della zona. Ecco come impostare i due file: ln -sf /usr/share/zoneinfo/Europe/Rome /etc/localtime echo "Europe/Rome" > /etc/timezone Per sincronizzare la data di sistema con un server NTP conviene installare il pacchetto **ntpclient**. Il demone rimane in esecuzione ed ogni 600 secondi contatta un server NTP. La configurazione del server NTP da uilizzare e dell'intervallo di check si effettua in **''/etc/init.d/ntpclient''**. L'implementazione di ''ntpclient'' ha **due gravi limitazioni**: - Indicando un nome DNS invece di un indirizzo IP come server NTP, potrebbe fallire la risoluzione DNS all'avvio del servizio (ad esempio per mancanza di connettività). In tal caso **il demone non parte**. - Se l'ora di sistema differisce troppo dall'ora NTP il demone ''ntpclient'' non aggiusta l'ora di sistema, nonostante l'opzione **''-l''**. Bisogna in tal caso usare l'opzione **''-s''** che effettua l'impostazione e termina. A causa di queste limitazioni è inutile avere il demone sempre in esecuzione, nonostante che parta rapidamente e consumi poche risorse. Si disabilita l'avvio automatico del demone: update-rc.d -f ntpclient remove E lo sostituisce con una riga in **''/etc/crontab''** (deve essere installato il pacchetto **cron**): */15 * * * * root /sbin/ntpclient -s -i 20 -h pool.ntp.org Dopo che l'ora di sistema è sincronizzata conviene allineare anche l'orologio hardware: hwclock --utc --systohc Il programma **''hwclock''** accede al device **''/dev/misc/rtc''**, che non esite in OM2008.12 (esiste ''/dev/rtc''). Facendo lo stop del servizio (che serve in pratica a salvare l'ora di sistema nell'orologio hardware) si vede infatti il messaggio di errore: /etc/init.d/hwclock.sh stop hwclock: can't open '/dev/misc/rtc': No such file or directory Per creare il link ad ogni bootstrap editare **''/etc/udev/links.conf''** e aggiungere: D misc L misc/rtc /dev/rtc Esiste anche il pacchetto **ntpdate**, ma se durante il boot la connessione internet non c'è, si nota una lunga e fastidiosa pausa prima del timeout. Si potrebbe associare l'esecuzione del comando al rilevamento di una connessione internet valida. Purtroppo non va bene associarla all'azione **up** dell'interfaccia **usb0**, perché questa viene comunque configurata al boot, si potrebbe intercettare il seguente evento del kernel (collegamento cavetto USB): user.info kernel: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready ===== Tastiera illume Terminal ===== Per avere la tastiera Illume si devono installare i pacchetti * **illume-config-illume** * **illume-keyboards-default** * **illume-keyboards-numbers** * **illume-keyboards-terminal** * **illume-theme-illume** Si disabilita la tastiera Qtopia editando **''/etc/X11/Xsession.d/89qtopia''** impostando export QTOPIA_NO_VIRTUAL_KEYBOARD=1 Controllare anche che **''/etc/enlightenment/default_profile''** contenga E_PROFILE="-profile illume" I layout tastiera disponibili sono in ''/usr/lib/enlightenment/modules/illume/keyboards/''. Per avere **Terminal** come tastiera predefinita: * Rinominare Default.kdb in Alphanumeric.kbd * Creare un link simbolico Default.kbd -> Terminal.kbd * Rimuovere la configuration cache di Enlightenment: rm -rf .e/e/config/illume/ ===== Tastiera predittiva in italiano ===== A seconda che si usi la tastiera **Qtopia** oppure quella **Illume** (migliore!) i dizionario delle parole si trova in directory diverse: * **''/usr/lib/enlightenment/modules/illume/dicts/Italian.dic''** per Illume * **''/opt/Qtopia/etc/dict/it_IT/words.dawg''** per Qtopia Per scegliere la tastiera italiana con Illume bisogna **cliccare nell'angolo in alto a sinistra** della tastiera, per Qtopia invece si edita il file ''/opt/Qtopia/etc/default/Trolltech/locale.conf''. Maggiori informazioni su [[http://wiki.openmoko.org/wiki/Keyboard_Debate|Keyboard Debate]]. ===== Rotazione dello schermo ===== xrandr -o 0 xrandr -o 1 xrandr -o 2 xrandr -o 3