openSUSE:Beagleboard (xM)

Icon-warning.png
Attenzione! Questa è una pagina riassuntiva per alcune prove di funzionamento e configurazioni sulla Beagleboard xM. Alcuni di questi software sono ancora instabili e sono da usare a vostro rischio e pericolo!

Informazioni generali

Puoi ottenere alcune informazioni di carattere generale (come descrizione dell'hardware, installazione di openSUSE, ecc.) su en:HCL:BeagleBoard-xM.

Test

Audio in/out

Icon-warning.png
Attenzione! Attualmente il suono non funziona per problemi legati ad alcuni moduli del kernel. Vedere questa patch per risolvere il problema.

Devi caricare i corretti moduli con modprobe:

 modprobe snd_soc_omap_mcbsp
 modprobe snd_soc_twl4030
 modprobe snd-soc-omap3beagle

A questo punto devi configurare gli input e gli output. E' quindi possibile :

  • ripristinare i valori da un file, per es.:
 wget http://guillaume.gardet.free.fr/openSUSE/beagleboard-alsa.conf
 alsactl -f beagleboard-alsa.conf restore
  • condigurarli manualmente usando alsamixer:
 alsamixer

Ora prova ad ascoltare un file

 aplay test.wav

E registrarne uno:

 arecord test_input.wav

Frequenza della CPU

La frequenza della CPU può essere testata facilmente. Mentre non fai nient'altro puoi eseguire:

 cat /proc/cpuinfo | grep BogoMIPS

che dovrebbe mostrare qualcosa del tipo:

 BogoMIPS        : 262.08

Quindi, carica la CPU e fai mostrare di nuovo i BogoMIPS, per es. con:

 dd if=/dev/urandom of=/dev/null &
 cat /proc/cpuinfo | grep BogoMIPS

il quale dovrebbe mostrare qualcosa di questo genere:

 BogoMIPS        : 700.57

Adesso puoi chiudere il processo di dd:

 pkill dd

Smartreflex (auto voltage)

Smartreflex non è testabile facilmente tuttavia è abilitato nel kernel.

DSP

Installa il necessario:

 zypper in dsp-tools tidsp-binaries

Carica i moduli:

 modprobe mailbox_mach
 modprobe tidspbridge base_img=/lib/dsp/baseimage.dof

Per il kernel 3.3.0 e precedente, tidspbridge è stato rinominato bridgedriver, quindi devi invocare i comandi:

 modprobe mailbox_mach
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof

Caricati quei moduli puoi provare alcuni strumenti dsp invocando il comando:

 dsp-test

che dovrebbe restituire qualcosa di questo tipo:

 copied 1000 times successfully

oppure

 dsp-probe

che dovrebbe restituire qualcosa di questo tipo:

 device: /codec
 device: /mixer
 device: /acdn
 device: /eteedn
 device: /mmmdn
 task: DASFTASK_TI
 task: SYNCCLOCK_TI
 task: dummy

codec DSP per gstreamer

Installa il software necessario:

 zypper in gst-dsp gst-omapfb gstreamer-utils

Invoca il seguente comando per ottenere la lista dei codec dsp:

 gst-inspect | grep dsp

che dovrebbe restituire qualcosa di simile:

 dsp:  dspdummy: DSP dummy element
 dsp:  dspvdec: DSP video decoder
 dsp:  dspadec: DSP audio decoder
 dsp:  dsph263enc: DSP video encoder
 dsp:  dspmp4venc: DSP MPEG-4 video encoder
 dsp:  dspjpegenc: DSP video encoder
 dsp:  dsph264enc: DSP video encoder
 dsp:  dspvpp: DSP VPP filter
 dsp:  dspipp: DSP IPP

A questo punto avviamo alcuni test banali di codifica:

 gst-launch -v videotestsrc ! dspmp4venc ! fakesink enable-last-buffer=false
 gst-launch -v videotestsrc ! dsph263enc ! fakesink enable-last-buffer=false

Nota: dsph264enc non funziona.

Potresti aver bisogno di installare alcuni plugin di gstreamer per essere in grado di avviare file reali, per esempio
 gstreamer-0_10-plugins-good, gstreamer-0_10-plugins-bad, gstreamer-0_10-plugins-ugly

Ora puoi aprire alcuni file reali, ad es.:

 gst-launch-0.10 filesrc location="/mnt/tests_video/big_buck_bunny_480p_surround-fix.avi"  ! avidemux ! dspvdec !  ffmpegcolorspace ! fbdevsink
 gst-launch playbin2 uri=file:///mnt/tests_video/big_buck_bunny_480p_surround-fix.avi #(questa riga ha bisogno di omapfbsink funzionante il quale tuttavia sempre rotto...)

Ethernet

Puoi testare, inoltre, la funzionalità di rete. Per farlo collega il cavo di rete ad una rete con DHCP attivo su un router. Aspetta qualche istante che venga assegnato l'indirizzo IP:

 ifconfig eth0

Quindi verifica se viene pingato qualcosa all'interno della rete e fuori (chiaramente sostituisci l'indirizzo IP seguente, con quello di un altro host della rete):

 ping 192.168.1.254
 ping www.google.it

