Archive

Posts Tagged ‘tutorial’

Cubieboard 4 Ubuntu Review – Setup, Usability, and Performance

April 1st, 2015 No comments

Cubieboard4 is a development board powered by Allwinner A80 octa-core processor with 2GB RAM and 16GB eMMC. I’ve already shown how to get started with the board using the pre-installed Android 4.4 image, and run some benchmarks in Android, so now it’s time to check out the Ubuntu Linaro 14.04 image provided by CubieTech. I’ll show how to install and setup Ubuntu 14.04 on the board using a micro SD card, run desktop applications like Chromium, Libre Office, and son on on the board, and complete the review with some Linux benchmarks.

Setting up Ubuntu on Cubieboard4

Firmware images for Cubiebord4 can be downloaded @ http://dl.cubieboard.org/model/cc-a80/Image/. Currently Android 4.4, Debian server, Ubuntu Linaro server, and Ubuntu Linaro desktop with LXDE desktop environment. That’s the latter I’ll use for the experiment, and two images are available:

  • linaro-desktop-cb4-card-hdmi-v0.4.img.7z – Bootable image from micro SD card
  • linaro-desktop-cb4-emmc-hdmi-v0.4.img.7z – Installation image to eMMC to be written to micro SD card (and not via PhoenixSuite).

I’ve just downloaded and flash the “card” image to a 32GB Class 10 micro SD card in a terminal windows in a Linux computer:

wget http://dl.cubieboard.org/model/cc-a80/Image/ubuntu-linaro/ubuntu-linaro-v0.4/linaro-desktop-cb4-card-hdmi-v0.4.img.7z
7z x linaro-desktop-cb4-card-hdmi-v0.4.img.7z
sudo dd if=linaro-desktop-cb4-card-hdmi-v0.4.img | pv | sudo dd of=/dev/sdX bs=16M

where X is the letter of your SD card, which you can check with lsblk. Be very careful as using the wrong letter may wipe out your hard drive, and you may consider using a virtual machine to be extra safe. This step also be done in a Windows computer with 7-zip and Win32DiskImager utilities.

Now insert the micro SD card into the board, connect the necessary cable, and power it on. After around 35 seconds, maybe a little more the first time, I get a usable desktop. Your own boot time will obviously be impacted by your micro SD card performance.

Cubieboard4_Ubuntu_LXDE

Lubuntu Desktop (Click for Original Size)

Firefox and Nautilus are not part of the default image, but I’ve installed them with apt-get, and added shortcuts to the desktop.

Usually, you need to run gparted or resize2fs to make full use if your SD card capacity, but this is automatically taken care of by the image, and my root partition was automatically extended to 30GB:

linaro@cubieboard4:~$ df -h
Filesystem       Size  Used Avail Use% Mounted on
/dev/root         30G  4.2G   25G  15% /
devtmpfs         814M  4.0K  814M   1% /dev
none             4.0K     0  4.0K   0% /sys/fs/cgroup
none             163M  476K  163M   1% /run
none             5.0M     0  5.0M   0% /run/lock
none             814M     0  814M   0% /run/shm
none             100M  4.0K  100M   1% /run/user
/dev/mmcblk1p2   128M  5.6M  123M   5% /media/mmcblk1p2
/dev/mmcblk1p7   756M  587M  170M  78% /media/linaro/57f8f4bc-abf4-655f-bf67-946fc0f9f25b
/dev/mmcblk1p10  630M   11M  620M   2% /media/linaro/57f8f4bc-abf4-655f-bf67-946fc0f9f25b1
/dev/mmcblk1p1   5.7G  3.4G  2.4G  59% /media/linaro/57f8f4bc-abf4-655f-bf67-946fc0f9f25b2
/dev/mmcblk0p1    12M  6.1M  5.9M  51% /media/linaro/29BC-6723

Since I’m connected to Internet via an Ethernet connection I did not have to configure anything else, except the timezone set with:

sudo dpkg-reconfigure tzdata

At this stage, you’ve got a fully workable ARM Linux computer, although if you want to use Wi-Fi, Bluetooth, and/or a printer more configuration work is required, but I haven’t tried any of these.

Cubieboard4 Usability as a Desktop Computer

The image is quite minimal, and beside Pacman file manager and a few other small programs, only Chromium browser is already installed. So I installed Firefox, Libre Office, Nautilis and Gimp with apt-get:

sudo apt-get install libreoffice nautilus firefox gimp

The system is quite responsive, although programs don’t quite load as fast as from an SSD or eMMC, and you need to wait a few seconds for Chromium or Libre Office to load.

Since the font looked quite poor in Chromium, I installed Firefox, but I had the same results. So finally I installed Ubuntu fonts:

sudo apt-get install ttf-ubuntu-font-family

and configured the web browsers accordingly leading to much better font rendering.

I’ve run the following tests in Cubieboard4 to show the performance, and what is working or not:

  1. 30 seconds boot
  2. List of installed applications
  3. LibreOffice (Writer)
  4. Chromium – Multi-tabs, YouTube (embedded / full screen; VP9), and Candy Crush Saga (Flash game) in Facebook
  5. 3D hardware acceleration with es2gears and glmark2-es2
  6. 1080p video playback with VideoLAN
  7. Power off

I also ran htop in a terminal to show the eight cores CPU usage. Sorry the video is not quite straight and audio is poor with SJ1000 camera.

The system is working quite well, except with YouTube videos which are not so smooth, because YouTube has now mostly switched to VP9 codec, and 3D support failed with “DRI2: failed to authenticate”. Candy Crush Saga worked fine, although not amazingly smooth, but performance is not that much different from my regular Ubuntu PC for that game. 2D hardware acceleration is supposed to be implemented (a80-xf86-video-fbturbo), but I’m not quite sure how to formally test this. H.264 and MPEG4 video could be played in VideoLAN with only one CPU core use confirming hardware video decoding support, but MPEG2, VC1 and H.265 codecs all failed.

Click for Original Size

Click for Original Size

In the screenshot above, I play Big Buck Bunny in VideoLAN on the top left corner, but since hardware video decoding is activated, the video won’t show in the screenshot, which is perfectly normal.

Even though Cubieboard4 Ubuntu support is not too bad right now, I still think ODROID-XU3 Lite delivers a better Linux experience, especially when using an eMMC module, as programs load faster, 3D acceleration is working, as well as Kodi with hardware video decoding. The only downside is that flash (Chromium + pepperflash) did not work when I tried on XU3 Lite, but this may have been fixed by now.

Cubieboard4 Performance Testing in Linux

Phoronix Suite Benchmarks

I’ve installed the latest version of Phoronix Test Suite to run a few benchmarks in Linux:

sudo apt-get install php5-cli php5-gd 
wget http://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_5.4.1_all.deb
sudo dpkg -i phoronix-test-suite_5.4.1_all.deb

After configure the test suite for batch benchmark with

phoronix-test-suite batch-setup

I decide to run the same three tests as on ODROID-XU3 Lite, encoding MP3, compressing files, and performing some HTTP server tasks:

phoronix-test-suite batch-benchmark pts/encode-mp3 pts/compress-7zip pts/apache

Unfortunately, apache failed to compiled, so only the MP3 and 7-zip test completed.

Cubieboard4_vs_ODROID-XU3-Lite_MP3So the only direct comparison with the test I’ve done between ODROID-XU3 Lite and Cubieboard4 is for MP3 encoding, and in this test the Exynos platform is faster, but the Allwinner A80 board still compares favorably to slower or/and older ARM board like Radxa Rock, ODROID-C1, or PCDuino (cpu test) in 7-Zip test, especially this test runs on all available cores.

7-Zip_Cubieboard4_Radxa_Rock_ODROID-C1

 Mainline kernel compilation

Now let’s see how fast the board build Linux 3.19.

sudo apt-get install libncurses5-dev gcc make git exuberant-ctags
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
git checkout -b stable v3.19

Mainline kernel requires gcc 4.9 to build, but Ubuntu 14.04 only comes with gcc 4.8.2, so let’s install the new compiler. Since add-apt-repository is missing, we have to install the relevant package first:

sudo apt-get install software-properties-common

We’ll also need to edit /etc/lsb-release to replace DISTRIB_ID=Linaro by DISTRIB_ID=Ubuntu temporarly, as the toolchain repo has never heard about a Linaro distribution, and then we can complete gcc 4.9 installation.

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9

Allwinner enginners themselves are not directly involved in mainline kernel develompent, but they are usually in the loop when members of linux-sunxi community send patchsets to the ARM Linux kernel mailing list, which mean Allwinner processor are supported in mainline kernel, albeit with limitation. Allwinner A80 codename is sun9i, and we can see a device tree file for A80 OptimusBoard:

linaro@cubieboard4:~/linux-stable$ ls -l arch/arm/boot/dts/ | grep sun9
-rw-rw-r-- 1 linaro linaro   3561 Apr  1 13:23 sun9i-a80-optimus.dts
-rw-rw-r-- 1 linaro linaro  12608 Apr  1 13:23 sun9i-a80.dtsi

Nevertheless, I’ve built the kernel using sunxi default config used for all Allwinner platforms:

make sunxi_defconfig
time make -j8 CC=gcc-4.9
...
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready

real    6m36.198s
user    34m6.070s
sys    4m32.100s

So Cubieboard4 took 6 minutes on 36 seconds to build Linux 3.19, while ODROID-XU3 Lite took 5 minutes 43 seconds to build Linux 3.18, not too bad, but this is show some performance advantage for the Exynos processor.

Video Transcoding with avconv

Ideally video transcoding should not be done by software, since most ARM processors can handle MPEG2 to H.264 transcoding using the VPU, but this can still be useful to evaluate a processor performance, so just like for ODROID-XU3 Lite, I’ve converted a short MPEG2 into H.264 with avconc:

sudo apt-get install libav-tools
time avconv -i big_buck_bunny_1080p_MPEG2_MP2_25fps_6600K.MPG \
-vcodec libx264 -minrate 300k -maxrate 300k -bufsize 1835k bbb-h.264.avi
avconv version 9.11-6:9.11-2ubuntu2, Copyright (c) 2000-2013 the Libav developers
 built on Mar 24 2014 06:21:10 with gcc 4.8 (Ubuntu/Linaro 4.8.2-17ubuntu1)
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mpeg, from 'big_buck_bunny_1080p_MPEG2_MP2_25fps_6600K.MPG':
 Duration: 00:00:44.74, start: 0.240000, bitrate: 7159 kb/s
 Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 9792 kb/s, 24.75 fps, 25 tbr, 90k tbn, 50 tbc
 Stream #0.1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16p, 160 kb/s
[libx264 @ 0x6c9c0] using SAR=1/1
[libx264 @ 0x6c9c0] MB rate (734400000) > level limit (2073600)
[libx264 @ 0x6c9c0] using cpu capabilities: ARMv6 NEON
[libx264 @ 0x6c9c0] profile High, level 5.2
Output #0, avi, to 'bbb-h.264.avi':
 Metadata:
 ISFT : Lavf54.20.3
 Stream #0.0: Video: libx264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=-1--1, 90k tbn, 90k tbc
 Stream #0.1: Audio: libmp3lame, 44100 Hz, stereo, s16p
Stream mapping:
 Stream #0:0 -> #0:0 (mpeg2video -> libx264)
 Stream #0:1 -> #0:1 (mp2 -> libmp3lame)
Press ctrl-c to stop encoding
frame= 1037 fps= 6 q=56.0 size= 30759kB time=40.60 bitrate=6205.9kbits/s

It took  3 minutes 3 seconds to convert the 44 seconds video, so just like with the Exynos board it’s not possible to transcode a 1080p video @ 25 fps in real-time by software, at least with avconv, and the parameters I used. ODROID-XU3 Lite was a bit faster however, managing to convert the same video in 2 minutes and 33 seconds.

Cubieboard4 can be purchased for $125 + shipping on R0ck.me, Eleduino, Seeed Studio, or others, and it’s also listed on Amazon US for $138.99 including shipping.

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

How to Install Ubuntu 14.04 on Acer Aspire E5 Laptop

March 23rd, 2015 No comments

I’ve been owning an Acer Aspire One D255E netbook with a 10″ display, an Intel Atom N455 processor and 1GB RAM that served me well during my travels, but as I’ve become older and less patient, I felt I needed to upgrade it. I planned to spend around 10,000 Baht (~$300), wanted a 14″ display, one of the low power CPU such as Intel Bay Trail-M or AMD Mullins / Beema processors, at least 500GB storage, 4GB RAM, and the ability to install Ubuntu. Finally, after going through several products at my local shop, I had to chose between Acer Aspire E5-411-P3CL with a 7.5W TDP Intel Atom N3540 and Acer Aspire E5-421G-45L0 with a 15W TDP AMD A4-6210 processor that both sell for 11,900 Baht ($365). Despite my preference for processor with lower TDP, I still went with the AMD system, since the performance is a little better, the warranty is good for 2-years (vs. 1 year for the Intel laptop), and I’ve always rooted for AMD in the past as an alternative to Intel.

Both laptop are pre-loaded with Linpus Linux 9.2, but when I boot the laptop at the shop, I discovered it was just a headless version that boots to the command line. The seller even told me something like “oohhh, Linux is like that? I did not know, normally just just format the hard drive…” So it’s like FreeDOS it’s installed to test hardware during MP, and let the shop sell legal system so that customers can install Windows themselves. Sometimes you also get given a free coupon to get it installed in a small shop.

Acer_Linpus_LinuxNevertheless, I finally purchased the laptop and planed to install Ubuntu on the system.

Since I had already downloaded Ubuntu 14.04 64-bit ISO, that’s the one I installed, but once Ubuntu 15.04 is released, you would probably avoid several of the issue I had during installation. You are likely to face issues with Ubuntu 14.10 too.

I followed the standard installation procedure, by “flashing” ubuntu-14.04-desktop-amd64.iso to a USB flash drive formatted with FAT32 using Unetbootin software in another Ubuntu machine, but you could also use a Windows machine with Rufus.

Then I inserted the USB flash into the Aspire E5 laptop, press F2 at boot time to enter InsydeH20 Setup Utility, and select the USB drive as primary boot device, and Ubuntu setup started normally, but the touchpad did not work, so you’ll have to connect a USB mouse unless you’re comfortable with using the keyboard for everything. The touchpad probblem is a known issues, that’s fixed in Linux 3.17 or greater+.

Ubuntu_Acer_Aspire_E5_Installation_Type_Replacing_LinpusApart from this issue the installation went smoothly, and I selected “Replace Linpus Linux 9.2 with Ubuntu” option. The laptop is usually with Ubuntu 14.04 as it is as long you don’t use the not-so-convenient-anyway touchpad, don’t need to use the HDMI and VGA port, and accept some slow animation from time to time.

The latter appears to be due to AMD/ATI open source graphics drivers, so I went to “Additional Drivers” and clicked on “Using Video driver for the AMD graphics accelerators from fglrx-updates (proprietary)”, and after installation the system appeared o run a bit smoother.

AMD_graphics_accelerators_from_fglrx-updatesAlbeit an extra /dev/sda3 partition appeared to have been created for swap, it was not mounted in Ubuntu, so I installed and ran Gparted to check it out, and formatted the partition to linux-swap there. And completely by modifying /etc/fstab with the line:

/dev/sda3 none            swap    sw              0       0

