Archive

Posts Tagged ‘debugging’

Wandboard Dual Benchmarks, Serial Console Fun, and Distributions List

June 11th, 2013 5 comments

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: 0×61011 [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 0×15000000
[ 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 : 0×80000000 – 0xc0000000 (1024 MB)
[ 0.000000] pkmap : 0x7fe00000 – 0×80000000 ( 2 MB)
[ 0.000000] modules : 0x7f000000 – 0x7fe00000 ( 14 MB)
[ 0.000000] .init : 0×80008000 – 0×80038000 ( 192 kB)
[ 0.000000] .text : 0×80038000 – 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 0×2020000 (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 0×02050000, 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 0×13: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 0×2020000 (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 0×02184000
[ 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 0×02184200
[ 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 : 0×80000000 – 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 – 0×80000000 ( 2 MB)
modules : 0x7f000000 – 0x7fe00000 ( 14 MB)
.init : 0×80008000 – 0×80038000 ( 192 kB)
.text : 0×80038000 – 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 0×2020000 (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 0×02050000, 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 0×13: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 0×2020000 (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 0×02184200
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 0×02184000
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
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Using ARM Development Studio 5 (DS-5) Streamline with MK802II mini PC

April 24th, 2013 1 comment

MK802-II is an Android 4.0 mini PC powered by AllWinner A10 (ARM Cortex A8) with 1GB RAM and 4GB flash. Instructions are also available to run Ubuntu, or other Linux distributions. ARM Development Studio 5 (ARM DS-5) is software development tool suite for ARM processors that can be used for both Linux and Android debugging, and available in 2 versions: professional edition and community edition, the latter being free of charge. I’m writing about both today, because Bob Peng, Technical Marking Engineer for ARM China, recently wrote a blog post in Chinese [Update: An English version is now available] showing how to use MK802-II, preloaded with the required drivers and daemon, with DS-5 Streamline Performance Analyzer with is part of both versions. The community edition may be missing some features of Streamline however.

Streamline Performance Analyzer allows you to:

  • Find out which modules or functions to take up most of the CPU, in order for you to optimize the affected code to speed up code execution speed.
  • Monitor power, current and voltage in real-time, so that you can optimize the CPU tasks to achieve the best performance at the lowest power consumption.
  • Analyze and optimize ARM Mali GPU in real-time, monitor CPU & GPU cache usage, and system memory usage.

Before using DS-5 Streamline Performance Analyzer, you normally need to setup your hardware development environment, and manually compile DS-5 gator driver for Streamline daemon. If you’re just an application developer, it can be a pain because you don’t usually care about low level stuff like compiling the kernel and modules, and your application is (mostly) hardware independent. That’s why, the ARM team in China, as chosen MK802-II as as low cost (about $35) development platform, and pre-built all you need to get going with DS-5 Streamline.

The trick seems you need to buy Rikomagic MK802II mini PC from a specific Aliexpress shop, and ask them to install DS-5 gator driver during the purchase, and you’ll also find ARM DS5 Streamline starting guide and USB driver in /home/ARM-DS-5 directory according to the shop. Sorry, I could not find a link to download the binaries and USB driver (USBDriver_MK802ii.zip) if you already have such device… Let me know if it’s available somewhere. I assume they decided to proceed this way to avoid having to handle different firmware versions, and if you want to use an existing device you should be able to build this yourself.

The instructions to configure the TV Dongle and your computer (Windows, Linux or Mac), install ARM DS-5 (PE or CE) are explained in details in the post, but I’ll skip that, and write directly about the things you can do with Streamline and MK802-II.

Once all is configured properly, you can start ARM DS-5 to analyze your application:

  1. Timeline view – CPU performance analysis
    DS-5_AllWinner_Dongle_CPU_TimelineThe part you want for the CPU usage analysis in the screenshot above is the linux Scheduler, branch, and clock section, but this view also include GPU vertex and fragment and Disk IO, and other GPU parts shown in the figure below.
  2. Timeline View – Mali GPU Performance Analysis
    DS-5_AllWinner_Dongle_GPU_Timeline
    Scrolling down the Timeline View, you’ll find more details about GPU usage such as geometry statistics and GPU vertex processor activity, but you’ll also get information about memory usage, interrupts and more.
  3. Call Paths View
    DS-5_AllWinner_Dongle_Call_PathsThe call paths view is supposed to show how functions are called, but since they just used the Android Browser for testing it mainly shows the libraries which have been called and the CPU usage.
  4. Functions view
    DS-5_AllWinner_Dongle_FunctionsAgain, the example above is not optimal because they used a release binary, but it still shows you which libraries takes the most CPU usage.
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

How to Access the Serial Console in HI802 / GK802 mini PC

January 23rd, 2013 15 comments

One of the advantage of HiAPad Hi802 (aka Zealz GK802) is that it provides access to UART and I2C pins via through holes on the board. UART4 Tx and Rx pins give you access to the serial console which is a must for bootloader (U-boot), and kernel development or for debugging.

The first thing is the open the casing and locate the debug pins on the board.

Hi802 Board Debug Header Pin Description

Hi802 Board Debug Pins Description

The very best way is probably to solder a pin header, but since I don’t have header, nor soldering iron, I’ve done it the “MacGyver” way with 3 wires connected to TxD, RxD and GND, and some sticky tape.
Hi802 UART Wires

You can now insert the other side of the wires into your USB to TLL debug board (GND <-> GND, Tx <-> Rx, and Rx <-> Tx), and connect it to your Windows or Linux PC. The serial board should be recognized as a serial device. It usually shows as COM1 in Windows, and /dev/ttyUSB0 in Linux, but it may depends on your PC configuration. You can find the correct port in the Hardware Manager (Windows), or with dmesg (Linux).

Configure your preferred terminal emulator (e.g. Hyper Terminal, Putty, Minicom…) with 115200 bps, 8/N/1 and no hardware or software flow control, and power on Hi802 mini PC.

Hi802 Serial Console

Hi802 Serial Console in Ubuntu 12.04

That’s it. Since the board gets a bit hot, the sticky tape tends to peel off, but until now this has not been an issue. I just avoid touching the board to power it on/off, and turn on/off the device via the power strip instead.

For reference here are the logs for GK802 Android boot:

U-Boot 2009.08-dirty (Jan 16 2013 – 20:46:15)CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Temperature: 59 C, calibration data 0x5804fe69
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 : 264000000Hz
emi_slow clock: 29333333Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: i.MX6Q-RICHTECHIE: unknown-board Board: 0×63012 [WDOG]
Boot Device: SD
I2C: ready
DRAM: 1 GB
MMC: FSL_ESDHC: 0,FSL_ESDHC: 1
Error: re-tried 100 times without response. Give up
*** Warning – bad CRC, using default environmentIn: serial
Out: serial
Err: serial
check key…..
Checking for recovery command file…
normal boot…
Net: got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot: 0
kernel @ 10808000 (4360688)
ramdisk @ 11800000 (1191460)
kernel cmdline:
use uboot command line:
console=ttymxc3,115200 androidboot.console=ttymxc3 init=/init rw video=Starting kernel …

Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 3.0.35-02345-g411d6f6-dirty (root@richtechie-amd64) (gcc version 3
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad Richtechie Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.2
PERCPU: Embedded 7 pages/cpu @c1168000 s5760 r8192 d14720 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 203264
Kernel command line: console=ttymxc3,115200 androidboot.console=ttymxc3 init=/i
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 576MB 226MB = 802MB total
Memory: 801736k/801736k available, 246840k reserved, 526336K highmem
Virtual kernel memory layout:
vector : 0xffff0000 – 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
DMA : 0xfbe00000 – 0xffe00000 ( 64 MB)
vmalloc : 0xd2800000 – 0xf2000000 ( 504 MB)
lowmem : 0xc0000000 – 0xd2000000 ( 288 MB)
pkmap : 0xbfe00000 – 0xc0000000 ( 2 MB)
modules : 0xbf000000 – 0xbfe00000 ( 14 MB)
.init : 0xc0008000 – 0xc003f000 ( 220 kB)
.text : 0xc003f000 – 0xc07dc784 (7798 kB)
.data : 0xc07de000 – 0xc082e860 ( 323 kB)
.bss : 0xc082e884 – 0xc095edf0 (1218 kB)
Preemptible hierarchical RCU implementation.
NR_IRQS:496
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
MXC_Early serial console at MMIO 0x21f0000 (options ’115200′)
bootconsole [ttymxc3] enabled
Calibrating delay loop… 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Initializing cgroup subsys cpuacct
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
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 1150 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: 2800 3150 mV at 3000 mV fast normal
—richtechie board init—
INT1 = 0, INT2 = 1
—richtechie board init end—
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 0x410000c7, AUX_CTRL 0×02070000, Cache size: 1048576 B
IMX usb wakeup probe
bio: create slab at 0
print_constraints: vmmc: 3300 mV
SCSI subsystem initialized
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 $
add wake up source irq 75
imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
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: 16384 (order: 4, 65536 bytes)
TCP established hash table entries: 65536 (order: 7, 524288 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
TCP reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 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.
Unpacking initramfs…
Freeing initrd memory: 1160K
PMU: registered new PMU device of type 0
Static Power Management for Freescale i.MX6
wait mode is disabled for i.MX6
cpaddr = d2880000 suspend_iram_base=d2864000
PM driver module loaded
IMX usb wakeup probe
i.MXC CPU frequency driver
highmem bounce pool size: 64 pages
ashmem: initialized
NTFS driver 2.1.30 [Flags: R/W].
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
fuse init (API version 7.16)
msgmni has been set to 540
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
mxc_hdmi mxc_hdmi: Detected HDMI controller 0×13:0xa:0xa0:0xc1
fbcvt: 1280×720@60: CVT Name – .921M9
imx-ipuv3 imx-ipuv3.0: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
imx-sdma imx-sdma: loaded firmware 1.1
imx-sdma imx-sdma: initialized
Serial: IMX driver
imx-uart.3: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX
console [ttymxc3] enabled, bootconsole disabled
console [ttymxc3] enabled, bootconsole disabled
imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
loop: module loaded
vcan: Virtual CAN interface driver
CAN device driver interface
flexcan netdevice driver
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
PPTP driver version 0.8.5
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
usbcore: registered new interface driver kaweth
rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver
usbcore: registered new interface driver rtl8150
hso: drivers/net/usb/hso.c: Option Wireless
usbcore: registered new interface driver hso
usbcore: registered new interface driver asix
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver cdc_eem
usbcore: registered new interface driver dm9601
usbcore: registered new interface driver smsc75xx
usbcore: registered new interface driver smsc95xx
usbcore: registered new interface driver gl620a
usbcore: registered new interface driver net1080
usbcore: registered new interface driver plusb
usbcore: registered new interface driver rndis_host
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver MOSCHIP usb-ethernet driver
usbcore: registered new interface driver int51x1
usbcore: registered new interface driver kalmia
usbcore: registered new interface driver ipheth
usbcore: registered new interface driver sierra_net
usbcore: registered new interface driver cx82310_eth
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
usbcore: registered new interface driver lg-vl600
usbcore: registered new interface driver rndis_wlan
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 75, io base 0×02184000
fsl-ehci fsl-ehci.0: 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 72
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 72, io base 0×02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Initializing USB Mass Storage driver…
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for IPWireless converter
usbcore: registered new interface driver ipwtty
ipw: v0.4:IPWireless tty driver
USB Serial support registered for iuu_phoenix
usbcore: registered new interface driver iuu_phoenix
iuu_phoenix: v0.12:Infinity USB Unlimited Phoenix driver
USB Serial support registered for moto-modem
usbcore: registered new interface driver moto-modem
USB Serial support registered for navman
usbcore: registered new interface driver navman
USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
USB Serial support registered for Qualcomm USB modem
usbcore: registered new interface driver qcserial
ARC USBOTG Device Controller driver (1 August 2005)
android_usb gadget: Mass Storage Function, version: 2009/09/11
android_usb gadget: Number of LUNs=1
lun0: LUN: removable file: (no medium)
Gadget Android: controller ‘fsl-usb2-udc’ not recognized
android_usb gadget: android_usb ready
Suspend udc for OTG auto detect
fsl-usb2-udc: bind to driver android_usb
mousedev: PS/2 mouse device common for all mice
input: gpio-keys as /devices/platform/gpio-keys/input/input0
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
using rtc device, snvs_rtc, for alarms
snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
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
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v1.1.0)
imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
device-mapper: uevent: version 1.0.3
device-mapper: ioctl: 4.20.0-ioctl (2011-02-02) initialised: [email protected]
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
usb 1-1: new high speed USB device number 2 using fsl-ehci
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCI BCSP protocol initialized
Bluetooth: HCILL protocol initialized
Bluetooth: BlueFRITZ! USB driver ver 1.2
usbcore: registered new interface driver bfusb
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: SDHCI controller on platform [sdhci-esdhc-imx.3] using DMA
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
mxc_vdoa mxc_vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
VPU initialized
revserved_memory_account:viv_gpu registerd
Thermal calibration data is 0x5804fe69
Anatop Thermal registered as thermal_zone0
anatop_thermal_probe: default cooling device is cpufreq!
no check
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SU08G 7.40 GiB
mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 > p4
mmcblk0: p4 size 11711490 extends beyond EOD, truncated
[## BT ##] init_module
usb 1-1: new high speed USB device number 3 using fsl-ehci
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
logger: created 256K log ‘log_main’
logger: created 256K log ‘log_events’
logger: created 256K log ‘log_radio’
logger: created 256K log ‘log_system’
usbcore: registered new interface driver snd-usb-audio
mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
asoc: mxc-hdmi-soc imx-hdmi-soc-dai.0 mapping ok
ALSA device list:
#0: imx-hdmi-soc
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (12545 buckets, 50180 max)
ctnetlink v0.93: registering with nfnetlink.
NF_TPROXY: Transparent proxy support initialized, version 4.1.0
NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
xt_time: kernel timezone is -0000
IPv4 over IPv4 tunneling driver
GRE over IPv4 demultiplexor driver
ip_tables: (C) 2000-2006 Netfilter Core Team
arp_tables: (C) 2002 David S. Miller
TCP cubic registered
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
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)
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
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
L2TP core driver, V2.0
PPPoL2TP kernel driver, V2.0
L2TP IP encapsulation support (L2TPv3)
L2TP netlink interface
L2TP ethernet pseudowire support (L2TPv3)
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
regulator_init_complete: vddpu: incomplete constraints, leaving on
snvs_rtc snvs_rtc.0: setting system clock to 2013-01-23 04:51:21 UTC (135891668)
Freeing init memory: 220K
init: cannot find ‘/system/bin/gpu_init.sh’, disabling ‘gpu_init’
init: cannot find ‘/system/etc/install-recovery.sh’, disabling ‘flash_recovery’
android_usb: already disabled
mtp_bind_config
root@android:/ # usb 1-1.4.1: new low speed USB device number 5 using fsl-ehci
warning: `rild’ uses 32-bit capabilities (legacy support in use)
usb 1-1.4.1: device v1a2c p0002 is not supported
input: USB USB Keykoard as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.4.1/1
generic-usb 0003:1A2C:0002.0001: input,hidraw0: USB HID v1.10 Keyboard [USB USB0
input: USB USB Keykoard as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.4.1/2
generic-usb 0003:1A2C:0002.0002: input,hidraw1: USB HID v1.10 Device [USB USB K1
usb 1-1.4.2: new low speed USB device number 6 using fsl-ehci
usb 1-1.4.2: device v1c4f p0003 is not supported
input: SIGMACHIP Usb Mouse as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.43
generic-usb 0003:1C4F:0003.0003: input,hidraw2: USB HID v1.10 Mouse [SIGMACHIP 0
ERROR: v4l2 capture: slave not found!

...and Ubuntu 11.10 boot (which fails to mount the rootfs on my device most of the time):

U-Boot 2009.08 (Jan 03 2013 - 19:41:36)CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Temperature: 47 C, calibration data 0x5804fe69
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 : 264000000Hz
emi_slow clock: 29333333Hz
ddr clock : 528000000Hz
usdhc1 clock : 198000000Hz
usdhc2 clock : 198000000Hz
usdhc3 clock : 198000000Hz
usdhc4 clock : 198000000Hz
nfc clock : 24000000Hz
Board: i.MX6Q-RICHTECHIE: unknown-board Board: 0x63012 [POR]
Boot Device: SD
I2C: ready
DRAM: 1 GB
MMC: FSL_ESDHC: 0,FSL_ESDHC: 1
Error: re-tried 100 times without response. Give up
*** Warning – bad CRC, using default environment

In: serial
Out: serial
Err: serial
Checking for recovery command file…
** Bad partition 6 **
Net: got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot: 0
mmc1 is current device

MMC read: dev # 1, block # 2048, count 8192 … 8192 blocks read: OK
## Booting kernel from Legacy Image at 10800000 …
Image Name: Linux-;
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3955796 Bytes = 3.8 MB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Linux version 3.0.35-2026-geaaf30e (richtechie@richtechie-ubuntu904) (gcc versi3
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad Richtechie Board
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.2
PERCPU: Embedded 7 pages/cpu @8c008000 s5440 r8192 d15040 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 210944
Kernel command line: console=ttymxc3,115200 ip=dhcp root=/dev/mmcblk0p1 rootwait
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: 576MB 256MB = 832MB total
Memory: 834592k/834592k available, 213984k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 – 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
DMA : 0xf4600000 – 0xffe00000 ( 184 MB)
vmalloc : 0xc0800000 – 0xf2000000 ( 792 MB)
lowmem : 0×80000000 – 0xc0000000 (1024 MB)
pkmap : 0x7fe00000 – 0×80000000 ( 2 MB)
modules : 0x7f000000 – 0x7fe00000 ( 14 MB)
.init : 0×80008000 – 0×80039000 ( 196 kB)
.text : 0×80039000 – 0x8075f178 (7321 kB)
.data : 0×80760000 – 0x807bd4c0 ( 374 kB)
.bss : 0x807bd4e4 – 0x8080a74c ( 309 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:496
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
MXC_Early serial console at MMIO 0x21f0000 (options ’115200′)
bootconsole [ttymxc3] 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
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
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: 2800 3150 mV at 3000 mV fast normal
—richtechie board init—
INT1 = 1, INT2 = 0
—richtechie board init end—
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 0x410000c7, AUX_CTRL 0×02070000, Cache size: 1048576 B
IMX usb wakeup probe
bio: create slab at 0
print_constraints: vmmc: 3300 mV
SCSI subsystem initialized
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 $
add wake up source irq 75
imx-ipuv3 imx-ipuv3.0: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
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.
PMU: registered new PMU device of type 0
Static Power Management for Freescale i.MX6
wait mode is enabled for i.MX6
cpaddr = c0880000 suspend_iram_base=c0864000
PM driver module loaded
IMX usb wakeup probe
i.MXC CPU frequency driver
NTFS driver 2.1.30 [Flags: R/W DEBUG].
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 1630
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
mxc_sdc_fb mxc_sdc_fb.0: register mxc display driver hdmi
mxc_hdmi mxc_hdmi: Detected HDMI controller 0×13:0xa:0xa0:0xc1
fbcvt: 1280×720@60: CVT Name – .921M9
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 160×45
imx-sdma imx-sdma: loaded firmware 1.1
imx-sdma imx-sdma: initialized
Serial: IMX driver
imx-uart.3: ttymxc3 at MMIO 0x21f0000 (irq = 61) is a IMX
console [ttymxc3] enabled, bootconsole disabled
console [ttymxc3] enabled, bootconsole disabled
imx-uart.1: ttymxc1 at MMIO 0x21e8000 (irq = 59) is a IMX
loop: module loaded
vcan: Virtual CAN interface driver
CAN device driver interface
flexcan netdevice driver
FEC Ethernet Driver
usbcore: registered new interface driver catc
catc: v2.8:CATC EL1210A NetMate USB Ethernet driver
usbcore: registered new interface driver kaweth
pegasus: v0.6.14 (2006/09/27), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
rtl8150: v0.6.2 (2004/08/27):rtl8150 based usb-ethernet driver
usbcore: registered new interface driver rtl8150
hso: drivers/net/usb/hso.c: Option Wireless
usbcore: registered new interface driver hso
usbcore: registered new interface driver asix
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver cdc_eem
usbcore: registered new interface driver dm9601
usbcore: registered new interface driver smsc75xx
usbcore: registered new interface driver smsc95xx
usbcore: registered new interface driver gl620a
usbcore: registered new interface driver net1080
usbcore: registered new interface driver plusb
usbcore: registered new interface driver rndis_host
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver MOSCHIP usb-ethernet driver
usbcore: registered new interface driver int51x1
usbcore: registered new interface driver kalmia
usbcore: registered new interface driver ipheth
usbcore: registered new interface driver sierra_net
usbcore: registered new interface driver cx82310_eth
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
usbcore: registered new interface driver lg-vl600
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 75, io base 0×02184000
fsl-ehci fsl-ehci.0: 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 72
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 72, io base 0×02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver usblp
Initializing USB Mass Storage driver…
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver ums-realtek
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for Garmin GPS usb/tty
usbcore: registered new interface driver garmin_gps
garmin_gps: v0.36:garmin gps driver
USB Serial support registered for IPWireless converter
usbcore: registered new interface driver ipwtty
ipw: v0.4:IPWireless tty driver
USB Serial support registered for iuu_phoenix
usbcore: registered new interface driver iuu_phoenix
iuu_phoenix: v0.12:Infinity USB Unlimited Phoenix driver
USB Serial support registered for Keyspan – (without firmware)
USB Serial support registered for Keyspan 1 port adapter
USB Serial support registered for Keyspan 2 port adapter
USB Serial support registered for Keyspan 4 port adapter
usbcore: registered new interface driver keyspan
keyspan: v1.1.5:Keyspan USB to Serial Converter Driver
USB Serial support registered for Keyspan PDA
USB Serial support registered for Keyspan PDA – (prerenumeration)
usbcore: registered new interface driver keyspan_pda
keyspan_pda: v1.1:USB Keyspan PDA Converter driver
USB Serial support registered for KL5KUSB105D / PalmConnect
usbcore: registered new interface driver kl5kusb105d
kl5kusb105: v0.4:KLSI KL5KUSB105 chipset USB->Serial Converter driver
USB Serial support registered for KOBIL USB smart card terminal
usbcore: registered new interface driver kobil
kobil_sct: 21/05/2004:KOBIL USB Smart Card Terminal Driver (experimental)
USB Serial support registered for MCT U232
usbcore: registered new interface driver mct_u232
mct_u232: z2.1:Magic Control Technology USB-RS232 converter driver
USB Serial support registered for Moschip 2 port adapter
mos7720: 2.1:Moschip USB Serial Driver
usbcore: registered new interface driver moschip7720
USB Serial support registered for Moschip 7840/7820 USB Serial Driver
mos7840: 1.3.2:Moschip 7840/7820 USB Serial Driver
usbcore: registered new interface driver mos7840
USB Serial support registered for moto-modem
usbcore: registered new interface driver moto-modem
USB Serial support registered for navman
usbcore: registered new interface driver navman
USB Serial support registered for ZyXEL – omni.net lcd plus usb
usbcore: registered new interface driver omninet
omninet: v1.1:USB ZyXEL omni.net LCD PLUS Driver
USB Serial support registered for GSM modem (1-port)
usb 1-1: new high speed USB device number 2 using fsl-ehci
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
USB Serial support registered for oti6858
usbcore: registered new interface driver oti6858
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
USB Serial support registered for qcaux
usbcore: registered new interface driver qcaux
USB Serial support registered for Qualcomm USB modem
usbcore: registered new interface driver qcserial
USB Serial support registered for Quatech SSU-100 USB to Serial Driver
usbcore: registered new interface driver ssu100
ssu100: v0.1:Quatech SSU-100 USB to Serial Driver
USB Serial support registered for symbol
usbcore: registered new interface driver symbol
usbcore: registered new interface driver cypress_cy7c63
ARC USBOTG Device Controller driver (1 August 2005)
mousedev: PS/2 mouse device common for all mice
input: gpio-keys as /devices/platform/gpio-keys/input/input0
i2c-core: driver [isl29023] using legacy suspend method
i2c-core: driver [isl29023] using legacy resume method
snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
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
imx2-wdt imx2-wdt.0: IMX2+ Watchdog Timer enabled. timeout=60s (nowayout=1)
Bluetooth: Virtual HCI driver ver 1.3
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCI BCSP protocol initialized
Bluetooth: HCILL protocol initialized
Bluetooth: HCIATH3K protocol initialized
Bluetooth: Broadcom Blutonium firmware driver ver 1.2
usbcore: registered new interface driver bcm203x
Bluetooth: Digianswer Bluetooth USB driver ver 0.10
usbcore: registered new interface driver bpa10x
Bluetooth: BlueFRITZ! USB driver ver 1.2
usbcore: registered new interface driver bfusb
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: SDHCI controller on platform [sdhci-esdhc-imx.3] using DMA
mmc0: new high speed SDHC card at address 1234
mmc1: SDHCI controller on platform [sdhci-esdhc-imx.2] using DMA
mmcblk0: mmc0:1234 SA08G 7.28 GiB
VPU initialized
Thermal calibration data is 0x5804fe69
mmcblk0: p1
Anatop Thermal registered as thermal_zone0
anatop_thermal_probe: default cooling device is cpufreq!
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
caam caam.0: device ID = 0x0a16010000000000
caam caam.0: job rings = 2, qi = 0
alg: No test for authenc(hmac(md5),cbc(aes)) (authenc-hmac-md5-cbc-aes-caam)
caam caam.0: authenc-hmac-md5-cbc-aes-caam
alg: No test for authenc(hmac(sha1),cbc(aes)) (authenc-hmac-sha1-cbc-aes-caam)
caam caam.0: authenc-hmac-sha1-cbc-aes-caam
alg: No test for authenc(hmac(sha224),cbc(aes)) (authenc-hmac-sha224-cbc-aes-ca)
caam caam.0: authenc-hmac-sha224-cbc-aes-caam
alg: No test for authenc(hmac(sha256),cbc(aes)) (authenc-hmac-sha256-cbc-aes-ca)
caam caam.0: authenc-hmac-sha256-cbc-aes-caam
alg: No test for authenc(hmac(md5),cbc(des3_ede)) (authenc-hmac-md5-cbc-des3_ed)
caam caam.0: authenc-hmac-md5-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha1),cbc(des3_ede)) (authenc-hmac-sha1-cbc-des3_)
caam caam.0: authenc-hmac-sha1-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha224),cbc(des3_ede)) (authenc-hmac-sha224-cbc-d)
caam caam.0: authenc-hmac-sha224-cbc-des3_ede-caam
alg: No test for authenc(hmac(sha256),cbc(des3_ede)) (authenc-hmac-sha256-cbc-d)
caam caam.0: authenc-hmac-sha256-cbc-des3_ede-caam
alg: No test for authenc(hmac(md5),cbc(des)) (authenc-hmac-md5-cbc-des-caam)
caam caam.0: authenc-hmac-md5-cbc-des-caam
alg: No test for authenc(hmac(sha1),cbc(des)) (authenc-hmac-sha1-cbc-des-caam)
caam caam.0: authenc-hmac-sha1-cbc-des-caam
alg: No test for authenc(hmac(sha224),cbc(des)) (authenc-hmac-sha224-cbc-des-ca)
caam caam.0: authenc-hmac-sha224-cbc-des-caam
alg: No test for authenc(hmac(sha256),cbc(des)) (authenc-hmac-sha256-cbc-des-ca)
caam caam.0: authenc-hmac-sha256-cbc-des-caam
caam caam.0: cbc-aes-caam
caam caam.0: cbc-3des-caam
caam caam.0: cbc-des-caam
usb 1-1.4: new high speed USB device number 3 using fsl-ehci
platform caam_jr.0: registering rng-caam
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
hub 1-1.4:1.0: USB hub found
hub 1-1.4:1.0: 4 ports detected
mingwen:10,de,6,0:2,0,0,0
[## BT ##] init_module
usbcore: registered new interface driver snd-usb-audio
mxc_hdmi_soc mxc_hdmi_soc.0: MXC HDMI Audio
asoc: mxc-hdmi-soc imx-hdmi-soc-dai.0 mapping ok
ALSA device list:
#0: 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
regulator_init_complete: vddpu: incomplete constraints, leaving on
snvs_rtc snvs_rtc.0: setting system clock to 1970-01-01 00:00:01 UTC (1)
usb 2-1: new high speed USB device number 2 using fsl-ehci
usb 1-1.4.1: new low speed USB device number 4 using fsl-ehci
usb 1-1.4.1: device v1a2c p0002 is not supported
input: USB USB Keykoard as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.4.1/1
generic-usb 0003:1A2C:0002.0001: input,hidraw0: USB HID v1.10 Keyboard [USB USB0
input: USB USB Keykoard as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.4.1/2
generic-usb 0003:1A2C:0002.0002: input,hidraw1: USB HID v1.10 Device [USB USB K1
usb 1-1.4.2: new low speed USB device number 5 using fsl-ehci
usb 1-1.4.2: device v1c4f p0003 is not supported
input: SIGMACHIP Usb Mouse as /devices/platform/fsl-ehci.0/usb1/1-1/1-1.4/1-1.43
generic-usb 0003:1C4F:0003.0003: input,hidraw2: USB HID v1.10 Mouse [SIGMACHIP 0
EXT3-fs (mmcblk0p1): error: couldn't mount because of unsupported optional feat)
EXT2-fs (mmcblk0p1): error: couldn't mount because of unsupported optional feat)
Unable to handle kernel NULL pointer dereference at virtual address 0000003c
pgd = 80004000
[0000003c] *pgd=00000000
Internal error: Oops: 5 [#1] PREEMPT SMP
Modules linked in:
Unable to handle kernel NULL pointer dereference at virtual address 00000b04
pgd = 80004000
[00000b04] *pgd=00000000

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

Debugging Embedded Linux (Kernel) Power Management – ELCE 2012

January 17th, 2013 No comments

Tero Kristo, Linux kernel developer at Texas Instruments, explains how to debug power management in Embedded Linux at ELCE 2012.

Abstract:

The presentation will talk about debugging various problems a kernel developer can face when working with power management. These include hardware related issues (IC / HW layout bugs, bad documentation) and software related (kernel bugs, driver problems, adding new kernel features, bad userspace behavior.) Along with presenting some of these problems, I will discuss about ways to debug these… power management typically requires specific tools to be used. I will base the discussion on my first hand experience from working with Linux PM. Target audience is (kernel) software developers interested in power management.

Linux Power Management Architecture

Linux Power Management Architecture

The presentation is divided into 3 sections:

  • Debugging tools / methods for PM
    • Disabling kernel features
    • Stress testing
    • Tracing (printk / low level UART)
    • GPIO / LED trace
    • Debugger
    • Buffered traces / statistics with trace-cmd & kernelshark
  • Kernel power management features
    • Suspend – echo mem > /sys/power/state
    • Cpuidle – Debug info available at /sys/devices/system/cpu/*/cpuidle/*
    • Regulators – Userspace API available at /sys/class/regulator
    • Clock framework – Userspace interface: /sys/kernel/debug/clk/*
    • Cpufreq – Debug info in /sys/devices/system/cpu/*/cpufreq/*, /sys/class/regulator/* and /sys/kernel/debug/clk/
    • Devfreq
  • Typical power management problems / bugs
    • Bootloader madness insanity
    • Device crash
    • Device malfunction
    • Increased power consumption – Can be kernel, hardware or userspace issues

You can  download the slides for this presentation, and you may also want to have a look at Powertop & Powerdebug for Linux power management debugging.

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

BoFs: Developer Tools and Methods: Tips & Tricks – ELCE 2012

January 16th, 2013 No comments

Tim Bird, senior staff software engineer at Sony Network Entertainment, hosts a BoF session about tools & methods for embedded Linux developers at ELCE 2012.

Abstract:

In this Birds-of-a-Feather-session, Tim will share some of his favorite tips for developing embedded Linux software. This will include tips for using ‘git’, how he does multi-platform development, and tips for other tools that other developers might find useful. Prior to the event, Tim will do a survey and solicit ideas from other developers as well. Please come to this BoF prepared to share your own productivity tips for embedded Linux development.

Tim talks is divided into the following key points:

  • Git tips – How to finds info about commits (git log, git show), use aliases (e.g. for colored output), find a commit that caused problem (git bisect), and more
  • Patch management – quilt patch managing tool, diffinfo, and splitpatch (to break patches apart)
  •  Source searching – cgrep, mgrep, confgrep, kgrep, armcgrep, jgrep, git search, and finds (with a “s”)
  • Kernel debugging
    • Use of fs/sync.c:SYSCALL_DEFINE0(sync)
    • qemu for kernel debugging
    • Enable CONFIG_DEBUG_LL and CONFIG_EARLY_PRINTK (on ARM) kernel options.
    • Finding the printk buffer with U-boot
  • Testing – tbtorture.sh – for stress testing (cnxsoft -> can’t find it)
  • Board handling
    • Consistent board setup (including remote access)
    • Connections: serial, network, power (maybe USB)
    • tftp boot kernel, with NFS rootfs
    • Tiny Target Control (ttc) – command line tool for board control (cnxsoft -> can’t find it)
    • Serial TTY tricks & tips
  • Personal productivity – Notes, to do, git branch…
  • Your ideas….

You can also download the slides for this BoF session.

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

USB Debugging and Profiling Techniques – ELCE 2012

January 15th, 2013 No comments

Kishon Vijay Abraham and Basak Partha, respectively software design engineer and tech lead at Texas Instruments, provide an overview of techniques that can be used to debug Linux USB drivers on the host PC or/and the device itself.

Abstract:

The widespread integration of USB into embedded applications presents many developers with the challenge of debugging problems, that are difficult to detect and isolate when a USB device misbehaves. This paper discusses about the various USB debugging techniques which includes debugging at the host PC, at the device and in the cable and discuss when each of the above techniques will be handy. This paper will also discuss about the various facilities provided within Linux kernel to aid in USB debugging e.g sysfs, trace points etc. and the various user space tools available to help USB debugging e.g USBMON. This paper also discusses about the profiling techniques at various levels in the usb stack. This paper will be of interest to the Software Developers and Testers who develop and debug USB drivers.

USB Generic Linux System Architecture

USB Generic Linux System Architecture

Their talk is divided into the following sections:

  • Introduction
  • USB Generic Linux System Architecture
  • USB Mass Storage Architecture
  • Challenges in debugging – Encoded data, timing issues, out-of spec signaling errors, potocol errors…
  • USB Debugging Techniques – Main section with details about sysfs/debugfs, usbmon, dynamic debug interface, tracepoint, protocol analyzer (e.g. Elisys/Lecroy/total Phase analyzer tools)
  • Gadget Zero – USB gadget drivers used only for testing
  • Other profiling tools – IOzone (Mass Storage profiling), FFSB (Flexible Filesystem Benchmark) and dd


You can download the slides for this presentation. Beside the kernel USB documentation, they recommend using Virtual USB Analyzer, a free and open source GUI tool capable of displaying usbmon data, as well as XML data from hardware analyzers such as the Ellisys USB Explorer 200.

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

OpenOCD: Hardware Debugging and More – ELCE 2012

January 15th, 2013 No comments

Peter Stuge, self-employed hardware, software and security consultant, talks about OpenOCD open source tool for JTAG debugging at ELCE 2012 in Barcelona.

Abstract:

The presentation walks through how to use the OpenOCD open source software to debug embedded systems on the hardware level via JTAG interface, allowing single stepping, setting breakpoints, inspecting register and memory contents and more, starting before the CPU even executes the first instruction. After an introduction to JTAG debugging we look at how to use OpenOCD both standalone for firmware flashing as well as together with the GDB GNU Debugger for convenient debugging of bootloaders or the Linux kernel. These tasks will be demonstrated, and the respective OpenOCD configuration details will be explained.The presentation targets intermediate-level developers who work on bootloaders, BSPs and kernel drivers, deeply embedded systems, and test and production engineers with an interest in using OpenOCD, which can allow unified tooling across all of development, testing and production.

The presentation slides are not available, but you may want to have a look at the presentation slides for “Using OpenOCD JTAG in Android Kernel Debugging” by Mike Anderson, the PTR group. The video in the previous link at very bad audio however.

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