Puoi anche verificare le performance con iperf. Installalo su un computer e sulla Beagleboard e avvialo come server in uno dei due host:

 iperf -s

sul secondo host, avvia il client iperf:

 iperf -c <INDIRIZZO_IP_DEL_SERVER_IPERF>

a questo punto puoi invertire le parti tra client e server e rieffettuare il test.

Sulla Beagleboard xM, con kernel 3.4.0-3-omap2plus, attualmente otteniamo 95 Mb/s.

SD/MMC

Se riesci ad effettuare il boot dalla tua scheda uSD, allora vuol dire che le SD/MMC funzionano! ;)

UART (debug)

Collega un cavo seriale (o seriale/usd) tra la board e il tuo computer. Avvia minicom:

 sudo minicom

Adesso accendi la board. Dovresti vedere qualcosa che inizia in questo modo:

 Texas Instruments X-Loader 1.5.0 (Feb 29 2012 - 23:37:23)                                                           
 Beagle xM                                                                                                           
 Reading boot sector
 Error: reading boot sector
 fat load failed, trying ext2
 Loading u-boot.bin from mmc

USB host

Per provare se la porta USB funziona collegaci una chiavetta USB, montala con il comando:

 mount /dev/sda1 /mnt

e prova a vedere cosa c'e' dentro:

 ls /mnt

Poi smontala con il comando:

 umount /mnt

USB OTG

Questo modulo viene montato e caricato al boot ma non sappiamo come testarlo.

Video

DVI

omapfb driver

Devi caricare il modulo corretto con modprobe:

 modprobe panel-tfp410 
 modprobe omapfb mode=dvi:1440x900MR-24@60

E dovresti essere in grado di vedere la consolo di login sul tuo monito DVI/HDMI. Nota che panel-tfp410 è necessario per kernel 3.5 e superiori.

omapdrm

omapdrm dovrebbe venire caricato automaticamente con le ultime immagini. Se non lo fa da solo, provvedi tu:

 modprobe omapdrm

Per farlo funzionare avrai bisogno del pacchetto libdrm_omap1:

 zypper in libdrm_omap1

Ora dovresti vedere la console di login sul tuo monitor DVI/HDMI.

S-Video/Composite

Icon-warning.png
Attenzione! Attualmente sembra non funzionare.

Anche qui si tratta di caricare il modulo corretto con modprobe.
Per il formato NTSC usa:

 modprobe omapfb mode=tv:ntsc

Per il formato PAL:

 modprobe omapfb mode=tv:pal

In questo modo dovresti vedere la console di login sullo schermo della tua TV.

2D/3D accelerazione hardware (Powervr SGX 530)

Icon-warning.png
Attenzione! Lavori in corso. Usare a proprio rischio e pericolo.

In questi repository puoi trovare alcuni pacchetti RPM di test chiamati pvr-omapes*

Devi trovare la giusta versione del core SGX. E' consigliabile sceglierla dalla seguente tabella:

SoC sgx es version
OMAP35x (SGX core 1.2.1) es 3.x
OMAP37x/AM37x (SGX core 1.2.5) es 5.x
816x(389x)/814x(387x) (SGX core 1.2.5) es 6.x
335x (SGX core 1.2.5 ) es 8.x

Per essere sicuro della revisione del tuo core SGX, puoi usare devmem2 disponibile tra gli strumenti nella factory