Since it’s not always convenient to connect a USB mouse to the laptop, I also decided to upgrade the kernel, as I explained in my “build a kernel module in Ubuntu” post. I started with Linux kernel 3.19.2, as it was the latest stable kernel at the time, but unfortunately Unity would not start anymore. So I booted again to Linux 3.13.xx installed by default in Ubuntu 14.04 and changed the graphics drivers back to the open source one, and that did the trick, with the touchpad working, but the display seemed to be using the wrong resolution, and although HDMI output worked the lower part was garbled.

Acer_Aspire_E5-421G_HDMI_Issue_640pxSo instead I installed graphics drivers downloaded directly from AMD website, and Unity would not run with either Linux versions installed.

Finally I found that Linux 3.18.9 with fglrx-updates graphics drivers work best for me. That’s how I installed that version of Linux.

cd /tmp
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18.9-vivid/linux-headers-3.18.9-031809-generic_3.18.9-031809.201503080036_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18.9-vivid/linux-image-3.18.9-031809-generic_3.18.9-031809.201503080036_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18.9-vivid/linux-headers-3.18.9-031809_3.18.9-031809.201503080036_all.deb
sudo dpkg -i linux-headers-3.18*.deb linux-image-3.18*.deb

Finally Acer Aspire E5-421G laptop runs fairly well with Ubuntu 14.04 with the following working just fine:

  • 1366×768 display
  • VGA and HDMI output (with caveats, see known issues)
  • USB 2.0 ports
  • USB 3.0 port (USB 3.0 hard drive tested with 103 MB/s read speed)
  • Ethernet and Wi-Fi
  • Touchpad
  • Webcam, speakers, and audio jack
  • DVD drive and SD Card reader

However, there are still some known issues:

  • Only mirroring mode works with HDMI and VGA output (no extended display), and HDMI/VGA might be unstable.
  • It’s not possible to enable three displays (Screen + HDMI + VGA) simultaneously, I could only manage two displays at once.
  • Ubuntu will always start with the screen’s brightness set to the lowest setting.
  • Battery only lasts about 3h30 on a full charge. (not fully sure it if it an issue, or is to be expected)

If you plan to use AMD-V virtualization extension, for example for 64-bit OS in Virtualbox, you’ll need to hack UEFI settings since the option to enable it is not available by default.  Anyway, I’ve now come to a point where Ubuntu 14.04 is perfectly usable on Acer Aspire E5, although I would not have complained if the whole installation process would have been easier…

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

Cubieboard4 (CC-A80) Unboxing and Getting Started Guide

March 20th, 2015 6 comments

A few samples of Cubieboard4 board may have been available in China in October 2014, but Cubietech only officially launched their Allwinner A80 development board about ten days ago, and you can buy it for $125 + shipping on sites like R0ck.me, Eleduino, Seeed Studio, and many other distributors. The company decided to send a sample for evaluation, and today I’ll start with a post showing some pictures of the kit, and explaining how to get started with assembly and first boot.

Cubieboard 4 Pictures

I received the board within two days after the company told me they would send a sample, as they used DHL. I also had to pay a bit of import tax and DHL’s handling fee. There should be CC-A80 box with the board and accessories, a white box for the power supply, and a power cord.

Cubieboard4_PackageThere’s quite a few items to play with…

Cubieboard 4 and Accessories (Click to Enlarge)

Cubieboard 4 and Accessories (Click to Enlarge)

The power brick is 5V/4A which should be plenty enough. USB 3.0 OTG and device cables are provided, as well as an external Wi-Fi antenna, a CR1230 battery for the RTC, an heatisnk with syringe with thermal paste, and two acrylic covers with spacers and screws to make a simple enclosure.

Top of CC-A80 Board (Click to Enlarge)

Top of CC-A80 Board (Click to Enlarge)

The board comes with 4 USB 2.0 host ports, a USB 3.0 OTG port, HDMI and VGA connectors, microphone and headphone audio jacks, a Gigabit Ethernet port, an micro SD card slot, a battery slot for RTC, reset/power/boot buttons, an IR sensor, and power and network activity LEDs. There are also three headers: a 2-pin battery header, a 4-pin UART header for serial console (close to VGA D-SUB connector), and a 24-pin header (J20) with access to 3x I2C, 2x UART, JTAG, and power signals, so expansion capabilities are somewhat limited. Please note that the board is now CC-A80 V1.2, and if you have an older revision, J20 expansion header may only have 20-pins without the 4 extra JTAG signals. The board features 2GB RAM thanks to four SKhynix H5TQ4G63AFR DDR3 chips, as well as AP6330 dual band Wi-Fi + Bluetooth module.

Bottom of CC-A80 Board (Click to Enlarge)

Bottom of CC-A80 Board (Click to Enlarge)

On the back of the board, there’s mostly a FORESEE NCEFEH58-08G eMMC with 8GB capacity that’s said to have 25MB/s read and write speed. Certainly not the fastest on the market, but it should do for most use case.

You may also want to watch the unboxing video below, that is not sponsored by Red Bull…

Cubieboard 4 Kit Assembly

So we’ve got all these small bits and pieces that we need to put together. It’s fun to do and should take less than 5 minutes. The main steps are:

  • Inserting the CR1230 battery into the battery slot
  • Adding thermal paste and the heatsink on top of Allwinner A80 processor
  • Mounting the board in the acrylic enclosure with spacer. I had to use a damp sponge to remove peel the protection on the acrylic covers.
  • Screw the Wi-Fi antenna

I’ve shot a short video to show how to perform this step.

This is what the board should look like once you’re done.

Cubieboard4 after Assembly

Cubieboard4 after Assembly (Click to Enlarge)

Booting Cubieboard4 Board

Since the board has an eMMC, you don’t need to prepare a micro SD to install or boot an operating system. By default, CC-A80 is p=-reloaded with Android 4.4 since Cubietech uses an apk for factory testing, so it’s more convenient for them, but you could also install Debian Server or Ubuntu Linaro Desktop/Server on the board. The company publishes a test report with their image, and their Ubuntu Desktop image support 3D graphics acceleration, as well as hardware video decoding with VideoLAN (VLC).

But today, I’ll just boot the pre-installed image. I’ve connected the 5V/4A power supply, an Ethernet cable, an HDMI cable to my TV, a RF dongle for Mele F10 Deluxe air mouse, as well as a UART debug board to access the serial console via minicom on a netbook running Lubuntu. The boot took about 30 seconds, which was to be expected because of the mid-range eMMC used with the board.

Cubieboard 4 connected to UHD TV and Ubuntu Laptop for Serial Console Access (Click to Enlarge)

Android 4.4 running in Cubieboard 4 connected to UHD TV and Ubuntu Laptop for Serial Console Access (Click to Enlarge)

For those who are interested in the boot details, I’ve included the boot log below:

boot0 version : 3.1.0
rtc 1 value 0x00010000
rtc 2 value 0x00020000
rtc 3 value 0x00030000
INFO: dram code V2.2
dram clk=672
dram_zq = 0x0x003f3fdd!!
DDR3 used!!
dram channle 2
0x0x00100001
0x0x00100001
pmu id=0x00000062
VTC Disabled!!
Channel 0 OK!
VTC Disabled!!
Channel 1 OK!
dram size=2048MBytes!
dram size =2048
card boot number = 2
card no is 2
sdcard 2 line count 0
[mmc]: mmc driver ver 2014-06-05 14:18
[mmc]: ***Try SD card 2***
[mmc]: mmc 2 cmd 8 timeout, err 0x00000100
[mmc]: mmc 2 cmd 8 err 0x00000100
[mmc]: mmc 2 send if cond failed
[mmc]: mmc 2 cmd 55 timeout, err 0x00000100
[mmc]: mmc 2 cmd 55 err 0x00000100
[mmc]: mmc 2 send app cmd failed
[mmc]: ***Try MMC card 2***
[mmc]: MMC ver 4.5
[mmc]: SD/MMC Card: 4bit, capacity: 7475MB
[mmc]: vendor: Man 0x00880103 Snr 0x201e0181
[mmc]: product: NCard
[mmc]: revision: 2.0
[mmc]: ***SD/MMC 2 init OK!!!***
sdcard 2 init ok
The size of uboot is 0x000c4000.
sum=0x230343d5
src_sum=0x230343d5
Succeed in loading uboot from sdmmc flash.
Ready to disable icache.
Jump to secend Boot.
[ 0.690]U-Boot 2011.09-rc1-dirty (Jul 15 2014 – 17:20:29) Allwinner Technology[ 0.698]version: 1.1.0
[ 0.705]a7 boot
[ 0.707]pmbus: ready
[ 0.710]PMU: AXP809
[ 0.712]PMU: AXP809 found
[ 0.715]PMU: AXP806
[ 0.717]PMU: AXP806 found
[ 0.720]PMU: bat ratio = 100
try to set dcdc3 to 900 mV
[ 0.725]PMU: dcdc3 900
[ 0.728]PMU: pll1 1008 Mhz
set power on vol to default
dcdc1_vol = 3000, onoff=1
dcdc2_vol = 900, onoff=0
dcdc3_vol = 900, onoff=1
dcdc4_vol = 900, onoff=1
dcdc5_vol = 1500, onoff=1
dc5ldo_vol = 900, onoff=1
dldo2_vol = 3000, onoff=1
eldo3_vol = 1800, onoff=1
aldo1_vol = 3000, onoff=1
aldo3_vol = 3000, onoff=1
find power_sply to end
slave power
dcdca_vol = 900, onoff=1
dcdcb_vol = 0, onoff=0
dcdcc_vol = 0, onoff=0
dcdcd_vol = 900, onoff=1
dcdce_vol = 2100, onoff=1
aldo1_vol = 3000, onoff=1
bldo1_vol = 1800, onoff=1
bldo2_vol = 1800, onoff=1
cldo1_vol = 0, onoff=0
find slave power sply to end
supply=gpio1
axp=axp809, supply=gpio1, vol=2500
reg addr=0x6000b00, value=0x6, pmu_vol=2500
supply=aldo2
axp=axp809, supply=aldo2, vol=1800
reg addr=0x6000b04, value=0x0, pmu_vol=1800
supply=dcdc1
axp=axp809, supply=dcdc1, vol=3000
reg addr=0x6000b08, value=0xa, pmu_vol=3000
supply=bldo1
axp=axp806, supply=bldo1, vol=1800
reg addr=0x6000b0c, value=0x0, pmu_vol=1800
supply=eldo2
axp=axp809, supply=eldo2, vol=1800
reg addr=0x6000b10, value=0x0, pmu_vol=1800
supply=dcdc1
axp=axp809, supply=dcdc1, vol=3000
reg addr=0x6000b14, value=0xa, pmu_vol=3000
supply=gpio0
axp=axp809, supply=gpio0, vol=3000
reg addr=0x6000b18, value=0xa, pmu_vol=3000
supply=dcdc1
axp=axp809, supply=dcdc1, vol=3000
reg addr=0x6000b1c, value=0xa, pmu_vol=3000
supply=dldo2
axp=axp809, supply=dldo2, vol=3000
reg addr=0x8002f00, value=0xa, pmu_vol=3000
supply=eldo3
axp=axp809, supply=eldo3, vol=3000
reg addr=0x8002f04, value=0xa, pmu_vol=3000
config gpio bias voltage finish
no battery, limit to dc
fel key old mode
run key detect
no key found
no key input
dram_para_set start
dram_para_set end
[ 0.892]DRAM: 2 GiB
relocation Offset is: 75b08000
deu_mode1 not exist.
get clock handle by id 36 fail!
get clock handle by id 36 fail!
lcd1.lcd_pwm_freq is ZERO
lcd 2 is not register
screen 0 do not support HDMI TYPE!
screen 2 do not support HDMI TYPE!
smcl’s set manager is NULL
smbl’s set manager is NULL
plugin
screen_id 0 do not support HDMI TYPE!
get hdmi0 failed!
[ 1.195]boot_disp.output_disp=1
[ 1.199]boot_disp.output_type=3
[ 1.202]boot_disp.output_mode=10
[ 1.205]boot_disp.auto_hpd=1
hdmi open
Hdmi_open
Hdmi_hal_video_enable_sync
video_config
workmode = 0
MMC: 2
[ 1.251][mmc]: mmc driver ver 2014-06-17 14:57:30
[ 1.256][mmc]: mmc->host_caps 911
[ 1.260][mmc]: get sdc_odly_25M fail,use default dly 0
[ 1.265][mmc]: get sdc_sdly_25M fail,use default dly 5
[ 1.270][mmc]: get sdc_odly_50M fail,use default dly 5
[ 1.276][mmc]: get sdc_sdly_50M fail,use default dly 4
[ 1.281][mmc]: get sdc_f_max fail,use default sdc_f_max 48000000
[ 1.287][mmc]: PC Bias: 0x06000b08 0x0000000a
[ 1.292][mmc]: SUNXI SD/MMC: 2
[ 1.296][mmc]: mmc 2 old config clk 0
[ 1.309][mmc]: ************Try SD card 2************
[ 1.314][mmc]: mmc 2 cmd 8 timeout, err 100
[ 1.321][mmc]: mmc 2 mmc cmd 8 err 0x00000100
[ 1.325][mmc]: mmc send if cond failed
[ 1.329][mmc]: mmc 2 cmd 55 timeout, err 100
[ 1.335][mmc]: mmc 2 mmc cmd 55 err 0x00000100
[ 1.339][mmc]: send app cmd failed
[ 1.342][mmc]: ************Try MMC card 2************
[ 1.369][mmc]: mmc 2 old config clk 0
[ 1.380][mmc]: mmc 2 old config clk 0
[ 1.390][mmc]: mmc 2 old config clk 0
[ 1.399][mmc]: MID 000088 PSN 1e018122
[ 1.402][mmc]: PNM NCard — 0x4e-43-61-72-64-20
[ 1.407][mmc]: PRV 2.0
[ 1.410][mmc]: MDT m-1 y-2015
[ 1.413][mmc]: MMC ver 4.5
[ 1.416][mmc]: —————mmc->clock 48000000———–
[ 1.421][mmc]: —————mmc->bus_width 4————–
[ 1.427][mmc]: SD/MMC Card: 4bit, capacity: 7475MB
[ 1.432][mmc]: boot0 capacity: 4000KB,boot1 capacity: 4000KB
[ 1.438][mmc]: ************SD/MMC 2 init OK!!!************
[ 1.444]sunxi flash init ok
In: serial
Out: serial
Err: serial
——–fastboot partitions——–
-total partitions:10-
-name- -start- -size-
bootloader : 1000000 1000000
env : 2000000 1000000
boot : 3000000 1000000
system : 4000000 30000000
misc : 34000000 1000000
recovery : 35000000 2000000
cache : 37000000 28000000
metadata : 5f000000 1000000
private : 60000000 1000000
UDISK : 61000000 0
———————————–
base bootcmd=run setargs_nand boot_normal
bootcmd set setargs_mmc
key 0
cant find rcvy value
cant find fstbt value
misc partition found
misc_message->command = 0
to be run cmd=run setargs_mmc boot_normal
WORK_MODE_BOOT
board_status_probe
sunxi_bmp_logo_display
screen_id =1, screen_width =1920, screen_height =1080
[ 1.648]Hit any key to stop autoboot: 0
read boot or recovery all
[ 3.400]sunxi flash read :offset 3000000, 13855176 bytes OK
no signature
[ 3.411]ready to boot
[ 3.414][mmc]: mmc exit start
[ 3.418][mmc]: mmc 2 old config clk 0
[ 3.428][mmc]: mmc 2 old config clk 0
[ 3.440][mmc]: mmc 2 cmd 8 timeout, err 100
[ 3.447][mmc]: mmc 2 mmc cmd 8 err 0x00000100
[ 3.451][mmc]: mmc send if cond failed
[ 3.455][mmc]: mmc 2 cmd 55 timeout, err 100
[ 3.461][mmc]: mmc 2 mmc cmd 55 err 0x00000100
[ 3.465][mmc]: send app cmd failed
[ 3.476][mmc]: mmc 2 exit ok
[ 3.479]
Starting kernel …[sun9i_fixup]: From boot, get meminfo:
Start: 0x20000000
Size: 2048MB
[mcpm_smp_init_cpus] ncores=8
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 3.4.39 (parker@parker) (gcc version 4.6.3 201202014
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructie
[ 0.000000] Machine: sun9i
[ 0.000000] Memory policy: ECC disabled, Data cache writealloc
[ 0.000000] On node 0 totalpages: 524288
[ 0.000000] free_area_init_node: node 0, pgdat c09c1a00, node_mem_map c127800
[ 0.000000] Normal zone: 1404 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 158340 pages, LIFO batch:31
[ 0.000000] HighMem zone: 3204 pages used for memmap
[ 0.000000] HighMem zone: 361340 pages, LIFO batch:31
[ 0.000000] PERCPU: Embedded 8 pages/cpu @c2487000 s11072 r8192 d13504 u32768
[ 0.000000] pcpu-alloc: s11072 r8192 d13504 u32768 alloc=8*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 [0] 4 [0] 5 [0] 6 [0] 7
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa0
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/block/mmcblk8
[ 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: 2048MB = 2048MB total
[ 0.000000] Memory: 1670160k/1670160k available, 426992k reserved, 1064956K m
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 – 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 – 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xe7800000 – 0xff000000 ( 376 MB)
[ 0.000000] lowmem : 0xc0000000 – 0xe7000000 ( 624 MB)
[ 0.000000] pkmap : 0xbfe00000 – 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 – 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 – 0xc08f71dc (9149 kB)
[ 0.000000] .init : 0xc08f8000 – 0xc0948b40 ( 323 kB)
[ 0.000000] .data : 0xc094a000 – 0xc09c4358 ( 489 kB)
[ 0.000000] .bss : 0xc09c709c – 0xc0b461d8 (1533 kB)
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:544
[ 0.000000] try to syncboot of clk hdmi_slow
[ 0.000000] try to syncboot of clk sdmmc2
[ 0.000000] try to syncboot of clk trace
[ 0.000000] try to syncboot of clk ats
[ 0.000000] try to syncboot of clk uart0
[ 0.000000] try to syncboot of clk gt
[ 0.000000] try to syncboot of clk de
[ 0.000000] try to syncboot of clk hdmi
[ 0.000000] try to syncboot of clk lcd1
[ 0.000000] try to syncboot of clk sdr0
[ 0.000000] try to syncboot of clk cci400
[ 0.000000] try to syncboot of clk pio
[ 0.000000] try to syncboot of clk lradc
[ 0.000000] try to syncboot of clk twd
[ 0.000000] try to syncboot of clk ahb2
[ 0.000000] try to syncboot of clk dma
[ 0.000000] try to syncboot of clk sdram
[ 0.000000] try to syncboot of clk axi1
[ 0.000000] try to syncboot of clk axi0
[ 0.000000] Architected local timer running at 24.00MHz.
[ 0.000000] Switching to timer-based delay loop
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 1789s
[ 0.000000] Console: colour dummy device 80×30
[ 0.000239] Calibrating delay loop (skipped), value calculated using timer f)
[ 0.000265] pid_max: default: 32768 minimum: 301
[ 0.000429] Security Framework initialized
[ 0.000452] SELinux: Initializing.
[ 0.000499] SELinux: Starting in permissive mode
[ 0.000582] Mount-cache hash table entries: 512
[ 0.001738] Initializing cgroup subsys debug
[ 0.001756] Initializing cgroup subsys cpuacct
[ 0.001768] Initializing cgroup subsys freezer
[ 0.001810] CPU: Testing write buffer coherency: ok
[ 0.001864] ftrace: allocating 23829 entries in 70 pages
[ 0.047379] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.047436] Setting up static identity map for 0x2062c5a0 – 0x2062c5f8
[ 0.150592] CPU1: Booted secondary processor
[ 0.150666] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[ 0.190655] CPU2: Booted secondary processor
[ 0.190722] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[ 0.230774] CPU3: Booted secondary processor
[ 0.230840] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[ 0.267632] CPU4: failed to boot: -22
[ 0.307664] CPU5: failed to boot: -22
[ 0.347723] CPU6: failed to boot: -22
[ 0.387787] CPU7: failed to boot: -22
[ 0.387957] Brought up 4 CPUs
[ 0.387970] SMP: Total of 4 processors activated (19200.00 BogoMIPS).
[ 0.388872] devtmpfs: initialized
[ 0.395520] script_init enter!
[ 0.396299] script_init exit!
[ 0.396345] sched: registering cpufreq notifiers for scale-invariant loads
[ 0.397398] pinctrl core: initialized pinctrl subsystem
[ 0.398286] dummy:
[ 0.398774] NET: Registered protocol family 16
[ 0.399323] script_sysfs_init success
[ 0.399509] sunxi_dump_init success
[ 0.399934] sunxi pinctrl probe enter
[ 0.401469] gpiochip_add: registered GPIOs 0 to 447 on device: sunxi-pinctrl
[ 0.403625] sunxi-pinctrl sunxi-pinctrl: initialized sunXi PIO driver
[ 0.404232] axp_pinctrl_probe enter…
[ 0.404414] gpiochip_add: registered GPIOs 1024 to 1031 on device: axp-pinctl
[ 0.404438] mainkey total count : 96
[ 0.404448] mainkey name : product, pin count : 0
[ 0.404458] mainkey name : platform, pin count : 0
[ 0.404468] mainkey name : target, pin count : 0
[ 0.404477] mainkey name : charging_type, pin count : 0
[ 0.404487] mainkey name : key_detect_en, pin count : 0
[ 0.404497] mainkey name : power_sply, pin count : 0
[ 0.404507] mainkey name : slave_power_sply, pin count : 0
[ 0.404517] mainkey name : gpio_bias, pin count : 0
[ 0.404527] mainkey name : card_boot, pin count : 0
[ 0.404537] mainkey name : pm_para, pin count : 0
[ 0.404547] mainkey name : card0_boot_para, pin count : 6
[ 0.404560] mainkey name : card2_boot_para, pin count : 6
[ 0.404573] mainkey name : boot_disp, pin count : 0
[ 0.404584] mainkey name : twi_para, pin count : 2
[ 0.404596] mainkey name : uart_para, pin count : 2
[ 0.404607] mainkey name : jtag_para, pin count : 4
[ 0.404619] mainkey name : clock, pin count : 0
[ 0.404630] mainkey name : dram_para, pin count : 0
[ 0.404640] mainkey name : gmac0, pin count : 16
[ 0.404654] mainkey name : wakeup_src_para, pin count : 3
[ 0.404665] mainkey name : twi0, pin count : 2
[ 0.404675] mainkey name : twi1, pin count : 2
[ 0.404685] mainkey name : twi2, pin count : 2
[ 0.404696] mainkey name : twi3, pin count : 2
[ 0.404706] mainkey name : twi4, pin count : 2
[ 0.404716] mainkey name : uart0, pin count : 2
[ 0.404726] mainkey name : uart1, pin count : 4
[ 0.404737] mainkey name : uart2, pin count : 4
[ 0.404747] mainkey name : uart3, pin count : 4
[ 0.404758] mainkey name : uart4, pin count : 4
[ 0.404768] mainkey name : uart5, pin count : 4
[ 0.404778] mainkey name : spi0, pin count : 4
[ 0.404789] mainkey name : spi1, pin count : 0
[ 0.404798] mainkey name : spi2, pin count : 4
[ 0.404809] mainkey name : spi3, pin count : 7
[ 0.404820] mainkey name : spi_devices, pin count : 0
[ 0.404831] mainkey name : spi_board0, pin count : 0
[ 0.404842] mainkey name : rtp_para, pin count : 0
[ 0.404853] mainkey name : ctp_para, pin count : 0
[ 0.404863] mainkey name : ctp_list_para, pin count : 0
[ 0.404874] mainkey name : tkey_para, pin count : 0
[ 0.404884] mainkey name : motor_para, pin count : 0
[ 0.404894] mainkey name : ths_para, pin count : 0
[ 0.404905] mainkey name : cooler_table, pin count : 0
[ 0.404915] mainkey name : nand0_para, pin count : 19
[ 0.404929] mainkey name : nand1_para, pin count : 19
[ 0.404943] mainkey name : disp_init, pin count : 0
[ 0.404953] mainkey name : lcd0_para, pin count : 29
[ 0.404967] map mainkey [lcd0_para] to pinctrl, map number [2]
[ 0.404983] mainkey name : hdmi_para, pin count : 0
[ 0.404993] mainkey name : pwm0_para, pin count : 1
[ 0.405004] mainkey name : pwm1_para, pin count : 1
[ 0.405015] mainkey name : csi0, pin count : 5
[ 0.405025] mainkey name : csi1, pin count : 0
[ 0.405035] mainkey name : tvout_para, pin count : 0
[ 0.405046] mainkey name : tvin_para, pin count : 0
[ 0.405056] mainkey name : mmc0_para, pin count : 7
[ 0.405067] mainkey name : mmc1_para, pin count : 6
[ 0.405079] mainkey name : mmc2_para, pin count : 11
[ 0.405092] mainkey name : mmc3_para, pin count : 11
[ 0.405105] mainkey name : smc_para, pin count : 0
[ 0.405116] mainkey name : usbc0, pin count : 2
[ 0.405127] map mainkey [usbc0] to pinctrl, map number [2]
[ 0.405139] mainkey name : usbc1, pin count : 1
[ 0.405150] mainkey name : usbc2, pin count : 1
[ 0.405160] mainkey name : usbc3, pin count : 0
[ 0.405171] mainkey name : usb_feature, pin count : 0
[ 0.405181] mainkey name : msc_feature, pin count : 0
[ 0.405192] mainkey name : serial_feature, pin count : 0
[ 0.405203] mainkey name : gsensor_para, pin count : 1
[ 0.405214] mainkey name : gsensor_list_para, pin count : 0
[ 0.405225] mainkey name : gps_para, pin count : 0
[ 0.405235] mainkey name : wifi_para, pin count : 11
[ 0.405247] mainkey name : 3g_para, pin count : 5
[ 0.405259] mainkey name : gy_para, pin count : 1
[ 0.405271] mainkey name : gy_list_para, pin count : 0
[ 0.405283] mainkey name : ls_para, pin count : 1
[ 0.405296] mainkey name : ls_list_para, pin count : 0
[ 0.405308] mainkey name : compass_para, pin count : 0
[ 0.405320] mainkey name : leds_para, pin count : 2
[ 0.405333] mainkey name : bt_para, pin count : 0
[ 0.405343] mainkey name : s_i2s1, pin count : 9
[ 0.405355] mainkey name : audio0, pin count : 3
[ 0.405366] mainkey name : spdif0, pin count : 2
[ 0.405376] mainkey name : s_cir0, pin count : 1
[ 0.405387] mainkey name : cir, pin count : 1
[ 0.405398] mainkey name : pmu1_para, pin count : 0
[ 0.405409] mainkey name : pmu2_para, pin count : 0
[ 0.405419] mainkey name : dvfs_table, pin count : 0
[ 0.405430] mainkey name : vf_table0, pin count : 0
[ 0.405440] mainkey name : vf_table1, pin count : 0
[ 0.405451] mainkey name : Vdevice, pin count : 0
[ 0.405461] mainkey name : s_uart0, pin count : 2
[ 0.405472] mainkey name : s_rsb0, pin count : 2
[ 0.405483] mainkey name : s_jtag0, pin count : 4
[ 0.405494] mainkey name : s_powchk, pin count : 0
[ 0.405505] mainkey name : dram_dvfs_table, pin count : 0
[ 0.405516] mainkey name : dram_scene_table, pin count : 0
[ 0.405525] axp pinctrl driver probe ok
[ 0.408187] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint.
[ 0.408204] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.408819] [sunxi-module]: [sunxi-module.0] probe success
[ 0.409007] Not Found clk pll3 in script
[ 0.409018] Not Found clk pll7 in script
[ 0.409039] script config pll8 to 297 Mhz
[ 0.409078] script config pll10 to 2376 Mhz
[ 0.409087] sunxi_default_clk_init
[ 0.455494] bio: create slab at 0
[ 0.455953] [ARISC] :sunxi-arisc driver v2.00
[ 0.501686] [ARISC] :arisc version: [v0.0.37]
[ 0.501706] [sunxi-module]: arisc register success
[ 0.506468] arisc_dvfs_cfg_vf_table: vf table type [1=vf_table1]
[ 0.506487] arisc_dvfs_cfg_vf_table: freq [L_LV1_freq-0=1200000000]
[ 0.506501] arisc_dvfs_cfg_vf_table: volt [L_LV1_volt-0=1020]
[ 0.506514] arisc_dvfs_cfg_vf_table: freq [L_LV2_freq-1=1104000000]
[ 0.506528] arisc_dvfs_cfg_vf_table: volt [L_LV2_volt-1=960]
[ 0.506541] arisc_dvfs_cfg_vf_table: freq [L_LV3_freq-2=1008000000]
[ 0.506555] arisc_dvfs_cfg_vf_table: volt [L_LV3_volt-2=900]
[ 0.506568] arisc_dvfs_cfg_vf_table: freq [L_LV4_freq-3=0]
[ 0.506581] arisc_dvfs_cfg_vf_table: volt [L_LV4_volt-3=840]
[ 0.506597] arisc_dvfs_cfg_vf_table: freq [B_LV1_freq-0=1800000000]
[ 0.506610] arisc_dvfs_cfg_vf_table: volt [B_LV1_volt-0=1100]
[ 0.506624] arisc_dvfs_cfg_vf_table: freq [B_LV2_freq-1=1608000000]
[ 0.506638] arisc_dvfs_cfg_vf_table: volt [B_LV2_volt-1=1020]
[ 0.506651] arisc_dvfs_cfg_vf_table: freq [B_LV3_freq-2=1416000000]
[ 0.506665] arisc_dvfs_cfg_vf_table: volt [B_LV3_volt-2=960]
[ 0.506678] arisc_dvfs_cfg_vf_table: freq [B_LV4_freq-3=1200000000]
[ 0.506692] arisc_dvfs_cfg_vf_table: volt [B_LV4_volt-3=900]
[ 0.506705] arisc_dvfs_cfg_vf_table: freq [B_LV5_freq-4=0]
[ 0.506718] arisc_dvfs_cfg_vf_table: volt [B_LV5_volt-4=840]
[ 0.908060] [ARISC] :sunxi-arisc driver v2.00 startup succeeded
[ 0.961915] CPU4: Booted secondary processor
[ 0.961981] CPU4: thread -1, cpu 0, socket 1, mpidr 80000100
[ 1.008577] CPU5: Booted secondary processor
[ 1.008644] CPU5: thread -1, cpu 1, socket 1, mpidr 80000101
[ 1.058648] CPU6: Booted secondary processor
[ 1.058719] CPU6: thread -1, cpu 2, socket 1, mpidr 80000102
[ 1.108715] CPU7: Booted secondary processor
[ 1.108784] CPU7: thread -1, cpu 3, socket 1, mpidr 80000103
[ 1.116116] SCSI subsystem initialized
[ 1.117088] usbcore: registered new interface driver usbfs
[ 1.117465] usbcore: registered new interface driver hub
[ 1.117723] usbcore: registered new device driver usb
[ 1.118419] sunxi_i2c_adap_init()1438 – [Nov 20 2014 14:32:34]Sunxi I2C init
[ 1.118446] twi_chan_cfg()350 – [twi0] fetch twi_regulator from sysconfig fad
[ 1.118464] twi_chan_cfg()350 – [twi1] fetch twi_regulator from sysconfig fad
[ 1.118481] twi_chan_cfg()350 – [twi2] fetch twi_regulator from sysconfig fad
[ 1.118497] twi_chan_cfg()350 – [twi3] fetch twi_regulator from sysconfig fad
[ 1.118514] twi_chan_cfg()350 – [twi4] fetch twi_regulator from sysconfig fad
[ 1.120167] Linux video capture interface: v2.00
[ 1.121172] axp22_board axp22_board: AXP (CHIP ID: 0x62) detected
[ 1.126672] axp22_dcdc1: 1600 3400 mV at 3000 mV
[ 1.127162] axp22_dcdc2: 600 1540 mV at 900 mV
[ 1.127619] axp22_dcdc3: 600 1860 mV at 900 mV
[ 1.128042] axp22_dcdc4: 600 2600 mV at 900 mV
[ 1.128476] axp22_dcdc5: 1000 2550 mV at 1500 mV
[ 1.128929] axp22_rtc: 3000 mV
[ 1.129357] axp22_aldo1: 700 3300 mV at 3000 mV
[ 1.129761] axp22_aldo2: 700 3300 mV at 1800 mV
[ 1.130174] axp22_aldo3: 700 3300 mV at 3000 mV
[ 1.130575] axp22_dldo1: 700 4200 mV at 3400 mV
[ 1.130972] axp22_dldo2: 700 3300 mV at 3000 mV
[ 1.131382] axp22_eldo1: 700 3300 mV at 3000 mV
[ 1.131793] axp22_eldo2: 700 3300 mV at 1800 mV
[ 1.132197] axp22_eldo3: 700 3300 mV at 3000 mV
[ 1.132606] axp22_dc5ldo: 700 1400 mV at 900 mV
[ 1.133020] axp22_ldoio0: 700 3300 mV at 3000 mV
[ 1.133437] axp22_ldoio1: 700 3300 mV at 2500 mV
[ 1.133841] axp22_sw0: at 700 mV
[ 1.134243] axp22_dc1sw: at 700 mV
[ 1.134342] axp22_dc1sw: supplied by axp22_dcdc1
[ 1.135098] input: axp22-supplyer as /devices/platform/axp22_board/axp22-sup0
[ 1.138716] now_rest_vol = 100
[ 1.139753] axp15_board axp15_board: AXP (CHIP ID: 0x60) detected
[ 1.144045] axp15_dcdc1: 600 1520 mV at 900 mV
[ 1.144505] axp15_dcdc2: 1000 2550 mV at 1350 mV
[ 1.144946] axp15_dcdc3: 600 1520 mV at 900 mV
[ 1.145407] axp15_dcdc4: 600 3300 mV at 900 mV
[ 1.145838] axp15_dcdc5: 1100 3400 mV at 2100 mV
[ 1.146239] axp15_aldo1: 700 3300 mV at 3000 mV
[ 1.146659] axp15_aldo2: 700 3300 mV at 700 mV
[ 1.147058] axp15_aldo3: 700 3300 mV at 700 mV
[ 1.147457] axp15_bldo1: 700 1900 mV at 1800 mV
[ 1.147543] axp15_bldo1: supplied by axp15_dcdc5
[ 1.148015] axp15_bldo2: 700 1900 mV at 1800 mV
[ 1.148103] axp15_bldo2: supplied by axp15_dcdc5
[ 1.148541] axp15_bldo3: 700 1900 mV at 700 mV
[ 1.148629] axp15_bldo3: supplied by axp15_dcdc5
[ 1.149849] axp15_bldo4: 700 1900 mV at 700 mV
[ 1.149946] axp15_bldo4: supplied by axp15_dcdc5
[ 1.150651] axp15_cldo1: 700 3300 mV at 3000 mV
[ 1.151261] axp15_cldo2: 700 4200 mV at 700 mV
[ 1.151711] axp15_cldo3: 700 3300 mV at 700 mV
[ 1.152109] axp15_sw0: at 700 mV
[ 1.153785] Advanced Linux Sound Architecture Driver Version 1.0.25.
[ 1.155002] Bluetooth: Core ver 2.16
[ 1.155207] NET: Registered protocol family 31
[ 1.155219] Bluetooth: HCI device and connection manager initialized
[ 1.155234] Bluetooth: HCI socket layer initialized
[ 1.155245] Bluetooth: L2CAP socket layer initialized
[ 1.155279] Bluetooth: SCO socket layer initialized
[ 1.155855] cfg80211: Calling CRDA to update world regulatory domain
[ 1.158577] Switching to clocksource arch_sys_counter
[ 1.181363] FS-Cache: Loaded
[ 1.181924] CacheFiles: Loaded
[ 1.205888] [sunxi_hci_sunxi]: sunxi-ehci1(restrict_gpio) is invalid
[ 1.205911] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.205925] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.205945] [sunxi_hci_sunxi]: sunxi-ohci1(restrict_gpio) is invalid
[ 1.205958] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.205968] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.206191] [sunxi_hci_sunxi]: sunxi-ehci2(restrict_gpio) is invalid
[ 1.206209] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.206221] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.206239] [sunxi_hci_sunxi]: sunxi-ohci2(restrict_gpio) is invalid
[ 1.206252] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.206262] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.206300] [sunxi_hci_sunxi]: sunxi-ehci3(restrict_gpio) is invalid
[ 1.206315] [sunxi_hci_sunxi]: sunxi-ehci3(drv vbus) is invalid
[ 1.206329] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.206340] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.206358] [sunxi_hci_sunxi]: sunxi-ohci3(restrict_gpio) is invalid
[ 1.206369] [sunxi_hci_sunxi]: sunxi-ohci3(drv vbus) is invalid
[ 1.206381] [sunxi_hci_sunxi]: get usb_restrict_flag failed
[ 1.206391] [sunxi_hci_sunxi]: get usb_regulator is failed
[ 1.207673] [usb_manager]: CONFIG_USB_SUNXI_USB0_OTG
[ 1.207696] get usbc(0) usb_restrict_flag failed
[ 1.207712] no usbc(0) det_vbus gpio and try to axp det_pin
[ 1.207725] get usbc0(usb_restrict pin) failed
[ 1.208719] [ddrfreq] dram_clk value is 672
[ 1.208730] [ddrfreq] sunxi_dramfreq_max=672000
[ 1.208740] [ddrfreq] dram_type value is 3
[ 1.208751] [ddrfreq] dram_zq value is 0x3f3fdd
[ 1.208762] [ddrfreq] dram_odt_en value is 1
[ 1.208772] [ddrfreq] dram_para1 value is 0x10f40800
[ 1.208782] [ddrfreq] dram_para2 value is 0x1200
[ 1.208793] [ddrfreq] dram_mr0 value is 0x1a50
[ 1.208802] [ddrfreq] dram_mr1 value is 0x40
[ 1.208812] [ddrfreq] dram_mr2 value is 0x10
[ 1.208822] [ddrfreq] dram_mr3 value is 0x0
[ 1.208832] [ddrfreq] dram_tpr0 value is 0x4e214ea
[ 1.208842] [ddrfreq] dram_tpr1 value is 0x4214ad
[ 1.208852] [ddrfreq] dram_tpr2 value is 0x10a75030
[ 1.208863] [ddrfreq] dram_tpr3 value is 0x0
[ 1.208872] [ddrfreq] dram_tpr4 value is 0x0
[ 1.208882] [ddrfreq] dram_tpr5 value is 0x0
[ 1.208892] [ddrfreq] dram_tpr6 value is 0x0
[ 1.208901] [ddrfreq] dram_tpr7 value is 0x0
[ 1.208912] [ddrfreq] dram_tpr8 value is 0x0
[ 1.208921] [ddrfreq] dram_tpr9 value is 0x0
[ 1.208931] [ddrfreq] dram_tpr10 value is 0x0
[ 1.208941] [ddrfreq] dram_tpr11 value is 0x0
[ 1.208951] [ddrfreq] dram_tpr12 value is 168
[ 1.208960] [ddrfreq] sunxi_dramfreq_min=168000
[ 1.208970] [ddrfreq] dram_tpr13 value is 0x23
[ 1.208978] [ddrfreq] warning: disabled!
[ 1.209311] [dsm] use sysconfig
[ 1.209320] [dsm] ———–Dram scene-freq Table————
[ 1.209331] [dsm] scene = 0 frequency = 672000KHz
[ 1.209341] [dsm] scene = 1 frequency = 480000KHz
[ 1.209351] [dsm] scene = 2 frequency = 240000KHz
[ 1.209360] [dsm] scene = 3 frequency = 168000KHz
[ 1.209370] [dsm] scene = 4 frequency = 480000KHz
[ 1.209378] [dsm] ——————————————–
[ 1.219594] [ddrfreq] LV_count value is 3
[ 1.219618] [ddrfreq] —————Dram V-F Table—————
[ 1.219629] [ddrfreq] voltage = 900mv frequency = 672000KHz
[ 1.219640] [ddrfreq] voltage = 840mv frequency = 168000KHz
[ 1.219650] [ddrfreq] voltage = 840mv frequency = 0KHz
[ 1.219660] [ddrfreq] ——————————————–
[ 1.219793] [ddrfreq] last_vdd=900
[ 1.219872] [ddrfreq] __sram_start: 0xc09c5000, __sram_end: 0xc09c7078, __sr8
[ 1.219886] [ddrfreq] sunxi dramfreq probe ok!
[ 1.220374] NET: Registered protocol family 2
[ 1.220683] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 1.221613] TCP established hash table entries: 131072 (order: 8, 1048576 by)
[ 1.224455] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[ 1.226324] TCP: Hash tables configured (established 131072 bind 65536)
[ 1.226337] TCP: reno registered
[ 1.226350] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 1.226405] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 1.226836] NET: Registered protocol family 1
[ 1.227274] RPC: Registered named UNIX socket transport module.
[ 1.227287] RPC: Registered udp transport module.
[ 1.227296] RPC: Registered tcp transport module.
[ 1.227306] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.227567] Unpacking initramfs…
[ 1.704637] Freeing initrd memory: 2524K
[ 1.705401] [powernow inf] module init
[ 1.705658] [powernow inf] create class sw_powernow done
[ 1.705671] [pm]aw_pm_init!
[ 1.705683] standby_mode = 1.
[ 1.705692] wakeup src cnt is : 3.
[ 1.705704] [exstandby]leave extended_standby_enable_wakeup_src : event 0x200
[ 1.705716] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi8
[ 1.705728] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi0
[ 1.705740] [exstandby]leave extended_standby_enable_wakeup_src : event 0x200
[ 1.705752] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi8
[ 1.705764] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi0
[ 1.705776] [exstandby]leave extended_standby_enable_wakeup_src : event 0x200
[ 1.705787] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi8
[ 1.705799] [exstandby]leave extended_standby_enable_wakeup_src : wakeup_gpi0
[ 1.705824] [wifi]: select wifi: ap6330 !!
[ 1.706195] [ap6xxx]: module power name axp22_dldo1
[ 1.706208] [ap6xxx]: module power ext1 name axp15_cldo3
[ 1.706219] [ap6xxx]: module power ext2 name axp22_ldoio0
[ 1.706230] [ap6xxx]: sdio_power name
[ 1.706372] [ap6xxx]: ap6xxx module power set by axp.
[ 1.707217] [ap6xxx]: regulator axp22_dldo1 on.
[ 1.707813] [ap6xxx]: regulator axp15_cldo3 on.
[ 1.707898] [ap6xxx]: regulator axp22_ldoio0 on.
[ 1.708062] [ap6xxx]: set cko2 32k clk out
[ 1.708153] [wifi_pm]: wifi gpio init is OK !!
[ 1.708352] sunxi_reg_init enter
[ 1.710077] audit: initializing netlink socket (disabled)
[ 1.710133] type=2000 audit(1.680:1): initialized
[ 1.711746] highmem bounce pool size: 64 pages
[ 1.713799] NTFS driver 2.1.30 [Flags: R/W].
[ 1.713989] fuse init (API version 7.18)
[ 1.715062] msgmni has been set to 1186
[ 1.715109] SELinux: Registering netfilter hooks
[ 1.717522] io scheduler noop registered
[ 1.717535] io scheduler deadline registered
[ 1.717636] io scheduler cfq registered (default)
[ 1.718457] GTBUS_PMU GTBUS_PMU: probed
[ 1.718925] pwm module init!
[ 1.720298] sunxi_uart_init()1446 – Sunxi Uart driver init …
[ 1.720328] sw_uart_get_devinfo()1430 – uart0 fetch uart_regulator from syscd
[ 1.720349] sw_uart_get_devinfo()1430 – uart2 fetch uart_regulator from syscd
[ 1.721163] uart0: ttyS0 at MMIO 0x7000000 (irq = 32) is a SUNXI
[ 1.721187] sw_console_setup()1190 – console setup baud 115200 parity n bitsn
[ 1.914628] console [ttyS0] enabled
[ 4.181803] uart2: ttyS2 at MMIO 0x7000800 (irq = 34) is a SUNXI
[ 4.190427] G2D: drv_g2d_init
[ 4.193909] G2D: Module initialized.major:250
[ 4.206431] loop: module loaded
[ 4.209990] sunxi_hw_init: sunxi debug register driver init
[ 4.216987] sunxi_spi_init()2048 – [Nov 20 2014 14:34:22]Sunxi SPI init …
[ 4.224916] sunxi_spi_chan_cfg()1368 – [spi-0] fetch spi_regulator from syscd
[ 4.233990] sunxi_spi_chan_cfg()1368 – [spi-1] fetch spi_regulator from syscd
[ 4.242999] sunxi_spi_chan_cfg()1368 – [spi-2] fetch spi_regulator from syscd
[ 4.252010] sunxi_spi_chan_cfg()1368 – [spi-3] fetch spi_regulator from syscd
[ 4.261290] tun: Universal TUN/TAP device driver, 1.6
[ 4.266897] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[ 4.274114] PPP generic driver version 2.4.2
[ 4.279360] PPP BSD Compression module registered
[ 4.284585] PPP Deflate Compression module registered
[ 4.290931] PPP MPPE Compression module registered
[ 4.296253] NET: Registered protocol family 24
[ 4.301258] PPTP driver version 0.8.5
[ 4.306131] start: sunxi_open_usb_clock
[ 4.310518] end: sunxi_open_usb_clock
[ 4.314816] get usbc0_regulator is failed
[ 4.369327] sunxi_controller_mode:device!
[ 4.373776] sunxi_gadget_init,v1.1
[ 4.378577] sunxi_controller_mode:NULL!
[ 4.382881] start: sunxi_close_usb_clock
[ 4.387241] end: sunxi_close_usb_clock
[ 4.391460] otgc_work_mode:0
[ 4.394828] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 4.402177] [sunxi_hci_sunxi]: [sunxi-ehci1]: probe, pdev->name: sunxi-ehci,c
[ 4.413538] [sunxi_hci_sunxi]: [sunxi-ehci1]: open clock, is_open: 0
[ 4.420679] [sunxi_hci_sunxi]: clk_prepare_enable: hci_ahb_gate
[ 4.427256] [sunxi_hci_sunxi]: [sunxi-ehci1]: open hci clock,usbc_no:1, is_o0
[ 4.435586] [sunxi_hci_sunxi]: [sunxi-ehci1]: Set USB Power ON
[ 4.442105] sunxi-ehci sunxi-ehci.1: SW USB2.0 ‘Enhanced’ Host Controller (Er
[ 4.451030] sunxi-ehci sunxi-ehci.1: new USB bus registered, assigned bus nu1
[ 4.459589] sunxi-ehci sunxi-ehci.1: irq 104, io mem 0xf0a00000
[ 4.478689] sunxi-ehci sunxi-ehci.1: USB 0.0 started, EHCI 1.00
[ 4.485266] ehci_irq: highspeed device connect
[ 4.491220] hub 1-0:1.0: USB hub found
[ 4.495397] hub 1-0:1.0: 1 port detected
[ 4.500383] [sunxi_hci_sunxi]: [sunxi-ehci2]: probe, pdev->name: sunxi-ehci,4
[ 4.511714] [sunxi_hci_sunxi]: [sunxi-ehci2]: open clock, is_open: 0
[ 4.518818] [sunxi_hci_sunxi]: [sunxi-ehci2]: open hci clock,usbc_no:2, is_o0
[ 4.527128] [sunxi_hci_sunxi]: [sunxi-ehci2]: Set USB Power ON
[ 4.533623] sunxi-ehci sunxi-ehci.2: SW USB2.0 ‘Enhanced’ Host Controller (Er
[ 4.542568] sunxi-ehci sunxi-ehci.2: new USB bus registered, assigned bus nu2
[ 4.551092] sunxi-ehci sunxi-ehci.2: irq 106, io mem 0xf0a01000
[ 4.568689] sunxi-ehci sunxi-ehci.2: USB 0.0 started, EHCI 1.00
[ 4.576137] hub 2-0:1.0: USB hub found
[ 4.580354] hub 2-0:1.0: 1 port detected
[ 4.585253] [sunxi_hci_sunxi]: [sunxi-ehci3]: probe, pdev->name: sunxi-ehci,c
[ 4.596587] [sunxi_hci_sunxi]: [sunxi-ehci3]: open clock, is_open: 0
[ 4.603740] [sunxi_hci_sunxi]: [sunxi-ehci3]: open hci clock,usbc_no:3, is_o0
[ 4.612069] [sunxi_hci_sunxi]: [sunxi-ehci3]: Set USB Power ON
[ 4.618547] sunxi-ehci sunxi-ehci.3: SW USB2.0 ‘Enhanced’ Host Controller (Er
[ 4.627486] sunxi-ehci sunxi-ehci.3: new USB bus registered, assigned bus nu3
[ 4.636018] sunxi-ehci sunxi-ehci.3: irq 108, io mem 0xf0a02000
[ 4.658710] sunxi-ehci sunxi-ehci.3: USB 0.0 started, EHCI 1.00
[ 4.666156] hub 3-0:1.0: USB hub found
[ 4.670355] hub 3-0:1.0: 1 port detected
[ 4.675430] ohci_hcd: USB 1.1 ‘Open’ Host Controller (OHCI) Driver
[ 4.682454] [sunxi_hci_sunxi]: [sunxi-ohci1]: probe, pdev->name: sunxi-ohci,0
[ 4.693776] [sunxi_hci_sunxi]: [sunxi-ohci1]: open clock, is_open: 0
[ 4.700977] [sunxi_hci_sunxi]: [sunxi-ohci1]: open hci clock,usbc_no:1, is_o1
[ 4.709312] sunxi-ohci sunxi-ohci.1: SW USB2.0 ‘Open’ Host Controller (OHCI)r
[ 4.717830] sunxi-ohci sunxi-ohci.1: new USB bus registered, assigned bus nu4
[ 4.726283] sunxi-ohci sunxi-ohci.1: irq 105, io mem 0xf0a00400
[ 4.793569] hub 4-0:1.0: USB hub found
[ 4.797744] hub 4-0:1.0: 1 port detected
[ 4.802691] [sunxi_hci_sunxi]: [sunxi-ohci3]: probe, pdev->name: sunxi-ohci,0
[ 4.814019] [sunxi_hci_sunxi]: [sunxi-ohci3]: open clock, is_open: 0
[ 4.821134] usb 1-1: new high-speed USB device number 2 using sunxi-ehci
[ 4.828642] [sunxi_hci_sunxi]: [sunxi-ohci3]: open hci clock,usbc_no:3, is_o1
[ 4.837027] sunxi-ohci sunxi-ohci.3: SW USB2.0 ‘Open’ Host Controller (OHCI)r
[ 4.845567] sunxi-ohci sunxi-ohci.3: new USB bus registered, assigned bus nu5
[ 4.854023] sunxi-ohci sunxi-ohci.3: irq 109, io mem 0xf0a02400
[ 4.923578] hub 5-0:1.0: USB hub found
[ 4.927755] hub 5-0:1.0: 1 port detected
[ 4.933073] Initializing USB Mass Storage driver…
[ 4.938877] usbcore: registered new interface driver usb-storage
[ 4.945549] USB Mass Storage support registered.
[ 4.950963] usbcore: registered new interface driver ums-alauda
[ 4.957791] usbcore: registered new interface driver ums-cypress
[ 4.964721] usbcore: registered new interface driver ums-datafab
[ 4.971610] usbcore: registered new interface driver ums_eneub6250
[ 4.978770] usbcore: registered new interface driver ums-freecom
[ 4.985704] usbcore: registered new interface driver ums-isd200
[ 4.992542] usbcore: registered new interface driver ums-jumpshot
[ 4.999585] usbcore: registered new interface driver ums-karma
[ 5.006303] usbcore: registered new interface driver ums-onetouch
[ 5.013805] usbcore: registered new interface driver ums-realtek
[ 5.021011] hub 1-1:1.0: USB hub found
[ 5.025284] usbcore: registered new interface driver ums-sddr09
[ 5.031924] hub 1-1:1.0: 4 ports detected
[ 5.036668] usbcore: registered new interface driver ums-sddr55
[ 5.043502] usbcore: registered new interface driver ums-usbat
[ 5.050505] usbcore: registered new interface driver usbserial
[ 5.057023] usbserial: USB Serial Driver core
[ 5.062697] usbcore: registered new interface driver option
[ 5.069125] USB Serial support registered for GSM modem (1-port)
[ 5.077388] file system registered
[ 5.084868] gadget: Mass Storage Function, version: 2009/09/11
[ 5.091476] gadget: Number of LUNs=3
[ 5.095541] lun0: LUN: removable file: (no medium)
[ 5.101051] lun1: LUN: removable file: (no medium)
[ 5.106466] lun2: LUN: removable file: (no medium)
[ 5.112714] android_bind, serial_unique = 0
[ 5.117372] gadget: android_usb ready
[ 5.122356] mousedev: PS/2 mouse device common for all mice
[ 5.129367] usbcore: registered new interface driver xpad
[ 5.135943] sunxi_rtc_init(736): sunxi rtc device register!
[ 5.142936] rtc_gettime(323): read time 2015-3-19 14:9:29
[ 5.149234] alarm_gettime(460): get alarm time 1970-1-1 1:0:0 success!
[ 5.156754] rtc_gettime(323): read time 2015-3-19 14:9:29
[ 5.163268] rtc0 rtc0: rtc core: registered rtc0 as rtc0
[ 5.169297] sunxi_rtc_probe(690)!
[ 5.173483] sunxi cedar version 0.1
[ 5.177574] [cedar]: install start!!!
[ 5.182498] [cedar]: install end!!!
[ 5.190659] axp22_aldo1: Failed to create debugfs directory
[ 5.210094] axp15_dcdc4: Failed to create debugfs directory
[ 5.217370] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-m
[ 5.227004] Bluetooth: HCI UART driver ver 2.2
[ 5.231967] Bluetooth: HCI H4 protocol initialized
[ 5.237285] Bluetooth: HCI Realtek H5 protocol initialized
[ 5.243790] autohotplug_init init ok
[ 5.247790] [cpu_freq] INF: merge_cluster_tables: index: 0, freq: 1800000
[ 5.255359] [cpu_freq] INF: merge_cluster_tables: index: 1, freq: 1704000
[ 5.263485] [cpu_freq] INF: merge_cluster_tables: index: 2, freq: 1608000
[ 5.271047] [cpu_freq] INF: merge_cluster_tables: index: 3, freq: 1512000
[ 5.278583] [cpu_freq] INF: merge_cluster_tables: index: 4, freq: 1416000
[ 5.286251] [cpu_freq] INF: merge_cluster_tables: index: 5, freq: 1320000
[ 5.293886] [cpu_freq] INF: merge_cluster_tables: index: 6, freq: 1200000
[ 5.301538] [cpu_freq] INF: merge_cluster_tables: index: 7, freq: 1104000
[ 5.309139] [cpu_freq] INF: merge_cluster_tables: index: 8, freq: 1008000
[ 5.316677] [cpu_freq] INF: merge_cluster_tables: index: 9, freq: 600000
[ 5.324131] [cpu_freq] INF: merge_cluster_tables: index: 10, freq: 552000
[ 5.331749] [cpu_freq] INF: merge_cluster_tables: index: 11, freq: 504000
[ 5.339374] [cpu_freq] INF: merge_cluster_tables: End, table: e61ef3c0, coun2
[ 5.347783] axp22_dcdc3: Failed to create debugfs directory
[ 5.354004] axp15_dcdc1: Failed to create debugfs directory
[ 5.360263] [cpu_freq] INF: sunxi_cpufreq_init, get cpu frequency from syscoz
[ 5.377569] [cpu_freq] INF: sunxi register cpufreq driver succeed
[ 5.384360] [cpu_freq] INF: sunxi register bL notifier succeed
[ 5.390848] [cpu_freq] INF: sunxi_cpufreq_init: done!
[ 5.396659] [mmc]: SD/MMC/SDIO Host Controller Driver(v1.76 2014-06-17 14:412
[ 5.408138] [mmc]: sunxi_mci_init
[ 5.411947] usb 1-1.2: new full-speed USB device number 3 using sunxi-ehci
[ 5.419638] [mmc]: get mmc0’s sdc_ex_dly_used failed,use default dly
[ 5.426766] [mmc]: get mmc1’s sdc_ex_dly_used failed,use default dly
[ 5.433889] [mmc]: get mmc2’s sdc_ex_dly_used failed,use default dly
[ 5.440970] [mmc]: MMC host used card: 0x7, boot card: 0x4, io_card 2
[ 5.449407] [mmc]: –B-sdc 2 – 48000000
[ 5.454056] [mmc]: sdc2 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timinB
[ 5.464941] [mmc]: sdc2 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timingB
[ 5.474690] [mmc]: sdc2 Probe: base:0xf1c11000 irq:94 sg_cpu:ffdd2000(45c090.
[ 5.485158] [mmc]: –B-sdc 0 – 48000000
[ 5.490029] [mmc]: sdc0 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timinB
[ 5.499902] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 5.510654] [mmc]: mclk 0xf6000418 0x8002000f
[ 5.515502] [mmc]: mclk 0xf6000418 0x8002000e
[ 5.520438] [mmc]: sdc0 Probe: base:0xf1c0f000 irq:92 sg_cpu:ffdd1000(463d60.
[ 5.529322] [mmc]: sdc0: no card detected, try to shutdown io voltage.
[ 5.538394] [mmc]: –B-sdc 1 – 48000000
[ 5.543103] [mmc]: sdc1 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timinB
[ 5.554114] [mmc]: sdc1 Probe: base:0xf1c10000 irq:93 sg_cpu:ffdd0000(463d70.
[ 5.563009] [mmc]: sdc1: no card detected, try to shutdown io voltage.
[ 5.572258] sunxi_leds driver init
[ 5.576119] request gpio230, ret=0
[ 5.579924] trigger_name:heartbeat
[ 5.583716] request gpio241, ret=0
[ 5.587491] trigger_name:cpu0
[ 5.591661] Registered led device: blue:ph21:led1
[ 5.597128] Registered led device: orange:ph20:led2
[ 5.602910] ledtrig-cpu: registered to indicate activity on CPUs
[ 5.610465] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 52, RTO!
[ 5.619417] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 52, RTO!
[ 5.627563] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 5.640348] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 5.652392] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 8, RTO !
[ 5.660507] *******************Try sdio*******************
[ 5.667404] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 5, RTO !
[ 5.675955] usb 1-1.3: new full-speed USB device number 4 using sunxi-ehci
[ 5.683638] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 5, RTO !
[ 5.692587] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 5, RTO !
[ 5.701487] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 5, RTO !
[ 5.709568] *******************Try sd *******************
[ 5.716380] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 55, RTO!
[ 5.725454] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 55, RTO!
[ 5.734427] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 55, RTO!
[ 5.743444] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 2 err, cmd 55, RTO!
[ 5.751638] *******************Try mmc*******************
[ 5.757636] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 tB
[ 5.768357] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 tB
[ 5.778593] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 tB
[ 5.789098] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 tB
[ 5.802295] [mmc]: sdc2 set ios: clk 400000Hz bm OD pm ON vdd 3.3V width 1 tB
[ 5.817127] input: Tronsmart as /devices/platform/sunxi-ehci.1/usb1/1-1/1-1.1
[ 5.827967] generic-usb 0003:11C0:5500.0001: input: USB HID v1.11 Gamepad [T0
[ 5.839888] usbcore: registered new interface driver usbhid
[ 5.846165] usbhid: USB HID core driver
[ 5.851626] ashmem: initialized
[ 5.855463] logger: created 256K log ‘log_main’
[ 5.860927] logger: created 256K log ‘log_events’
[ 5.866627] [mmc]: sdc2 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 5.877236] logger: created 256K log ‘log_radio’
[ 5.883529] logger: created 256K log ‘log_system’
[ 5.891625] input: MELE RI as /devices/platform/sunxi-ehci.1/usb1/1-1/1-1.3/2
[ 5.902339] [mmc]: sdc2 set ios: clk 25000000Hz bm PP pm ON vdd 3.3V width 1B
[ 5.912867] [mmc]: mclk 0xf6000418 0x8102000e
[ 5.917710] [mmc]: mclk 0xf6000418 0x81020008
[ 5.922807] generic-usb 0003:1915:0196.0002: input: USB HID v1.10 Keyboard [0
[ 5.935316] axp device register ok and device_create_file ok
[ 5.944755] input: MELE RI as /devices/platform/sunxi-ehci.1/usb1/1-1/1-1.3/3
[ 5.955939] generic-usb 0003:1915:0196.0003: input: USB HID v1.10 Mouse [MEL1
[ 5.968364] sunxi_snddaudio_init, line:222
[ 5.972945] sunxi_snddaudio_init, line:228, daudio_used:1
[ 5.979457] soc-audio soc-audio.4: ASoC machine snddaudio should use snd_soc)
[ 5.989008] [mmc]: sdc2 set ios: clk 25000000Hz bm PP pm ON vdd 3.3V width 1B
[ 6.000584] [mmc]: sdc2 set ios: clk 48000000Hz bm PP pm ON vdd 3.3V width 1B
[ 6.011416] [mmc]: mclk 0xf6000418 0x81420508
[ 6.016264] [mmc]: mclk 0xf6000418 0x81410509
[ 6.021257] input: headset as /devices/virtual/input/input4
[ 6.029044] [CODEC] speaker_val type err!
[ 6.037672] asoc: sndvir_audio s_i2s1 mapping ok
[ 6.046539] soc-audio soc-audio.0: ASoC machine sndhdmi should use snd_soc_r)
[ 6.057841] asoc: sndhdmi sunxi-hdmiaudio.0 mapping ok
[ 6.065235] u32 classifier
[ 6.068237] Actions configured
[ 6.072350] [mmc]: sdc2 set ios: clk 48000000Hz bm PP pm ON vdd 3.3V width 8B
[ 6.083264] Netfilter messages via NETLINK v0.30.
[ 6.088563] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[ 6.095608] input: MELE RI as /devices/platform/sunxi-ehci.1/usb1/1-1/1-1.3/5
[ 6.105653] mmc0: new high speed MMC card at address 0001
[ 6.112773] ctnetlink v0.93: registering with nfnetlink.
[ 6.118859] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[ 6.126586] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[ 6.133236] generic-usb 0003:1915:0196.0004: input: USB HID v1.10 Device [ME2
[ 6.145101] mmcblk0: mmc0:0001 NCard 7.29 GiB
[ 6.150830] mmcblk0boot0: mmc0:0001 NCard partition 1 4.00 MiB
[ 6.157868] mmcblk0boot1: mmc0:0001 NCard partition 2 4.00 MiB
[ 6.166468] generic-usb 0003:1915:0196.0005: claimed by neither input, hiddew
[ 6.176333] mmcblk0: p1 p2 p3 < p5 p6 p7 p8 p9 p10 p11 p12 >
[ 6.182846] xt_time: kernel timezone is -0000
[ 6.187850] IPv4 over IPv4 tunneling driver
[ 6.192551] mmcblk0: p1 size 12154880 extends beyond EOD, truncated
[ 6.203365] gre: GRE over IPv4 demultiplexor driver
[ 6.208818] ip_gre: GRE over IPv4 tunneling driver
[ 6.215725] ip_tables: (C) 2000-2006 Netfilter Core Team
[ 6.221951] arp_tables: (C) 2002 David S. Miller
[ 6.227150] TCP: cubic registered
[ 6.230956] Initializing XFRM netlink socket
[ 6.235992] NET: Registered protocol family 10
[ 6.242164] Mobile IPv6
[ 6.244909] ip6_tables: (C) 2000-2006 Netfilter Core Team
[ 6.251698] IPv6 over IPv4 tunneling driver
[ 6.260129] NET: Registered protocol family 17
[ 6.265205] mmcblk0boot1: unknown partition table
[ 6.270881] NET: Registered protocol family 15
[ 6.276330] Bluetooth: RFCOMM TTY layer initialized
[ 6.281903] Bluetooth: RFCOMM socket layer initialized
[ 6.287610] Bluetooth: RFCOMM ver 1.11
[ 6.292644] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 6.298648] mmcblk0boot0: unknown partition table
[ 6.304143] Bluetooth: BNEP filters: protocol multicast
[ 6.309965] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 6.316932] *******************mmc init ok *******************
[ 6.323716] L2TP core driver, V2.0
[ 6.327513] PPPoL2TP kernel driver, V2.0
[ 6.332165] VFP support v0.3: implementor 41 architecture 2 part 30 variant 5
[ 6.340699] ThumbEE CPU extension supported.
[ 6.345455] Registering SWP/SWPB emulation handler
[ 6.352945] axp15_bldo2: incomplete constraints, leaving on
[ 6.359277] axp15_bldo1: incomplete constraints, leaving on
[ 6.365712] axp15_aldo1: incomplete constraints, leaving on
[ 6.372004] axp15_dcdc4: incomplete constraints, leaving on
[ 6.378353] axp15_dcdc1: incomplete constraints, leaving on
[ 6.384718] axp22_ldoio1: incomplete constraints, leaving on
[ 6.391106] axp22_dc5ldo: incomplete constraints, leaving on
[ 6.397477] axp22_eldo3: incomplete constraints, leaving on
[ 6.403763] axp22_eldo2: incomplete constraints, leaving on
[ 6.410088] axp22_dldo2: incomplete constraints, leaving on
[ 6.416363] axp22_aldo3: incomplete constraints, leaving on
[ 6.422653] axp22_aldo2: incomplete constraints, leaving on
[ 6.428978] axp22_dcdc5: incomplete constraints, leaving on
[ 6.435252] axp22_dcdc4: incomplete constraints, leaving on
[ 6.441540] axp22_dcdc3: incomplete constraints, leaving on
[ 6.447851] axp22_dcdc1: incomplete constraints, leaving on
[ 6.454240] otg_wakelock_init: No USB transceiver found
[ 6.460385] rtc_gettime(323): read time 2015-3-19 14:9:30
[ 6.466449] rtc0 rtc0: setting system clock to 2015-03-19 14:09:30 UTC (1426)
[ 6.475524] input: sunxi-ths as /devices/virtual/input/input6
[ 6.482577] suxi_ths: Kernel Thermal management registered
[ 6.489251] suxi_ths: Kernel Thermal management registered
[ 6.496143] sunxi_ths_bind : thermal-budget-0
[ 6.500839] ths_zone trip = 60, adjust lower = 0, upper = 1
[ 6.507292] ths_zone trip = 75, adjust lower = 1, upper = 2
[ 6.513548] ths_zone trip = 85, adjust lower = 2, upper = 5
[ 6.519803] ths_zone trip = 95, adjust lower = 5, upper = 9
[ 6.526046] ths_zone trip = 105, adjust lower = 0, upper = 0
[ 6.532398] sunxi_ths_bind : thermal-budget-0
[ 6.537077] ths_zone trip = 105, adjust lower = 0, upper = 9
[ 6.543636] CPU Budget:Register notifier
[ 6.548026] CPU Budget:register Success
[ 6.552328] sunxi-budget-cooling sunxi-budget-cooling: Cooling device regist0
[ 6.567410] ALSA device list:
[ 6.570740] #0: snddaudio
[ 6.573862] #1: sndhdmi
[ 6.577062] Freeing init memory: 320K
[ 6.586000] SELinux: 512 avtab hash slots, 1364 rules.
[ 6.592252] SELinux: 512 avtab hash slots, 1364 rules.
[ 6.598012] SELinux: 1 users, 2 roles, 291 types, 1 bools, 1 sens, 1024 cats
[ 6.606028] SELinux: 84 classes, 1364 rules
[ 6.611474] SELinux: Completing initialization.
[ 6.616640] SELinux: Setting up existing superblocks.
[ 6.622416] SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
[ 6.630426] SELinux: initialized (dev rootfs, type rootfs), uses genfs_contes
[ 6.638715] SELinux: initialized (dev bdev, type bdev), not configured for lg
[ 6.647296] SELinux: initialized (dev proc, type proc), uses genfs_contexts
[ 6.655115] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 6.663225] SELinux: initialized (dev devtmpfs, type devtmpfs), uses transits
[ 6.672386] SELinux: initialized (dev debugfs, type debugfs), uses genfs_cons
[ 6.685386] SELinux: initialized (dev sockfs, type sockfs), uses task SIDs
[ 6.693117] SELinux: initialized (dev pipefs, type pipefs), uses task SIDs
[ 6.700829] SELinux: initialized (dev anon_inodefs, type anon_inodefs), not g
[ 6.710979] SELinux: initialized (dev devpts, type devpts), uses transition s
[ 6.719291] SELinux: initialized (dev selinuxfs, type selinuxfs), uses genfss
[ 6.728152] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 6.736279] SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
[ 6.896982] type=1403 audit(1426774170.920:2): policy loaded auid=42949672955
[ 6.906479] SELinux: Loaded policy from /sepolicy
[ 6.914726] type=1404 audit(1426774170.940:3): enforcing=1 old_enforcing=0 a5
[ 8.477760] init: could not import file ‘init.sun9i.3gdongle.rc’ from ‘/init’
[ 8.486828] init (1): /proc/1/oom_adj is deprecated, please use /proc/1/oom_.
[ 8.649232] init: /dev/hw_random not found
[ 8.669473] [NAND][NAND]nand init start, nand0_used_flag is 0
[ 8.675863] [NAND]nand_cache_level err! 0[NAND]nand_capacity_level err! 0
[ 8.683430] [NAND]run on A80
[ 8.686651] nand interrupte ch0 irqno: 102 register ok
[ 8.694581] nand interrupte ch1, irqno: 101 register ok
[ 8.700410] [NAND]nand driver is disabled
[ 8.778988] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contes
[ 8.787468] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 8.797030] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 8.805509] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 8.813770] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIs
[ 8.938770] SELinux: initialized (dev cgroup, type cgroup), uses genfs_contes
[ 8.958788] EXT4-fs (mmcblk0p7): mounted filesystem with ordered data mode. )
[ 8.967860] SELinux: initialized (dev mmcblk0p7, type ext4), uses xattr
[ 8.983573] EXT4-fs (mmcblk0p10): mounted filesystem with ordered data mode.o
[ 8.995499] SELinux: initialized (dev mmcblk0p10, type ext4), uses xattr
[ 9.138715] fs_mgr: Running /system/bin/e2fsck on /dev/block/by-name/cache
[ 9.204200] e2fsck: e2fsck 1.41.14 (22-Dec-2010)
[ 9.209416] e2fsck: /dev/block/by-name/cache: clean, 12/40960 files, 5257/16s
[ 9.227482] EXT4-fs (mmcblk0p10): mounted filesystem with ordered data mode.1
[ 9.238540] SELinux: initialized (dev mmcblk0p10, type ext4), uses xattr
[ 9.260689] EXT4-fs (mmcblk0p1): ext4_orphan_cleanup: deleting unreferenced 9
[ 9.270693] EXT4-fs (mmcblk0p1): ext4_orphan_cleanup: deleting unreferenced 7
[ 9.280417] EXT4-fs (mmcblk0p1): ext4_orphan_cleanup: deleting unreferenced 4
[ 9.290038] EXT4-fs (mmcblk0p1): 3 orphan inodes deleted
[ 9.295936] EXT4-fs (mmcblk0p1): recovery complete
[ 9.317902] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. o
[ 9.329727] SELinux: initialized (dev mmcblk0p1, type ext4), uses xattr
[ 9.458705] fs_mgr: Running /system/bin/e2fsck on /dev/block/by-name/UDISK
[ 9.477312] e2fsck: e2fsck 1.41.14 (22-Dec-2010)
[ 9.482498] e2fsck: /dev/block/by-name/UDISK: clean, 851/378256 files, 83181s
[ 9.501309] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. c
[ 9.513823] SELinux: initialized (dev mmcblk0p1, type ext4), uses xattr
[ 9.719649] [DISP]disp_module_init
[ 9.725111] [DISP]disp_probe
[ 9.728469] [DISP] IEP_Deu_Init,line:216: deu_mode1 not exist.
[ 9.748739] [DISP] lcd_panel_parameter_check,line:379: get lcd1para lcd_ul
[ 9.757366] [DISP] disp_lcd_gpio_init,line:2071: lcd 2 is not register
[ 9.768723] [DISP] disp_init_hdmi,line:492: screen 0 do not support HDMI !
[ 9.777046] [DISP] disp_init_hdmi,line:492: screen 2 do not support HDMI !
[ 9.786245] [DISP] disp_init_connections,line:133: smbl’s set manager is L
[ 9.794539] [DISP] disp_init_connections,line:139: capture’s set manager L
[ 9.803063] [DISP] disp_init_connections,line:145: smcl’s set manager is L
[ 9.811346] [DISP]Fb_Init
[ 9.814390] disp_init.disp_composer_mode = 1
[ 9.819224] [DISP] parser_disp_init_para,line:130: fetch script data displ
[ 9.830053] [DISP] parser_disp_init_para,line:143: invalid screen0_output0
[ 9.838631] [DISP] parser_disp_init_para,line:147: fetch script data displ
[ 9.849469] [DISP] parser_disp_init_para,line:208: fetch script data displ
[ 9.859419] [DISP] parser_disp_init_para,line:213: fetch script data displ
[ 9.870538] [DISP] parser_disp_init_para,line:218: fetch script data displ
[ 9.880393] [DISP] parser_disp_init_para,line:223: fetch script data displ
[ 9.890506] sunxi_map_kernel ok, phys_addr=0x88000000, size=0xfd2000, virt_a0
[ 9.918151] [DISP]disp_probe finish
[ 9.922283] [DISP]capture_module_init
[ 9.927423] [DISP]capture_probe
[ 9.931124] [DISP]capture finish
[ 9.934733] [DISP]disp_module_init finish
[ 9.965793] [LCD]lcd_module_init
[ 9.970461] [LCD]lcd_module_init finish
[ 9.997550] [HDMI] debug to check 111 !!
[ 10.002469] [DISP] disp_get_hdmi,line:41: screen_id 0 do not support HDMI!
[ 10.010908] [DISP] bsp_disp_set_hdmi_func,line:1316: get hdmi0 failed!
[ 10.202788] axp22_dcdc2: Failed to create debugfs directory
[ 10.209257] Set gpu pll clock successfully
[ 10.213902] Set gpu core clock successfully
[ 10.218643] Set gpu mem clock successfully
[ 10.223353] Set gpu axi clock successfully
[ 10.231542] Sunxi init successfully
[ 10.287729] usbcore: registered new interface driver uvcvideo
[ 10.294162] USB Video Class driver (v1.1.1)
[ 10.316458] sun fd version 0.5
[ 10.320197] [fd]: install start!!!
[ 10.338753] open_clk:fd_clk_rate = 320000000
[ 10.345330] register fd_early_suspend @ probe handle!
[ 10.350973] [fd]: install end!!!
[ 10.408295] init: /dev/hw_random not found
[ 10.436732] binder: 1550:1550 transaction failed 29189, size 0-0
[ 10.445161] init: cannot find ‘/system/etc/install-recovery.sh’, disabling ”
[ 10.514887] keyname:ctp_para subname:ctp_power_ldo ,get error!
[ 10.522520] keyname:ctp_para subname:ctp_power_ldo_vol ,get error!
[ 10.529688] keyname:ctp_para subname:ctp_power_io ,get error!
[ 10.536368] keyname:ctp_para subname:ctp_wakeup ,get error!
[ 10.544786] get sysconfig para erro!
[ 10.549398] get sysconfig para erro!
[ 10.554023] get_device_para_value:get subname:bmg160_gyr error! val.val:0
[ 10.554106] ir_fetch_sysconfig_para: IR power key type err!
[ 10.568183] get_detect_list: script_get_item err.support_number = 1.
[ 10.568192] input: sunxi-ir as /devices/virtual/input/s_cir0
[ 10.581737] get sysconfig para erro!
[ 10.585745] ctp_wakeup: !!!!gpio data 0
[ 10.679209] [ap6xxx]: get power regulator failed.
[ 10.684577] gpio ap6xxx_wl_regon set val 1, act val 1
[ 10.703075] get sysconfig para erro!
[ 10.712580] SELinux: initialized (dev mmcblk0p2, type vfat), uses genfs_conts
[ 10.790280] [ap6xxx]: sdio wifi power state: on
[ 10.795411] [mmc]: sdc1 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timingB
[ 10.795564] =========== WLAN placed in POWER ON ========
[ 10.839793] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 10.850165] [mmc]: mclk 0xf6000414 0x80000000
[ 10.855045] [mmc]: mclk 0xf6000414 0x8002000e
[ 10.932906] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 1 err, cmd 52, RTO!
[ 10.942191] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 1 err, cmd 52, RTO!
[ 10.950456] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 10.963477] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 10.975679] [mmc]: *** sunxi_mci_dump_errinfo(L794): smc 1 err, cmd 8, RTO !
[ 10.983798] *******************Try sdio*******************
[ 10.990478] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 11.016658] mmc2: queuing unknown CIS tuple 0x80 (2 bytes)
[ 11.024411] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
[ 11.032205] mmc2: queuing unknown CIS tuple 0x80 (3 bytes)
[ 11.041594] mmc2: queuing unknown CIS tuple 0x80 (7 bytes)
[ 11.131482] [mmc]: sdc1 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 tB
[ 11.141871] [mmc]: sdc1 set ios: clk 48000000Hz bm PP pm ON vdd 3.3V width 1B
[ 11.152865] [mmc]: mclk 0xf6000414 0x8102000e
[ 11.157822] [mmc]: mclk 0xf6000414 0x81010009
[ 11.218360] [mmc]: sdc1 set ios: clk 48000000Hz bm PP pm ON vdd 3.3V width 4B
[ 11.232241] mmc2: new high speed SDIO card at address 0001
[ 11.241487] bcmsdh_register: Linux Kernel SDIO/MMC Driver
[ 11.247770] bcm_wlan_get_oob_irq enter.
[ 11.252505] gpio [355] map to virq [3] ok
[ 11.264008] F1 signature OK, socitype:0x1 chip:0x4330 rev:0x4 pkg:0x0
[ 11.273213] DHD: dongle ram size is set to 294912(orig 294912) at 0x0
[ 11.281960] dhdsdio_probe: Disable prop_txstatus
[ 11.292325] wl_create_event_handler(): thread:wl_event_handler:6e9 started
[ 11.293075] tsk Enter, tsk = 0xe4b213d8
[ 11.308639] p2p0: P2P Interface Registered
[ 11.313409] dhd_attach(): thread:dhd_watchdog_thread:6f3 started
[ 11.320694] dhd_attach(): thread:dhd_dpc:6f6 started
[ 11.326332] dhd_attach(): thread:dhd_sysioc:6f8 started
[ 11.335580] Broadcom Dongle Host Driver: register interface [wlan0] MAC: 00:3
[ 11.344904] *******************sdio init ok*******************
[ 11.353413]
[ 11.353415] Dongle Host Driver, version 1.88.45.3 (r420671)
[ 11.353418] Compiled in drivers/net/wireless/bcmdhd on Nov 20 2014 at 14:34:0
[ 11.369425] [ap6xxx]: get power regulator failed.
[ 11.374780] gpio ap6xxx_wl_regon set val 0, act val 0
[ 11.480430] [ap6xxx]: sdio wifi power state: off
[ 11.485589] =========== WLAN placed in RESET ========
[ 11.513690] Bluetooth: MSM Sleep Mode Driver Ver 1.2
[ 11.628863] usbcore: registered new interface driver asix
[ 11.760527] usbcore: registered new interface driver qf9700
[ 11.811282] usbcore: registered new interface driver MOSCHIP usb-ethernet drr
[ 11.836297] usbcore: registered new interface driver rtl8150
[ 11.858831] usbcore: registered new interface driver cdc_ether
[ 11.894074] eth0: Use random mac address
[ 12.029990] init: property ‘sys.powerctl’ doesn’t exist while expanding ‘${s’
[ 12.039192] init: powerctl: cannot expand ‘${sys.powerctl}’
[ 12.045390] init: property ‘sys.sysctl.extra_free_kbytes’ doesn’t exist whil’
[ 12.058375] init: cannot expand ‘${sys.sysctl.extra_free_kbytes}’ while writ’
[ 12.073160] android_usb: already disabled
[ 12.077941] init: using deprecated syntax for specifying property ‘sys.usb.cd
[ 12.089841] init: using deprecated syntax for specifying property ‘sys.usb.cd
[ 12.092187] adb_open
[ 12.092792] mtp_bind_config
[ 12.092803] ep_matches, wrn: endpoint already claimed, ep(0xe6104e40, 0xe619)
[ 12.092809] ep_matches, wrn: endpoint already claimed, ep(0xe6104d80, 0xe619)
[ 12.092848] adb_bind_config
[ 12.092854] ep_matches, wrn: endpoint already claimed, ep(0xe6104e40, 0xe619)
[ 12.092860] ep_matches, wrn: endpoint already claimed, ep(0xe6104d80, 0xe619)
[ 12.092866] ep_matches, wrn: endpoint already claimed, ep(0xe6104c00, 0xe619)
[ 12.092873] ep_matches, wrn: endpoint already claimed, ep(0xe6104e40, 0xe619)
[ 12.092879] ep_matches, wrn: endpoint already claimed, ep(0xe6104d80, 0xe619)
[ 12.129230] SELinux: initialized (dev fuse, type fuse), uses genfs_contexts
shell@kylin-optimus:/ $ [ 13.010043] SELinux: initialized (dev tmpfs, type tms
[ 13.283012] 0xf6000008 = 0x8104361c, line:322, freq:22579200
[ 20.964560] healthd: battery l=100 v=0 t=30.0 h=2 st=5 c=0 chg=a
[ 20.976156] request_suspend_state: wakeup (3->0) at 20947478678 (2015-03-19 )
[ 21.052168] [DISP] disp_get_hdmi,line:41: screen_id 0 do not support HDMI!
[ 21.061336] [DISP] bsp_disp_hdmi_check_support_mode,line:1286: get hdmi0 !
[ 21.144959] lowmemorykiller: lowmem_shrink: convert oom_adj to oom_score_adj:
[ 21.152974] lowmemorykiller: oom_adj 0 => oom_score_adj 0
[ 21.159030] lowmemorykiller: oom_adj 1 => oom_score_adj 58
[ 21.165169] lowmemorykiller: oom_adj 2 => oom_score_adj 117
[ 21.171412] lowmemorykiller: oom_adj 3 => oom_score_adj 176
[ 21.177648] lowmemorykiller: oom_adj 9 => oom_score_adj 529
[ 21.183892] lowmemorykiller: oom_adj 15 => oom_score_adj 1000
[ 21.481535] gmac0: probed
[ 21.484552] gmac0 gmac0: eth0: eth0: PHY ID 001cc915 at 0 IRQ poll (gmac0-0:)
[ 21.667414] acc_open
[ 21.669901] acc_release
[ 21.824964] warning: `dhcpcd’ uses 32-bit capabilities (legacy support in us)
[ 24.791259] init: sys_prop: permission denied uid:1003 name:service.bootanit
[ 25.984490] [rfkill]: rfkill set power 1
[ 25.989153] gpio ap6xxx_bt_regon set val 0, act val 0
[ 26.215339] [rfkill]: rfkill set power 0
[ 26.223544] gpio ap6xxx_bt_regon set val 1, act val 1
[ 27.488929] PHY: gmac0-0:00 – Link is Up – 1000/Full
[ 27.545207] [BT_LPM] bluesleep_get_uart_port: bluesleep_get_uart_port get ua4
[ 28.601716] CPU7: shutdown
[ 29.600726] CPU6: shutdown
[ 30.091375] CPU5: shutdown
[ 30.592182] CPU3: shutdown
[ 31.100346] CPU2: shutdown
[ 31.852206] [BT_LPM] bluesleep_hostwake_task: hostwake line change
[ 31.888716] eth0: no IPv6 routers present
[ 33.468549] rtc_settime(239): time to set 2015-3-19 14:9:57
[ 33.534309] rtc_settime(283): set time 2015-3-19 14:9:57 success!
[ 33.541562] rtc_gettime(323): read time 2015-3-19 14:9:57
[ 34.100198] CPU1: shutdown
[ 34.699673] CPU4: shutdown

You can find more documentation in English and Chinese on Cubieboard4 documentation page, which includes videos, images, Android and Linux source code, tools, and more.

The next step for me will probably be to do some performance testing in Android, especially with regards to Ethernet and USB 3.0 storage performance, and see if any progress has been made compared to the disappointing results I got with A80 OptimusBoard last year. I’ll also evaluate Linux performance on the board, and possibly tried out the SDK.

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

Build a Raspberry Pi 2 Minimal Image with The Yocto Project

February 27th, 2015 12 comments

The Yocto Project is a build system that allows developers to make custom Linux distributions matching their exact needs. I’ve already shown how to build a 12MB Compressed image for the Raspberry Pi with Yocto, but the Raspberry Pi 2 has recently been added to the project, so I’ve tried to build it too in a machine running Ubuntu 14.04.

Raspberry_Pi_2_Yocto_ProjectI’ll use poky since it’s the default, but you could also build the system for Angstrom or without distributions (OpenEmbedded Core only). The steps to get the code is just the same as for the Raspberry Pi:

mkdir yocto
cd yocto
git clone git://git.yoctoproject.org/poky.git
cd poky
git clone git://git.yoctoproject.org/meta-raspberrypi
You just need to checkout master, and not any branch (like dizzy) since R-Pi 2 is not yet supported in any release. Initialize some environment variables and the build directory:
. oe-init-build-env build

Now edit conf/local.conf with vim or nano to set the machine to raspberrypi2 instead of qemux86:

MACHINE ??= "raspberrypi2"
GPU_MEM = "16"

There are more Raspberry Pi specific option in the README for setting the GPU memory, overclocking, adding VC-1 or/and MPEG-2 licenses, and so on.

You also need to add the path to meta-raspberrypi in conf/bblayers file, so that it looks like:

BBLAYERS ?= " \
  /home/jaufranc/edev/rpi/yocto/poky/meta \
  /home/jaufranc/edev/rpi/yocto/poky/meta-yocto \
  /home/jaufranc/edev/rpi/yocto/poky/meta-yocto-bsp \
  /home/jaufranc/edev/rpi/yocto/poky/meta-raspberrypi \
  "

Two minimal images are available: rpi-basic-image and rpi-hwup-image. I’ve built rpi-basic-image, which adds ssh-server-dropbear (for ssh server support) and splash (for the splash screen).

bitbake rpi-basic-image

This will take a while, possibly over one or more hours, and upon completion the log shown in the terminal windows should look similar to:

bitbake rpi-basic-image
Loading cache: 100% |###########################################| ETA:  00:00:00
Loaded 1310 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = “1.25.0”
BUILD_SYS         = “x86_64-linux”
NATIVELSBSTRING   = “Ubuntu-14.04″
TARGET_SYS        = “arm-poky-linux-gnueabi”
MACHINE           = “raspberrypi2″
DISTRO            = “poky”
DISTRO_VERSION    = “1.7”
TUNE_FEATURES     = “arm armv7a vfp thumb neon callconvention-hard vfpv4 cortexa7″
TARGET_FPU        = “vfp-vfpv4-neon”
meta
meta-yocto
meta-yocto-bsp    = “master:6d7cf8e9dd00bdff882311fecbadfadc46e9cc03″
meta-raspberrypi  = “master:d8bf60ce6c4a6c6371527c6df2e3243d2771c0cc”

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 1984 tasks of which 1968 didn’t need to be rerun and all succeeded.

The step “0: bcm2835-bootfiles-20150206-r3 do_fetch (pid 25484)” may take a long time as it’s cloning a few gigabytes of data for the firmware stored  github. Just be patient, this step took several hours on my machine.

You can now flash the image to a micro SD card with:

sudo dd if=tmp/deploy/images/raspberrypi2/rpi-basic-image-raspberrypi2.rpi-sdimg | pv | sudo dd of=/dev/sdX bs=16M

Where you need to replace X with the letter of your SD card, which you can check with lsblk. Alternatively, you could also flash the image with Win32DiskImager in Windows. Here’s the compiled image for your reference: rpi-basic-image-raspberrypi2-20150227091441.rootfs.rpi-sdimg (104 MB). You’ll also need to use tools like gparted to expand the ext-4 partition to make use of all the space on your micro SD card.

You’d then just have to insert the micro SD card into your Raspberry Pi 2, boot, and login as root without password. I have not tried, since I don’t have a Raspberry Pi 2 yet.

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

Power Consumption of Amlogic S812 and Rockchip RK3288 TV Boxes

February 17th, 2015 7 comments

The recent post comparing the power consumption of ODROID-C1 vs Raspberry Pi boards, as made me want to give another try at power consumption measurements. Regular reader already know I made a power measurement board and cables capable of hading different connectors (micro USB, mini USB, power barrels,  etc..), but eventually it failed to deliver enough current to the boards for any meaning testing. But since I now have a better power supply, and multi-meter, it was worth another try, especially since I could draw some pretty charts.

I decided to test the three most popular Chinese SoCs for mini PCs namely Amlogic S812 (4x Cortex A9), Rockchip RK3288 (4x Cortex A17), and Allwinner A80 (4x Cortex A15 + 4x Cortex A7) using respectively Eny M8S, Open Hour Chameleon, and A80 OptimusBoard. If you are paying attention, you must have noticed Allwinner A80 is not part of the title, that because the board got stuck in the animation logo drawing 1.1 to 1.3 A forever, so I don’t have any results to share for that platforms. Neverthess I still have some interesting charts for the two other platforms, but before sharing the results, let’s go through my setup and some of the issues I encountered.

Power Measurement Testbed

That’s what my setup looks like.

Testbed to Measure Current (Click to Enlarge)

Testbed to Measure Current (Click to Enlarge)

From left to right:

  1. 5V/8A – 12V5A Switch mode power supply (SMPS)
  2. DIY power measurement board and multimeter test leads
  3. Device under test, in this case Open Hour Chameleon
  4. UNI-T UT61E digital multi-meter
  5. Windows XP netbook with UT61E Interface Software and a USB to RS-232 dongle

Initially, I wanted to use Sigrok in Ubuntu 14.04, as it’s more convenient for me simply because I use Ubuntu on my main computer, but unfortunately there are some compatibility issues with my USB to RS232 dongle leading to the error message:

sr: es51922: Invalid function byte

I bought another different looking one on Ebay, but unfortunately it came with the exact same PID and VID, leading to the same issues, and it did not even work with the multimeter in Windows… So I had to fall back to using Windows.

The first time I had the exact same problem as with my $7 multimeter with the device rebooting as soon as 400 mA was reached. The critical issue when measuring current is the impedance of the equipment of the multimeter itself, and any board or cable used for testing. Since the multimeter is in series, even adding 1 Ohm would lead to a voltage drop of 1V at 1 ampere (ohm’s law U=RxI). The multimeter itself will make the voltage drop a bit, as I understand it measures the current using a low impedance resistor, but first I checked my cables.

  • Test lead pair #1 – ~0.15 to 0.30 Ohm but measurement fluctuates a lot even to pretty high values (That’s the pair included with UNI-T UT61E DMM)
  • Test lead pair #2 – ~0.13 to 0.15 Ohm
  • Crocodile clip cables – 0.90 Ohm

At first, I thought it would be a good idea to connect the test leads to the measurement board via crocodile clip in order to get a good connection. But I  measure the impedance of two such cables in series to be 1.80 Ohm, and shorting the measurement board with two of these, could not boot the board at all due to voltage drop (1.8 * 0.4 = 0.72V).

So I got rid of those, connecting the test leads (pair #2) directly to the measurement board, and it went better, but I noticed the screen would turn off from time to time. I also decided to calibrate my SMPS to 5V (it was 5.25), and the symptoms became more frequent, so I measured the voltage right after UNI-T multimeter with my older multimeter, and noticed voltage drops of up to 0.5V at times due to the impedance introduced by the DMM and cables, which led to reboots. So I turned the voltage adjustment screw on the power supply to output 5.4V, which should be safe enough, and everything worked much better, at least with the Amlogic S812 device.

The test procedure goes as follows:

  • Power the board, and wait for boot to complete
  • Run Antutu benchmark
  • Connect an external hard drive via a USB port
  • Run XBMC/Kodi/SPMC and play a 4K H.264 videos (Chimei video).
  • Go to standby

I gather the data with the windows software, and load the results into LibreOffice Calc to generate the power consumption charts with sample numbers on the X axis, and the values in Amperes on the Y-Axis. 2 samples are taken every second, so a 900 sample test duration is 450 seconds (7 minutes 30 seconds).

Eny M8S (Amlogic S812) Power Measurement

Eny M8S Power Consumption Chart (Click to Enlarge)

Eny M8S Power Consumption Chart (Click to Enlarge)
Vertical Axis: Amps; Horizontal Axis: Sample number (every 0.5 second)

The fully test went very smooth on the Amlogic platform, as I never had the screen turn off during testing. The part of Antutu that consumes the most is the 3D GPU benchmark at around 1.4A. We can see a jump of 0.5A when inserting the hard drive. XBMC consumes some power even in the UI, because it’s always refreshing the display, so the power consumption is somewhat similar to the 2D GPU benchmark in Antutu. Playing a 4K video consumes a little over 1A, and it’s normally not to demanding as it’s mostly handled by hardware. Standby mode power consumption is pretty high at about 500 mA with the hard drive connected, and still powered on in this mode.

Open Hour Chameleon (Rockchip RK3288) Power Measurement

Open Hour Chameleon Power Consumption Chart (Click to Enlarge)

Open Hour Chameleon Power Consumption Chart (Click to Enlarge)
Vertical Axis: Amps; Horizontal Axis: Sample number (every 0.5 second)

I had a few more problems with Open Hour Chameleon, as the HDMI signal would turn off from time to time including during multi-threaded floating point benchmark, 3D GPU benchmark, and playing a 4K video. At the end of the video playback, I completely lost video output, and even after removing the hard drive I could not access the UI, so I just press the power button on the remote and it went into standby. The value on the chart above is about 350 mA, but had I waited a few more seconds before stopping measurements it would have dropped to 100 mA.

3D GPU is not the most power hungry task on Rockchip RK3288, as the crown goes to multi-threaded floating-point benchmark consuming close to 2A. I did not play the 4K video from the hard drive, because the screen would go black so often, so instead  I played it from the network (SAMBA share), which should explain why the power consumption of this part is lower on RK3288 than on S812. Mali-T764 GPU power consumption in RK3288 also seems a bit lower compared to the one of Mali-450MP6 GPU found in Amlogic S812.

The “cut-off” current (where I lose video output) on RK3288 seemed to be around 1.3A, while I had no problem even at 1.4A on M8S, which must be because boards are different tolerances with regards to the minimum input voltage.

Since I did not play the video from the hard drive, the test are not really identical for both platforms, but for reference the average amperage on Open Hour Chameleon was 880 mA, while M8S averaged 811 mA.

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

How To Install Ubuntu 15.04 on MeLE PCG03 Intel Mini PC

February 13th, 2015 28 comments

I’ve already spent some time to test MeLE PCG03 Bay Trail-T mini PC in Windows 8.1, including a detailed video and audio review in Kodi 14.1. Since I don’t have anything else to do with Windows on the machine, I’ve decided to install Ubuntu instead, completely wiping out Windows 8.1. Since you pay around $30 for the Windows license, MeLE PCG03 is not the ideal platform computer for this little exercise due to the extra cost, but it should also work with other Intel Atom Z3735F based computer that may not come with a license.

Lubuntu 15.04 on MeLE PCG03 (Click for Original Size)

Lubuntu 15.04 on MeLE PCG03 (Click for Original Size)

At first I planed to go with Ubuntu 14.10 Mate ISO image, and it boots fine, but was curious to try from “scratch” with another ISO, so I went with Ubuntu 15.04 Alpha 2 (64-bit) image. I just went to the first link Google Search provided me and did not pay attention enough, and ended-up install Lubuntu instead, but you should be able to use any Linux AMD64 ISO with the instructions below.

The first step is to create a bootable USB flash drive.

So after downloading vivid-desktop-amd64.iso with BitTorrent, I started a Windows 7 virtual machine (but I could have done it directly in MeLE PCG03 instead), downloaded and install Rufus (Rufus 1.4.22), and create a bootable USB flash drive with the following options:

  • GPT partition scheme for UEFI computer
  • FAT32 with 32KB cluster (Other insructions recommend 64KB, but it was not available in the drop list).
  • LIVECD label (maybe not important) and vivid-desktop-amd64.iso image

Rufus_Ubuntu_Bay_TrailMake sure Rufus has selected the right Device, and click on “Start”.

Once this is done, you’ll need to download bootia32.efi, and copy it in /EFI/BOOT folder in the USB flash drive.

Now connect the USB flash to your MeLE PCG03 or other Intel Bay Trail-T device, power the device, press F7 to get to the UEFI menu, and select your USB flash drive in order to boot into Ubuntu 15.04.

If all you want to do is try Ubuntu (or the other Linux 64-bit ISO image you’ve selected), you are done.

But let’s install it instead. MeLE provided with instructions to re-install Windows on PCG03, but when I asked for the firmware files, they kept quiet…, so you may want to backup your Windows installation first.

There are three partitions:

sudo fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 29.1 GiB, 31268536320 bytes, 61071360 sectors
 Units: sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disklabel type: gpt
 Disk identifier: 8665F60E-4024-4C68-9E4E-57DCF3C2278F

Device          Start      End  Sectors  Size Type
 /dev/mmcblk0p1   2048   616447   614400  300M Microsoft basic data
 /dev/mmcblk0p2 616448   821247   204800  100M EFI System
 /dev/mmcblk0p3 821248 61069311 60248064 28.7G Microsoft basic data

Which I backed up as follows:

sudo apt-get install pv
sudo dd if=/dev/mmcblk0p1 | pv | dd of=WIN_P1.img bs=16M
sudo dd if=/dev/mmcblk0p2 | pv | dd of=WIN_P2.img bs=16M
sudo dd if=/dev/mmcblk0p3 | pv | dd of=WIN_P3.img bs=16M

But it might be a better idea to just get a single file:

sudo dd if=/dev/mmcblk0 | pv | dd of=WIN_MELEPCG03.img bs=16M

That way in case you want to re-flash Windows, start Linux from the USB flash drive, and re-install it with:

sudo dd if=WIN_MELEPCG03.img | pv | sudo dd of=/dev/mmcblk0 bs=16M

So you won’t need to potentially have to re-partition the eMMC flash with gparted, as would be the case for a separate backup file for each partition.

I’ve then re-partitioned the eMMC flash to format p3 as ext-4 and add a fourth partition for a 2GB swap, which may not be ideal on flash based device due to wear and tear:

sudo gparted /dev/mmcblk0

MeLE_PCG03_Ubuntu_PartitionsNow click on Install Lubuntu 15.04, and follow the instructions until they ask about the installation type (erase everything, install side-by-side..), where you need to select “Something Else”, and set:

  1. /dev/mmcblk0p3 to ext4 mount to /
  2. /dev/mmcblk0p4 to swap
  3. I’ve also changed “Device for boot loader installation” to /dev/mmcblk0p2, but it might not be necessary to change that part.
Click to Enlarge

Click to Enlarge

Carry on with the installation. Once it’s complete, you’ll still need to boot from USB one more time in order to install the 32-bit version of grub. Reboot, press F7, select your USB drive, and once you are in Grub (showing Ubuntu, Advanced options for Ubuntu, Windows Boot Manager, System setup), press ‘c’ to enter the grub terminal, and type the following commands in order to load the kernel and initramfs, and boot from the internal flash:

linux (hd1,gpt3)/boot/vmlinuz-3.18.0-13-generic root=/dev/mmcblk0p3
initrd (hd1,gpt3)/boot/initrd-3.18.0-13-generic
boot

The exact command will depend on your device and chosen linux distribution, but since grub support auto-completion it’s quite easy. For type “linux (hd”, and press tab to select the right drive and partition, then “/boot/vm”, and press tab again to select the right kernel, and so on.

Login into Ubuntu with the username / password you selected during installation, make sure you’ve connected an Ethernet cable,. and install 32-bit grub with efi support:

sudo apt-get install grub-efi-ia32 grub-efi-ia32-bin
sudo cp /boot/efi/EFI/ubuntu/grubia32.efi /boot/efi/EFI/ubuntu/grubx64.efi
sudo update-grub2

And now you’re done… Depending on your platform, you may also need to check your BIOS settings to make sure Secure Boot is disabled, and in my case at the beginning I had either a black screen (Ubuntu) or just the two lines (Advanced options for Ubuntu):

Loading Linux 3.18.0.13-generic....
Loading initial ramdisk...

So I went to the BIOS in Advanced->Security Configuration, and disabled Intel TXE, which seems to have made the trick.

Intel_TXE_BIOSBoot time takes about 12 seconds from the time I press enter in grub to the login screen.

I haven’t tested it much for now, except from some web browsing, and playing YouTube in Firefox (very slow), but before doing my deeply into testing, I’d like to find out a way to enable audio on the platform, at least via the 3.5mm headphone jack, as HDMI audio may be more complicated. A workaround tried by other people is to use a USB sound card. Here’s the full boot log where you’ll see that the audio chipset (ALC5640) is detected, but the driver (byt-rt5640) fails to initialize it.

I adapted instructions from the three sources below:

  1. Linuxium triple boot method (Android, Windows, Linux) on MeegoPad T01.
  2. Ubuntu on Bay Trail tablets.
  3. Installing Ubuntu on Asus T100’s internal flash
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

Install Ubuntu 14.10 on MeegoPad T01 with a Live ISO Image

January 19th, 2015 5 comments

MeegoPad T01 has recently been shown to boot Ubuntu and Android, but no installation disk had been provided so far. But thanks to deadhp1, there’s now a “beta” Ubuntu 14.10 image with MATE desktop environment available for download in order to try or install Ubuntu on MeegoPad T01, and other Intel Atom Bay Trail-T devices.

Ubuntu MATE 14.10 Live ISO (Click to Enlarge)

Ubuntu MATE 14.10 Live ISO (Click to Enlarge)

Before you decide to try or install the image, be aware that audio and Bluetooth are not working for now, but everything else should work, including hardware video decoding in Kodi. If your device is not using a Realtek rtl8723bs module, Wi-Fi won’t work, and you may need to use a USB Ethernet dongle to get IP connectivity. The instructions will keep your Windows 8.1 installation too, albeit I suppose you could also wipe out the Windows 8.1 partition completely and run Ubuntu only on the device. If the instructions are not followed carefully, you may brick your mini PC / HDMI Stick.

So if you’d still like to go ahead, you can download ubuntu_mate_1410_baytrail_hybrid_efi_test_17.iso, and burn the image to a USB flash drive using Rufus or  Unetbootin. Then insert the USB flash drive into your Bay Trail mini PC, turn it on, and press the F7 key to select boot. Your system should now be running Ubuntu from the USB flash drive (Username and password are both baytrail). So far, the procedure should be 100% safe.

If you want to install the image to the internal storage, and keep Windows too. You’ll first need to modify the partitions with Gparted first, then click on Applications->System Tools->Systemback to install Ubuntu. You can follow the instructions in the video made by deadhp1 to re-partition your system, and install Ubuntu MATE 14.10 to the eMMC flash. One very important point is:do NOT format your EFI partition (on meegopad-t01 /dev/mmcblk0p1), or you will lose your ability to boot if you do. Make sure to uncheck the format box.”

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

Downloading Files on Baidu, or via HTTP, Bittorrent or Metalink in Linux with BaiduExporter, Aria2 and YAAW

January 14th, 2015 4 comments

Most firmware files distributed by the manufacturers are uploaded to Baidu, but I’ve found the service not to be always reliable, especially for larger files. In Windows, people are recommended to use Baidu software (BaiduYunGuanjia), but there’s not such tool in Linux, so instead I investigate for command lines tools to download files from Baidu, and this lead me to two interesting tools called Aria2, a “lightweight multi-protocol & multi-source command-line download utility. It supports HTTP/HTTPS, FTP, BitTorrent and Metalink”, and YAAW “Yet Another Aria2 Web Frontend” with allow to start and monitor download locally or remotely.

But let’s start with the first tool I found: pan-baidu-download, a Python script to download files from Baidu.

To install it:

git clone https://github.com/banbanchs/pan-baidu-download.git
cd pan-baidu-download

We also need to install some dependencies (assuming python 2.7.x is already installed):

sudo apt-get install python-pip aria2

and then you can start downloading files as follows:

./python bddown_cli.py download http://pan.baidu.com/s/somerandomcharacters

But after posting a bug about password-protected download, which was fixed in 2 minutes by the developers, I was informed the script does not support directories, and was recommended to use BaiduExporter add-on for Chrome or Firefox instead.

Everything is in Chinese, and after installing the add-on I was not clear how to use it but I figured it out eventually.

First you need to run aria2c:

aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all

01/14 11:01:42 [NOTICE] IPv4 RPC: listening on TCP port 6800

01/14 11:01:42 [NOTICE] IPv6 RPC: listening on TCP port 6800

The command line above is insecure if you plan to run it on a remote server, as anybody could access it, and start download on your server.  But for testing, and local download this will do. If you stop aria2c, the downloads won’t restart with this command, but there are options that support this, but again, I have not looked into details for this quick test.

Now go to the Baidu download link, select the files and/or folders you want to download, and provided you’ll already installed Baidu Exporter add-on, a new menu will be shown, and all you have to do is click on ARIA2 RPC to start the download in aria2. The last options with two Chinese ideogram is the option, where you can change the IP of the aria2 server (localhost:6800) by default as well as other settings.

BaiduExporter_Firefox

Baidu Download with BaiduExporter in Firefox (Click to Enlarge)

You can now close the Baidu window in your web browser. and should see the download as started in the terminal:

aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all
01/14 11:01:42 [NOTICE] IPv4 RPC: listening on TCP port 6800
01/14 11:01:42 [NOTICE] IPv6 RPC: listening on TCP port 6800
 *** Download Progress Summary as of Wed Jan 14 11:07:30 2015 ***
 ===============================================================================
 [#af540e 0B/0B CN:1 DL:0B]
 FILE: /media/hdd/edev/sandbox/yaaw/binux-yaaw-ab09f92/update1201-android/update.zip

This is all good, but in practise you’d probably want start aria2c when your computer boots and would not be able to monitor progress, especially if you use a remote server, and this is where YAAW comes into play.

To install it, check out the code from Github or download and extract the tar file. Now go to the directoty where you extract the file. and open index.html with your web browser. You can monitor download, or even add HTTP or Bittorrent Downloads. AFAIK, you can’t add Baidu links to YAAW directly, but you can monitor the downloads added via Baidu Exporter

Baidu and Bittorrent Downloads in YAAW

Baidu and Bittorrent Downloads in YAAW

The aria2c IP address and port can be changed in the settings directly from the main page. Some useful tips for YAAW:

  • All your settings on web is temporary. Settings will be lost after aria2 restarted.
  • Tasks (including those that are not finished) will be lost after aria2 is restarted. Use --save-session=SOME/WHERE and reload with --continue=true --input-file=SOME/WHERE to continue.
  • Use $HOME/.aria2/aria2.conf to save your options.

I haven’t gone into details, but Aria2 and YAAW could be used with a NAS, a cheap board with a USB harddrive, or even USB Wireless flash drive such a Zsun SD111 (which is now hackable even without serial debug board, as the default root password has just been cracked) to make a downloader to handle large downloads instead of leaving your PC on at night, or 24/7.

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