User Tools

Site Tools


doc:appunti:hardware:freerunner_peek_poke

This is an old revision of the document!


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 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.

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/

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. In /etc/init.d/ntpclient bisogna indicare un indirizzo IP invece di un nome perché se il nome non viene risolto al bootstrap (assenza di connessione internet) il demone non parte. È un peccato perché in questo modo si perde la comodità di usare un pool di server.

Il demone parte rapidamente e consuma poche risorse, pertanto non è un grosso problema averlo sempre in esecuzione. 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. 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.

Bisognerebbe 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, bisognerebbe 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 Keyboard Debate.

Rotazione dello schermo

xrandr -o 0
xrandr -o 1
xrandr -o 2
xrandr -o 3
doc/appunti/hardware/freerunner_peek_poke.1242744388.txt.gz · Last modified: 2009/05/19 16:46 by niccolo