Per le SOLE famiglie di chipset OMAP35xx, AM35xx, AM/DM37xx, invoca i comandi:

 devmem2 0x48004B48 w 0x2
 devmem2 0x48004B10 w 0x1
 devmem2 0x48004B00 w 0x2
 devmem2 0x50000014

L'ultimo passo dovrebbe mostrare qualcosa di questo tipo:

 0x10205 
 0x10201 
 0x10003

Che vuol dire SGX core revisione 1.2.5, 1.2.1 o 1.0.3.
Per la 1.2.5, usa la versione es5.x.
Per la 1.2.1, usa la versione es3.x.
Per la 1.0.3, usa la versione es2.x. (solo le primissime Beagleboard dovrebbero averlo e queste non sono più supportate dagli ultimi driver rilasciati da TI e nemmeno da openSUSE.)

Se il modulo omapfb non è stato ancora caricato, caricalo (vedere la sezione DVI/TV).

Se i moduli legati a SGX non sono stati ancora caricati, caricali:

 /etc/rc.d/rc.pvr start

Potresti anche caricare bufferclass_ti:

 modprobe bufferclass_ti

Altri vari test sono disponibili con il pacchetto *test*.
Test funzionanti:

 eglinfo
 pvr2d_test
 sgx_blit_test
 sgx_clipblit_test
 sgx_init_test
 services_test

Test non funzionanti (alcuni sono specifici per X11/DRI/DRM ma il supporto a Xorg non è stato ancora abilitato qui):

 gles1test1
 gles2test1
 ovg_unit_test
 sgx_flip_test
 sgx_render_flip_test
 xeglinfo
 xgles1test1
 xgles2test1
 xmultiegltest
 xovg_unit_test

Molte altre librerie (includendo GLES) sono disponibili con il pacchetto *libs*.

Configurazione

Accelerazione hardware 2D/3D (Powervr SGX 530)

Il file /etc/powervr.ini viene usato per la configurazione runtime.

Librerie che possono essere utilizzate per il parametro WindowSystem in /etc/powervr.ini Usate per
libpvrPVR2D_FLIPWSEGL.so Per VSync sincronizzato scrivi nel Framebuffer - più lento, ma evita il tearing
libpvrPVR2D_LINUXFBWSEGL.so Se stai usando un frame buffer da console Linux (/dev/fb0). Per prevenire il tearing verticale al centro dello schermo
libpvrPVR2D_FRONTWSEGL.so Per scrivere direttamente al FrameBuffer - modalità FRONT - scrive direttamente sul FrameBuffer senza aspettare il VSync - modalità più veloce
libpvrPVR2D_BLITWSEGL.so Per scrittura diretta sul back-buffer, che dopo viene scritto sul FrameBuffer
libpvrPVR2D_DRIWSEGL.so Solo per l'integrazione con i driver X11/DRI/DRM

Ulteriori parametri possono essere trovati: http://processors.wiki.ti.com/index.php/SGXDbg

Configurazione Xorg x11

Sono disponibili molti driver:

  • fbdev: driver generico (puoi usare i driver SGX per ottenere prestazioni migliori)
  • omap: usa X11/DRM/DRI (in sviluppo) (puoi usare i driver SGX per ottenere prestazioni migliori)
  • omapfb: ottimizzati per NEON (non funziona)
fbdev driver

Installa Xorg X11 e il driver fbdev xf86-video-fbdev.


Puoi usare questo file xorg.conf con il driver fbdev.

Una volta che il driver SGX sarà disponibili, aggiungeremo il supporto ai driver con accelerazione 2D/3D nel file di configurazione di xorg per fbdev.


omap driver (omapdrm)
Icon-warning.png
Attenzione! Il driver omap (xf86-video-omap) è solo disponibile per openSUSE Factory. Usa il kernel driver omapdrm (staging) e libdrm_omap.

Installa Xorg X11 e il driver omap xf86-video-omap.

omapfb driver

Il driver omapfb è ottimizzato per NEON e dovrebbe funzionare meglio del driver fbdev.

Icon-warning.png
Attenzione! omapfb driver (xorg-x11-drv-omapfb) non funziona ancora.

Installa Xorg X11 e il driver omapfb xorg-x11-drv-omapfb.

Decommenta la linea:

 /etc/X11/xorg.conf.d/20-omapfb.conf