Home > Android, Fedora, Freescale i.MX, Linux, Linux 3.0, Ubuntu > Wandboard Dual Benchmarks, Serial Console Fun, and Distributions List

Wandboard Dual Benchmarks, Serial Console Fun, and Distributions List

Since last time I tried Android and Ubuntu on the Wandboard, a few things happened. I’m not talking about Wandboard Quad announcement, but instead I received a Class 10 SD card, which makes the system so much responsive, and a RS232 to USB adapter so that I can access the serial console. So today, I’ll publish some benchmark results on Wandboard Dual since none appear to be available, and play a little with the serial console. A few things also happened on the operating systems side with more distributions now available for the board.

Prerequisites

I ran benchmark in Android, so I installed the latest Android 4.1.2 image (11th of April 2012) to my new SD card (ADATA 16 GB Class 10), and contrary to my poor experience on a 4GB Class 4 micro SD, everything was very fluid. I’ve also installed Google Play in order to install the applications. To do so in any device, you need to download the latest version for your Android version from http://goo.im/gapps. In our case (Android 4.1.2), we need to download gapps-jb-20121011-signed.zip, extract it and copy the files in the micro SD card in a Linux PC:

cd ~/
mkdir gapps-jb
cd gapps-jb 
unzip ~/Downloads/gapps-jb-20121011-signed.zip 
sudo cp ~/gapps-jb/system/* /media/system/ -rf 
sync
In order to capture screenshots, I also had to root the device using the following steps from a Linux PC with Wandboard connected to the PC via its mini USB port:
wget http://downloads.androidsu.com/superuser/su-bin-3.1.1-arm-signed.zip
unzip su-bin-3.1.1-arm-signed.zip
adb push system/bin/su /mnt/sdcard/su
adb shell
mount -o remount,rw /system
busybox cp /mnt/sdcard/su /system/xbin/su
chmod 6755 /system/xbin/su
sync
reboot
At this point you should get a rooted image with a working Google Play on the Wandboard, the final step is to install superuser so that you can control which apps get root access.

Antutu and Quadrant Benchmarks on Wandboard Dual

The screen will rotate with both Antutu 3.3 and Quadrant benchmark, so they are performed in portrait mode. This is using full screen, so the results should still be valid for comparison. The board also overheated once during Antutu’s 3D Graphics benchmarks, and froze. A immediate reboot of the board showed the following message:
CPU: Freescale i.MX6 family TO1.1 at 792 MHz 
CPU is 80 C, too hot to boot, waiting... 
Temperature:   73 C, calibration data 0x59952b5f
I turned the board around so that i.MX6 SoC can get better ventilation, and the benchmark could complete.
Wandboard Antutu

With 6190 points, Wandboard Dual performance is between Amazon Kindle Fire (TI OMAP4430) and Samsung Galaxy Nexus (TI OMAP4460), which seems about right. This also compares to 8516 points in Hi-802 (Freescale i.MX 6 Quad), with the quad version getting double the score for integer, over 50% more for RAM and floating-point tests. Surprisingly 3D graphics results are better in Wandboard Dual (1771) compared to Hi-802 (1272) in Antutu. This is an anomaly that could either be due to a different Android version (4.0 vs 4.1) and/or better drivers, or the orientation during the test really affects the results.

Wandboard_Quadrant

Quadrant benchmark places the device just below LG Optimus 2X (Nvidia Tegra 2) and Galaxy Nexus, so no surprises here.

Setting-up the Serial Console on Wandboard

Many boards provide access to the serial console via +3.3V TTL signals, so you can just connect a TTL to USB board. The Wandboard uses RS232 signals, so you’ll need a different type of debug board, or simply a null-modem cable if your computer features a DB-9 serial connector. Mine does not, so I bought a cheap RS232 to USB converter. Build quality is poor, but it does the job. At first, I thought I could just connect it directly to the Wandboard, but it also needs a null-modem cable, Since I don’t have one myself, I used three breadboard wires instead connecting Tx, Rx, and GND following the diagram below:

Source: Microtik

Source: Microtik

I only connected pin 2,3 and 5, and ignored the other connection which are not needed for our purpose. The picture below shows the end result. I just connect the RS232 to USB converter to a USB hub to access it from Linux or Windows.

Wandboard UART Connection

In Linux (Ubuntu 12.04), the converter is immediately recognized, and you can just access the serial port with minicom, after setting up 115200bps/8n1 connection to /dev/ttyUSB0. In Windows, you’ll need to install a driver either from the provided CDROM, or download CH341SER.zip.

For reference, here’s the boot log from Android 4.1.2:

U-Boot 2009.08 (Apr 11 2013 – 15:55:59)CPU: Freescale i.MX6 family TO1.1 at 792 MHz
Temperature: 67 C, calibration data 0x59952b5f
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock : 66000000Hz
ipg per clock : 66000000Hz
uart clock : 80000000Hz
cspi clock : 60000000Hz
ahb clock : 132000000Hz
axi clock : 198000000Hz
emi_slow clock: 99000000Hz
ddr clock : 396000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: i.MX6DL/Solo-WandBoard: unknown-board Board: 0x61011 [WDOG ]
Boot Device: SD
DRAM: 1 GB
MMC: FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2
*** Warning – bad CRC or MMC, using default environmentIn: serial
Out: serial
Err: serial
Gotr MAC = 00:1F:7B:B2:02:F4
Net: got MAC address from IIM: 00:1f:7b:b2:02:f4
FEC0 [PRIME]
Hit any key to stop autoboot: 0
kernel @ 10808000 (2289836)
ramdisk @ 11800000 (169948)
kernel cmdline:
use boot.img command line:
console=ttymxc0,115200 init=/init video=mxcfb0:dev=hdmi,1280x720M@60,ifStarting kernel …

[ 0.000000] Linux version 3.0.35 (root@edward-x220-laptop) (gcc version 4.6.3
[ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Freescale i.MX 6DualLite/Solo Wandboard
[ 0.000000] EDWARD : ram console init at phys 0x3ff00000
[ 0.000000] EDWARD : GPU_Reserved Memory equals to 184549376
[ 0.000000] EDWARD : gpumem init at phys 0x15000000
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] CPU identified as i.MX6DL/SOLO, silicon rev 1.1
[ 0.000000] PERCPU: Embedded 7 pages/cpu @80f67000 s5696 r8192 d14784 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa0
[ 0.000000] Kernel command line: console=ttymxc0,115200 init=/init video=mxce
[ 0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[ 0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Memory: 80MB 511MB 212MB = 803MB total
[ 0.000000] Memory: 805480k/805480k available, 243096k reserved, 0K highmem
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 – 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
[ 0.000000] DMA : 0xfbe00000 – 0xffe00000 ( 64 MB)
[ 0.000000] vmalloc : 0xc0800000 – 0xf2000000 ( 792 MB)
[ 0.000000] lowmem : 0x80000000 – 0xc0000000 (1024 MB)
[ 0.000000] pkmap : 0x7fe00000 – 0x80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 – 0x7fe00000 ( 14 MB)
[ 0.000000] .init : 0x80008000 – 0x80038000 ( 192 kB)
[ 0.000000] .text : 0x80038000 – 0x805de000 (5784 kB)
[ 0.000000] .data : 0x805de000 – 0x80620f80 ( 268 kB)
[ 0.000000] .bss : 0x80620fa4 – 0x8075ffe0 (1277 kB)
[ 0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, 1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:496
[ 0.000000] MXC GPIO hardware
[ 0.000000] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1s
[ 0.000000] Set periph_clk’s parent to pll2_pfd_400M!
[ 0.000000] arm_max_freq=2
[ 0.000000] MXC_Early serial console at MMIO 0x2020000 (options ‘115200’)
[ 0.000000] bootconsole [ttymxc0] enabled
[ 0.000000] Console: colour dummy device 80×30
[ 0.245885] Calibrating delay loop… 1581.05 BogoMIPS (lpj=7905280)
[ 0.334225] pid_max: default: 32768 minimum: 301
[ 0.339085] Mount-cache hash table entries: 512
[ 0.344360] CPU: Testing write buffer coherency: ok
[ 0.450152] CPU1: Booted secondary processor
[ 0.539562] Brought up 2 CPUs
[ 0.546824] SMP: Total of 2 processors activated (3162.11 BogoMIPS).
[ 0.571679] print_constraints: dummy:
[ 0.575671] NET: Registered protocol family 16
[ 0.584294] print_constraints: vddpu: 725 1300 mV at 700 mV fast normal
[ 0.591792] print_constraints: vddcore: 725 1300 mV at 1150 mV fast nor
[ 0.599531] print_constraints: vddsoc: 725 1300 mV at 1200 mV fast norm
[ 0.607166] print_constraints: vdd2p5: 2000 2775 mV at 2400 mV fast nor
[ 0.614921] print_constraints: vdd1p1: 800 1400 mV at 1100 mV fast norm
[ 0.622591] print_constraints: vdd3p0: 2625 3400 mV at 3000 mV fast nor
[ 0.632723] ram_console: got buffer at 3ff00000, size 100000
[ 0.638535] ram_console: found existing buffer, size 35924, start 35924
[ 0.738384] console [ram-1] enabled
[ 0.853886] L310 cache controller enabled
[ 0.858092] l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x02050000, Cache sB
[ 0.891189] bio: create slab at 0
[ 0.896073] print_constraints: VDDA: 2500 mV
[ 0.900747] print_constraints: VDDIO: 3300 mV
[ 0.906244] SCSI subsystem initialized
[ 0.910531] spi_imx imx6q-ecspi.0: probed
[ 0.914905] spi_imx imx6q-ecspi.1: probed
[ 0.921083] usbcore: registered new interface driver usbfs
[ 0.926918] usbcore: registered new interface driver hub
[ 0.932514] usbcore: registered new device driver usb
[ 0.937753] Freescale USB OTG Driver loaded, $Revision: 1.55 $
[ 0.959552] imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F)
[ 0.967929] Advanced Linux Sound Architecture Driver Version 1.0.24.
[ 0.975414] Bluetooth: Core ver 2.16
[ 0.979212] NET: Registered protocol family 31
[ 0.983777] Bluetooth: HCI device and connection manager initialized
[ 0.990329] Bluetooth: HCI socket layer initialized
[ 0.995311] Bluetooth: L2CAP socket layer initialized
[ 1.000555] Bluetooth: SCO socket layer initialized
[ 1.006009] cfg80211: Calling CRDA to update world regulatory domain
[ 1.013552] Switching to clocksource mxc_timer1
[ 1.031297] NET: Registered protocol family 2
[ 1.035969] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 1.044176] TCP established hash table entries: 131072 (order: 8, 1048576 by)
[ 1.054110] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[ 1.061942] TCP: Hash tables configured (established 131072 bind 65536)
[ 1.068925] TCP reno registered
[ 1.072178] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 1.078354] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 1.085163] NET: Registered protocol family 1
[ 1.089892] Unpacking initramfs…
[ 1.104517] Freeing initrd memory: 164K
[ 1.108540] _regulator_get: etb supply vcore not found, using dummy regulator
[ 1.116394] _regulator_get: etm.0 supply vcore not found, using dummy regular
[ 1.124000] _regulator_get: etm.1 supply vcore not found, using dummy regular
[ 1.131799] Static Power Management for Freescale i.MX6
[ 1.137211] wait mode is disabled for i.MX6
[ 1.141702] cpaddr = c0820000 suspend_iram_base=c08ac000
[ 1.147282] PM driver module loaded
[ 1.151249] IMX usb wakeup probe
[ 1.154662] the wakeup pdata is 0xba10d980
[ 1.159272] add wake up source irq 75
[ 1.166674] IMX usb wakeup probe
[ 1.170101] the wakeup pdata is 0xba10d380
[ 1.174498] cpu regulator init ldo=0
[ 1.178494] i.MXC CPU frequency driver
[ 1.193907] ashmem: initialized
[ 1.206930] NTFS driver 2.1.30 [Flags: R/O].
[ 1.211784] fuse init (API version 7.16)
[ 1.216175] msgmni has been set to 1573
[ 1.220878] NET: Registered protocol family 38
[ 1.225640] cryptodev: driver loaded.
[ 1.229435] io scheduler noop registered
[ 1.233445] io scheduler deadline registered
[ 1.237941] io scheduler cfq registered (default)
[ 1.243863] mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
[ 1.250576] mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
[ 1.257649] fbcvt: 1280×720@60: CVT Name – .921M9
[ 1.328272] imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2)
[ 1.339386] imx-sdma imx-sdma: loaded firmware 1.1
[ 1.348667] imx-sdma imx-sdma: initialized
[ 1.353209] Serial: IMX driver
[ 1.356501] imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
[ 1.363098] console [ttymxc0] enabled, bootconsole disabled
[ 1.363098] console [ttymxc0] enabled, bootconsole disabled
[ 1.374893] imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
[ 1.382337] ion: failed to create debug files.
[ 1.390269] loop: module loaded
[ 1.393806] FEC Ethernet Driver
[ 1.399457] fec_enet_mii_bus: probed
[ 1.404138] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 1.410914] fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
[ 1.417758] fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number1
[ 1.445550] fbcvt: 1280×720@60: CVT Name – .921M9
[ 1.458239] fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
[ 1.478225] fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
[ 1.478840] hub 1-0:1.0: USB hub found
[ 1.478859] hub 1-0:1.0: 1 port detected
[ 1.479061] add wake up source irq 72
[ 1.479108] fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
[ 1.479146] fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number2
[ 1.508239] fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
[ 1.568231] fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
[ 1.568751] hub 2-0:1.0: USB hub found
[ 1.568769] hub 2-0:1.0: 1 port detected
[ 1.569014] Initializing USB Mass Storage driver…
[ 1.569191] usbcore: registered new interface driver usb-storage
[ 1.569200] USB Mass Storage support registered.
[ 1.569207] ARC USBOTG Device Controller driver (1 August 2005)
[ 1.571543] android_usb gadget: Mass Storage Function, version: 2009/09/11
[ 1.571554] android_usb gadget: Number of LUNs=1
[ 1.571563] lun0: LUN: removable file: (no medium)
[ 1.571976] Gadget Android: controller ‘fsl-usb2-udc’ not recognized
[ 1.571992] android_usb gadget: android_usb ready
[ 1.571998] Suspend udc for OTG auto detect
[ 1.572011] USB Host suspend begins
[ 1.572017] will suspend roothub and its children
[ 1.572034] ehci_fsl_bus_suspend begins, DR
[ 1.572055] ehci_fsl_bus_suspend ends, DR
[ 1.572069] host suspend ends
[ 1.572079] USB Gadget resume begins
[ 1.572085] fsl_udc_resume, Wait for wakeup thread finishes
[ 1.588243] dr_controller_run: udc enter low power mode
[ 1.588257] USB Gadget resume ends
[ 1.588264] fsl-usb2-udc: bind to driver android_usb
[ 1.588623] mousedev: PS/2 mouse device common for all mice
[ 1.589446] i2c /dev entries driver
[ 1.590367] imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s ()
[ 1.590500] Bluetooth: Virtual HCI driver ver 1.3
[ 1.590665] Bluetooth: HCI UART driver ver 2.2
[ 1.590674] Bluetooth: HCI H4 protocol initialized
[ 1.590682] Bluetooth: Generic Bluetooth USB driver ver 0.6
[ 1.590838] usbcore: registered new interface driver btusb
[ 1.591034] cpuidle: using governor ladder
[ 1.591042] cpuidle: using governor menu
[ 1.591155] sdhci: Secure Digital Host Controller Interface driver
[ 1.591163] sdhci: Copyright(c) Pierre Ossman
[ 1.591279] _regulator_get: sdhci-esdhc-imx.2 supply vmmc not found, using dr
[ 1.591529] mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using ADMA
[ 1.592600] _regulator_get: sdhci-esdhc-imx.1 supply vmmc not found, using dr
[ 1.594892] mmc1: SDHCI controller on platform [sdhci-esdhc-imx.1] using ADMA
[ 1.594949] sdhci sdhci-esdhc-imx.0: no write-protect pin available!
[ 1.595985] _regulator_get: sdhci-esdhc-imx.0 supply vmmc not found, using dr
[ 1.598163] mmc2: SDHCI controller on platform [sdhci-esdhc-imx.0] using ADMA
[ 1.599163] VPU initialized
[ 1.600129] mxc_asrc registered
[ 1.613568] revserved_memory_account:viv_gpu registerd
[ 1.614174] Thermal calibration data is 0x59952b5f
[ 1.628463] Anatop Thermal registered as thermal_zone0
[ 1.628628] anatop_thermal_probe: default cooling device is cpufreq!
[ 1.651107] usbcore: registered new interface driver usbhid
[ 1.651115] usbhid: USB HID core driver
[ 1.653535] logger: created 256K log ‘log_main’
[ 1.655731] logger: created 256K log ‘log_events’
[ 1.655910] logger: created 256K log ‘log_radio’
[ 1.658127] logger: created 256K log ‘log_system’
[ 1.661501] zram: num_devices not specified. Using default: 1
[ 1.661510] zram: Creating 1 devices …
[ 1.662414] usbcore: registered new interface driver snd-usb-audio
[ 1.662976] mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
[ 1.663145] mxc_spdif mxc_spdif.0: MXC SPDIF Audio
[ 1.665520] _regulator_get: 1-000a supply VDDD not found, using dummy regular
[ 1.665836] sgtl5000 1-000a: sgtl5000 revision 17
[ 1.666016] print_constraints: 1-000a: 850 1600 mV at 1200 mV normal
[ 1.732249] asoc: sgtl5000 imx-ssi.1 mapping ok
[ 1.745029] asoc: mxc-spdif imx-spdif-dai.0 mapping ok
[ 1.758656] asoc: mxc-hdmi-soc imx-hdmi-soc-dai.0 mapping ok
[ 1.763333] ALSA device list:
[ 1.763341] #0: sgtl5000-audio
[ 1.763347] #1: imx-spdif
[ 1.763352] #2: imx-hdmi-soc
[ 1.763489] GACT probability NOT on
[ 1.763502] Mirror/redirect action on
[ 1.763510] u32 classifier
[ 1.763514] Actions configured
[ 1.763522] Netfilter messages via NETLINK v0.30.
[ 1.763571] nf_conntrack version 0.5.0 (12588 buckets, 50352 max)
[ 1.764463] ctnetlink v0.93: registering with nfnetlink.
[ 1.764503] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[ 1.764511] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[ 1.765241] xt_time: kernel timezone is -0000
[ 1.765954] IPv4 over IPv4 tunneling driver
[ 1.767126] GRE over IPv4 demultiplexor driver
[ 1.767807] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 1.767945] arp_tables: (C) 2002 David S. Miller
[ 1.767996] TCP cubic registered
[ 1.769282] NET: Registered protocol family 10
[ 1.773276] Mobile IPv6
[ 1.773312] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 1.773536] IPv6 over IPv4 tunneling driver
[ 1.778363] NET: Registered protocol family 17
[ 1.778408] NET: Registered protocol family 15
[ 1.796703] Bluetooth: RFCOMM TTY layer initialized
[ 1.796714] Bluetooth: RFCOMM socket layer initialized
[ 1.796722] Bluetooth: RFCOMM ver 1.11
[ 1.796730] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 1.796737] Bluetooth: BNEP filters: protocol multicast
[ 1.796746] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 1.796882] mmc0: new high speed SDHC card at address 59b4
[ 1.797072] L2TP core driver, V2.0
[ 1.797080] L2TP IP encapsulation support (L2TPv3)
[ 1.797510] mmcblk0: mmc0:59b4 SD 14.7 GiB
[ 1.797717] L2TP netlink interface
[ 1.797743] L2TP ethernet pseudowire support (L2TPv3)
[ 1.797751] lib80211: common routines for IEEE802.11 drivers
[ 1.797760] lib80211_crypt: registered algorithm ‘NULL’
[ 1.797767] VFP support v0.3: implementor 41 architecture 3 part 30 variant 4
[ 1.882447] ThumbEE CPU extension supported.
[ 1.887281] Bus freq driver module loaded
[ 1.887291] Bus freq driver Enabled
[ 1.887358] mxc_dvfs_core_probe
[ 1.887565] DVFS driver module loaded
[ 1.892653] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[ 1.913882] mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 > p4
[ 2.188839] Freeing init memory: 192K
[ 4.311415] init: cannot find ‘/system/etc/install-recovery.sh’, disabling ”
[ 4.333127] android_usb: already disabled
[ 4.337524] mtp_bind_config
[ 4.340602] adb_bind_config
[ 4.345090] adb_open
root@android:/ #

and a Yocto based image with XFCE:

U-Boot 2013.04-rc2-00847-gdebad5d (Apr 11 2013 – 13:47:03)CPU: Freescale i.MX6DL rev1.1 at 792 MHz
Reset cause: POR
Board: Wandboard
DRAM: 1 GiB
MMC: FSL_SDHC: 0
*** Warning – bad CRC, using default environmentIn: serial
Out: serial
Err: serial
Net: FEC [PRIME]
Warning: FEC using MAC address from net deviceHit any key to stop autoboot: 0
mmc0 is current device
reading boot.scr
** Unable to read file boot.scr **
reading uImage
3938036 bytes read in 183 ms (20.5 MiB/s)
Booting from mmc …
reading imx6dl-wandboard.dtb
** Unable to read file imx6dl-wandboard.dtb **
## Booting kernel from Legacy Image at 12000000 …
Image Name: Linux-3.0.35-wandboard+yocto+g64
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3937972 Bytes = 3.8 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Linux version 3.0.35-wandboard+yocto+g64fee2d ([email protected]
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Wandboard
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6DL/SOLO, silicon rev 1.1
PERCPU: Embedded 7 pages/cpu @8135d000 s5440 r8192 d15040 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 215040
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 80MB 768MB = 848MB total
Memory: 847672k/847672k available, 200904k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 – 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
DMA : 0xfbe00000 – 0xffe00000 ( 64 MB)
vmalloc : 0xc0800000 – 0xf2000000 ( 792 MB)
lowmem : 0x80000000 – 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 – 0x80000000 ( 2 MB)
modules : 0x7f000000 – 0x7fe00000 ( 14 MB)
.init : 0x80008000 – 0x80038000 ( 192 kB)
.text : 0x80038000 – 0x80aaedc4 (10716 kB)
.data : 0x80ab0000 – 0x80b05860 ( 343 kB)
.bss : 0x80b05884 – 0x80b559a0 ( 321 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:496
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
Set periph_clk’s parent to pll2_pfd_400M!
arm_max_freq=2
MXC_Early serial console at MMIO 0x2020000 (options ‘115200’)
bootconsole [ttymxc0] enabled
Console: colour dummy device 80×30
Calibrating delay loop… 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
Brought up 2 CPUs
SMP: Total of 2 processors activated (3162.11 BogoMIPS).
devtmpfs: initialized
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 1300 mV at 1150 mV fast normal
print_constraints: vddcore: 725 1300 mV at 1150 mV fast normal
print_constraints: vddsoc: 725 1300 mV at 1200 mV fast normal
print_constraints: vdd2p5: 2000 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2625 3400 mV at 3000 mV fast normal
hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
hw-breakpoint: maximum watchpoint size is 4 bytes.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x02050000, Cache size: 524288 B
bio: create slab at 0
mxs-dma mxs-dma-apbh: initialized
print_constraints: VDDA: 2500 mV
print_constraints: VDDIO: 3300 mV
vgaarb: loaded
SCSI subsystem initialized
spi_imx imx6q-ecspi.0: probed
spi_imx imx6q-ecspi.1: probed
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale USB OTG Driver loaded, $Revision: 1.55 $
imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Version 1.0.24.
Bluetooth: Core ver 2.16
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
i2c-core: driver [max17135] using legacy suspend method
i2c-core: driver [max17135] using legacy resume method
Switching to clocksource mxc_timer1
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Static Power Management for Freescale i.MX6
wait mode is disabled for i.MX6
cpaddr = c0820000 suspend_iram_base=c0890000
PM driver module loaded
IMX PCIe port: link down with power supply 0!
IMX usb wakeup probe
IMX usb wakeup probe
cpu regulator init ldo=0
i.MXC CPU frequency driver
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 1655
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
MIPI DSI driver module loaded
mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
mxc_hdmi mxc_hdmi: Detected HDMI controller 0x13:0x1a:0xa0:0xc1
imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
Console: switching to colour frame buffer device 240×67
imx-sdma imx-sdma: loaded firmware 1.1
imx-sdma imx-sdma: initialized
Serial: IMX driver
imx-uart.0: ttymxc0 at MMIO 0x2020000 (irq = 58) is a IMX
console [ttymxc0] enabled, bootconsole disabled
console [ttymxc0] enabled, bootconsole disabled
imx-uart.2: ttymxc2 at MMIO 0x21ec000 (irq = 60) is a IMX
loop: module loaded
GPMI NAND driver registered. (IMX)
vcan: Virtual CAN interface driver
CAN device driver interface
FEC Ethernet Driver
fec_enet_mii_bus: probed
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
add wake up source irq 72
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
add wake up source irq 75
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver…
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ARC USBOTG Device Controller driver (1 August 2005)
mousedev: PS/2 mouse device common for all mice
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
i2c /dev entries driver
Linux video capture interface: v2.00
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video16
mxc_v4l2_output mxc_v4l2_output.0: V4L2 device registered as video17
i2c-core: driver [mag3110] using legacy suspend method
i2c-core: driver [mag3110] using legacy resume method
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCIATH3K protocol initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: no vmmc regulator found
mmc0: SDHCI controller on platform [sdhci-esdhc-imx.2] using ADMA
mmc1: no vmmc regulator found
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.1] using ADMA
sdhci sdhci-esdhc-imx.0: no write-protect pin available!
mmc2: no vmmc regulator found
mmc2: SDHCI controller on platform [sdhci-esdhc-imx.0] using ADMA
VPU initialized
mxc_asrc registered
Thermal calibration data is 0x59952b5f
Anatop Thermal registered as thermal_zone0
anatop_thermal_probe: default cooling device is cpufreq!
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
mxc_spdif mxc_spdif.0: MXC SPDIF Audio
sgtl5000 1-000a: Failed to get supply ‘VDDD': -19
print_constraints: 1-000a: 850 1600 mV at 1200 mV normal
sgtl5000 1-000a: sgtl5000 revision 17
usb 1-1: new full speed USB device number 2 using fsl-ehci
mmc0: new high speed SDHC card at address 1234
mmcblk0: mmc0:1234 SA04G 3.63 GiB
mmcblk0: p1 p2
asoc: sgtl5000 imx-ssi.1 mapping ok
asoc: mxc-spdif imx-spdif-dai.0 mapping ok
asoc: mxc-hdmi-soc imx-hdmi-soc-dai.0 mapping ok
ALSA device list:
#0: sgtl5000-audio
#1: imx-spdif
#2: imx-hdmi-soc
NET: Registered protocol family 26
TCP cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20090105 abi 8)
NET: Registered protocol family 29
can: raw protocol (rev 20090105)
can: broadcast manager protocol (rev 20090105 t)
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
lib80211: common routines for IEEE802.11 drivers
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Bus freq driver module loaded
Bus freq driver Enabled
mxc_dvfs_core_probe
DVFS driver module loaded
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
EXT3-fs: barriers not enabled
input: 2.4G Wireless Receiver as /devices/platform/fsl-ehci.1/usb1/1-1/1-1:1.0
generic-usb 0003:1915:AF11.0001: input,hidraw0: USB HID v1.11 Keyboard [2.4G W0
mmc1: queuing unknown CIS tuple 0x80 (50 bytes)
input: 2.4G Wireless Receiver as /devices/platform/fsl-ehci.1/usb1/1-1/1-1:1.1
generic-usb 0003:1915:AF11.0002: input,hidraw1: USB HID v1.11 Mouse [2.4G Wire1
mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
mmc1: queuing unknown CIS tuple 0x80 (4 bytes)
generic-usb 0003:1915:AF11.0003: hidraw2: USB HID v1.11 Device [2.4G Wireless 2
mmc1: queuing unknown CIS tuple 0x02 (1 bytes)
mmc1: new SDIO card at address 0001
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing init memory: 192K
INIT: version 2.88 booting
Starting udev
udevd[82]: starting version 182
Starting Bootlog daemon: bootlogd.
ALSA: Restoring mixer settings…
No state is present for card sgtl5000audio
Found hardware: “sgtl5000-audio” “” “” “” “”
Hardware is initialized using a generic method
Configuring network interfaces… No state is present for card sgtl5000audio
No state is present for card imxspdif
Found hardware: “imx-spdif” “” “” “” “”
Hardware is initialized using a generic method
No state is present for card imxspdif
No state is present for card imxhdmisoc
Found hardware: “imx-hdmi-soc” “” “” “” “”
Hardware is initialized using a generic method
No state is present for card imxhdmisoc
eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:01, irq=-1)
udhcpc (v1.20.2) started
Sending discover…
PHY: 1:01 – Link is Up – 100/Full
Sending discover…
Sending select for 192.168.0.109…
Lease of 192.168.0.109 obtained, lease time 7200
/etc/udhcpc.d/50default: Adding DNS 192.168.0.1
done.
Starting rpcbind daemon…rpcbind: cannot create socket for udp6
rpcbind: cannot create socket for tcp6
done.
hwclock: can’t open ‘/dev/misc/rtc': No such file or directory
Fri Apr 12 13:14:00 UTC 2013
hwclock: can’t open ‘/dev/misc/rtc': No such file or directory
INIT: Entering runlevel: 5
Starting Xserver
Starting system message bus: dbus.
Starting advanced power management daemon: apmd.
apmd[460]: apmd 3.2.1 interfacing with apm driver 1.13 and APM BIOS 1.2
hwclock: can’t open ‘/dev/misc/rtc': No such file or directory
Starting syslogd/klogd: done
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon
…fail!
Starting Telephony daemon
Starting Linux NFC daemon
imx-audio: setting default mixer settings.
amixer: Unable to find simple control ‘Playback’,0

Running local boot scripts (/etc/rc.local).
Stopping Bootlog daemon: bootlogd.

Poky 8.0 (Yocto Project 1.3 Reference Distro) 1.3+snapshot-20130412 wandboard-d0

wandboard-dual login:

Images, BSPs, and Source Code for Wandboard Solo/Dual/Quad

Software support, although not 100% perfect, appears to be now much better than before, both in terms of stability and features, and the number of available images.

As of writing, Wandboard provide 2 Android images on their download page:

  • Android 4.2.2 Preview – Android 4.2 will become the official image, but this currently very much work in progress with no Bluetooth, limited UVC camera support, and probably quite a few bugs. The image is available for both Wandboard Dual and Quad. Source is not available yet, but soon will be.
  • Android 4.1.2 – Current somewhat stable image for Wandboard Dual and Solo. Source is available for download as a tarball, and via their git repo.

Linux kernel source is available as a tarball or via Wandbaord’s git repository. Several Linux based distributions  and BSP are now available:

  • Ubuntu 11.10 – For Wandboard Solo/Dual and Quad with GPU hardware acceleration, and VPU video decoding.
  • Freescale Yocto BSP – Wandboard Solo and Dual are officially part of Freescale i.MX6 Yocto BSP. You can build it yourself, or download some prebuilt image such as the one with xfce desktop environment
  • Buildroot – Buildroot for Wandboard Dual can be built. Most features seem included, but gstreamer appears to be missing.
  • Ubuntu 13.04 / Debian 7 – There are instructions to retrieve minimal rootfs for those 2 distributions on Wandboard Wiki, but those probably do not support GPU / VPU.
  • Community Squeeze OS – You may have never heard of that one, I hadn’t. CSOS, based on Fedora 18, is used by the “Community Squeeze Player project”, a network music player, similar to Logitech Squeezebox The image is only available for Wandboard Dual for now. Visit slimdevices forums for details.

Wandboard is also part of mainline U-Boot, so you can just get the source from DENX, build it for Wandboard, and put it on your board.  There’s also some work to get Wandboard into Linux mainline, but I’m not really sure about the status.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. June 11th, 2013 at 19:18 | #1

    The cpu is hot at 80C ! Is that temperature right ?

    It is trobulesome, because I think there is no place (holes) to fix a small cooler.

    Do you have made any test with an Ubuntu image ? Can you tell if the system is fast and stable ?

    Thanks and excuse me my bad english.

  2. June 11th, 2013 at 19:41 | #2

    @Leo
    I’m not sure, although it felt quite hot when I touched it. You could always place a heatsink. I only saw this problem once.

    I made some tests last time http://www.cnx-software.com/2013/04/01/wandboard-releases-updated-android-and-ubuntu-linux-images-and-source-code/ . But I used a Class 4 SD, so it was relatively slow, but I did not have reliability issues.

  3. June 12th, 2013 at 10:54 | #3

    No idea if you ran all the tests similar as above picture (the picture which explains the serial cable). But please turn the Wandboard around so that the connector board is at the bottom and the CPU is visible on top.

    Hot air is always travelling vertically upwards. turning the board around makes it difficult for the CPU since you block any airflow possible.

    Regarding Android / bluetooth. This has been fixed. UVC camera support is also improved. The complete sourcecode repository will be available Thursday/Friday this week.

  4. June 12th, 2013 at 11:09 | #4

    @wandboard
    Yes, I ran the test in this configuration, and turned it around to complete testing.

  5. Simon G
    June 13th, 2013 at 02:36 | #5

    “The board also overheated once [...] and froze.”
    That sentence made me kinda laugh.

  1. July 25th, 2013 at 17:30 | #1