Posts Tagged ‘review’

Review of UyeSee G1H Rockchip RK3288 Android TV Box

August 27th, 2014 4 comments

UyeSee G1H is one of the first Android TV boxes powered by Rockchip RK3288 quad core Cortex A17 SoC. I’ve already listed specs, and shown a few pictures of the device and the board in my “UyeSee G1H Unboxing” post, so today I’ll write a full review, checking out the user interface, testing video playback capabilities, network and storage performance, play a few games, check hardware features are working as expected, and runs some benchmarks on the platform.

First Boot, Settings and First Impressions

There’s an infrared remote control with the device. I’ve inserted a CR2032 battery, and although it works great in the user interface, it becomes useless with Android apps, so instead I’ve opted to use Mele F10 Deluxe air mouse which brings mouse and keyboard support. Before powering up the device, I’ve connected an HDMI cable, the RF dongle for Mele F10 Deluxe, a USB hard drive, and an Ethernet cable. Connecting the power supply will start the device automatically, and the boot is super fast compared to other devices I’ve tested, as it takes about 18 seconds only.


UyeSee G1H Android Launcher (Click for Original Size)

There’s a custom launcher as shown above, as well as the stock Android home screen as shown below. The status bar is disabled by default, but I’ve enabled it for easier control with the air mouse, and to take screenshots. It looks pretty, but unfortunately this must have been designed for the Chinese market, and all buttons report “App not installed”, except the Settings button which goes to the Android settings. You can use the arro keys to navigate, and if you go right, you’ll find the all the you’ve installed apps. This menu has some animation that are extremely smooth, probably thanks to the Mali-T764 GPU. However, if you click on the screenshot above you’ll find out the resolution is set to 1280×720. I’d assume most people don’t buy the latest Android mini PC to get a 720p machine, but you can change to 1920×1080 resolution in the settings, and the user interface will also be set to 1080p. I don’t have a 4K TV so 4K options did not show up. The launcher above won’t look very nice at 1080p, because graphics are made for 720p, and a large part of the bottom of the screen will not be used. There’s no such problem when switching to the stock Android home screen.


Android Home Screen (Click for Original @ 720p)

Going to the Settings, we’ve got all usually Wireless and Networks options for Wi-Fi, Bluetooth, and Ethernet, including VPN, Portable Hotspot and so on. There’s a Home menu to select the launcher, and ScreenshotSetting  menu, both of which I did not notice in most other firmware. The Sound settings like you choose between “Default Output” (PCM / Down-mixing), “Spdif Passthough”, and HDMI Bitstream (HDMI pass-through), but I don’t have an audio receiver yet, so I could not try the pass-though options. The Display settings will allow you to hide or show the status bar, adjust for overscan, select HDMI, YPbPr, and “TV” (Composite) video output, as well as the resolution: “auto”, 1080p 24/25/30/50/60Hz, 720p 50/60, 720×576 or 720×480. If you have a 4K TV, 4K options should show as well. I’ve been informed there’s currently a bug for 4K @ 60Hz, but it will be resolved in the next firmware upgrade. I’ve done most of my testing with HDMI, and I had no problem, but I also tested composite and component (YPbPr) video output.

Composite (Click to Enlarge)

Composite (Click to Enlarge)

Component (Click to Enlarge)

Component (Click to Enlarge)

Composite looks fine, but there’s a green line on my TV that could not be removed even after using the “Screen Scale” menu. YMMV. Component output is more problematic as it is only shown in Grey (Y signal), I could not get the Chrominance signal to show which any cable combination I tried.

About_UyeSee_G1HMy device comes with a 8GB NAND flash, and they’ve partitioned it with a 1.91GB “Internal Storage” partition for apps, and a 3.88 GB “NAND FLASH” partition for data. I really prefer a single partition for everything, but even after installing all apps I needed for testing I still had 1.17GB free in the “Internal Storage” partition. It may become a problem if you install many apps, especially games which can be rather large.

Other settings are pretty standard, and the developer option are enabled by default. The “About device” section reports the model number as “rk3288″, Android 4.4.2 on top of Linux kernel 3.10.0. The firmware is not rooted, and I don’t have male to male USB cable, so I could not root it via the OTG port.

I could install most applications I tried on Google Play Store including Root checker, Antutu, Quadrant, Beach Buggy Blitz, etc…, but a few would just report my device is not compatible such as Real Racing 3 (but many Android STB have the same issue) and Vidonn activity tracker app. I have had some 941 errors from time to time, failing to install an app, but these were possibly network error unrelated to G1H. Paid apps such as Sixaxis Controller installed properly. In order to play Riptide GP2, I also installed Amazon AppStore without issue.

There’s no power button, so you can’t power off the device gracefully, only put it in standby mode with the IR remote control power button, The soft power button in the status did not work for me. Despite having only a 5V/2A power adapter, connected a USB hard drive, I did not seem to have issues with a lack of power, except possibly at the end of one Antutu test at 1080p where the screen went blank. The box can get pretty hot however. After Antutu, the max temperature on the top and bottom of the box were respectively 53 °C and 60 °C, after after playing Riptide GP2 for 30 minutes at 1080p, it went all the way up to 63 °C and 71 °C, which means the processor even gets hotter, possibly well over 80 °C, I’m not sure this can be good if this happens too often.

The firmware is very smooth most of the time, except when it’s writing to the flash, while installing an app for example, where the mouse pointer may not react for short periods of time. Stability is OK, but I had the screen turn off at the end of Antutu benchmark once, requiring a power cycle, and another time the box rebooted itself, while browsing files in ES File Explorer. I like the fact that you can switch between 720p and 1080p user interface, as you want prefer the former for smoother games, and the former for video playback for example.

You can watch the video below to see what the UI looks like at 1280×720 and 1920×1080 resolution, as well as the difference settings options available.

Video Playback

I normally play videos from a SAMBA share over Ethernet using XBMC. However, the box does not come with XBMC, and currently XBMC does not support hardware decoding for HEVC, so instead I’ve chosen to test videos with MXPlayer. I did try to install XBMC using XBMC Updater, and downloaded both stable and nightly apk, but the system reported the apk were not recognized. So I tried to install SPMC via Google Play instead, but atfirst I got a 941 error, and I could only manage install it after most testing was complete at a later stage. Using Es File Explorer, I connected to my SAMBA share, and unfortunately even 480p video were buffering like crazy, so I ended up using a USB hard drive. The Ethernet issue may not be due to G1H, but my Gigabit switch, as I’ll explain in the networking section. Nevertheless, the takeaway is that videos were played from USB hard drive with MXPlayer, unless otherwise stated.

I start with videos samples from, and as well as videos with H.265/HEVC codec from Elecard:

  • H.264 codec / MP4 container (Big Buck Bunny), 480p/720p/1080p – OK
  • MPEG2 codec / MPG container, 480p/720p/1080p – Video playing at an estimated 2 to 4 fps, with most frames skipped [SPMC test: OK, but every second or so, there will be a subtle change of color / screen jump]
  • MPEG4 codec, AVI container 480p/720p/1080p – OK
  • VC1 codec (WMV), 480p/720p/1080p – OK
  • Real Media (RMVB) – RV8, RV9, and RV10 – OK, much smoother than any other device I’ve tried, and according to MXPlayer using HW decode.
  • WebM / VP8 – OK
  • H.265 codec / MPEG TS container – No video, audio only.

I’ve also tested some high bitrate videos:

  • ED_HD.avi – OK, no problem even in fast moving scenes
  • big_buck_bunny_1080p_surround.avi (1080p H.264 – 12 Mbps) – OK. (Audio needs to be decoded by S/W)
  • h264_1080p_hp_4.1_40mbps_birds.mkv (40 Mbps) – OK
  • hddvd_demo_17.5Mbps_1080p_VC1.mkv (17.5Mbps) – OK  (Audio needs to be decoded by S/W)
  • Jellyfish-120-Mbps.mkv (120 Mbps video without audio) – OK

Most high definition audio codecs (except AC3 and TrueHD) could not play with MXPlayer, but I tried later with SPMC (XBMC fork on Google Play), and all could play:

  • AC3 – OK
  • Dolby Digital 5.1 / Dolby Digital 7.1 – OK
  • TrueHD 5.1 & 7.1 – OK
  • DTS-MA and DTS-HR – OK

Sintel-Bluray.iso Blu-ray ISO file could play in MX Player but with video only, I could not get audio to work, even switching to software decode.

Rockchip RK3288 is supposed to handle 4K videos, even with HEVC, so let’s try a few in MX Player:

  • HD.Club-4K-Chimei-inn-60mbps.mp4 – OK
  • sintel-2010-4k.mkv – Can play but with some slow downs from time to time. I can get audio by switching to audio S/W decoding.
  • Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 – OK, but some white “fog” appears on the black background
  • Bosphorus_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 – OK
  • Jockey_3840x2160_120fps_420_8bit_HEVC_TS.ts – Cannot play.

Several AVI, MKV, FLV and MP4 videos in my library could play fine with SPMC. I also played a complete 1080p video (1h50) in the box, and I had no issues either.

At first, I was not too happy with video playback using MX Player only, but when you put SPMC (XBMC) into the mix, it looks much better. The main thing you lose (confirmed) with XBMC is H.265 / HEVC hardware video decoding.

Links to various video samples used in this review and be found in “Where to get video, audio and images samples” post and comments.

Network Performance (Wi-Fi and Ethernet)

The network test consists in transferring a 278 MB file between a SAMBA share and the internal flash using, and vice versa, repeating the test three times using ES File Explorer. Wi-Fi performance appears to be inconsistent, as I had three much different transfer times: 3m20s, 2m43s, and 4m31s, averaging a rather disappointing 1.31 MB/s. I also tested Miracast via Rockchip’s “Wi-Fi display” app included with the firmware, and after a few tries I managed to mirror my Android phone display.


Wi-Fi Performance in MB/s

Now.. Ethernet.. This gets interesting. At first, when I used the device connected to Ethernet, it felt sluggish in the Play Store, and soon found some serious issues while transferring a file from a SAMBA share using ES File Explorer, as throughput was around 300 to 500 KB/s most of the time, and sometimes it would even stall. This looks very similar to the issue I had to Wetek Play. I’ve recently purchased a D-Link DGS-1005A 5-port Gigabit switch for test, and used it in my last five reviews. That means three products had no problem with the switch, and two had issues. Which item is guilty is difficult to prove. So I decided to insert my older (D-Link) 10/100M hub, between the device and the Gigabit switch and it worked. I tried to connect the device to my Gigabit switch with a different cable, and it also worked, but the connection is only 100M. If I used the original cable (the same I used for all other reviews), it will detect a Gigabit connection, but the Ethernet LEDs will “funnily” blink on the device, and the Link LED will turn on and off. So at the end of the day, I did not manage to get a proper Gigabit connection, so I tested Fast Ethernet, and the result is OK.


Ethernet Performance in MB/s

Like with Probox2 EX, this test used the ES File Explorer version with improved SAMBA performance, which may have helped a bit for Ethernet, but did nothing for Wi-Fi.

Miscellaneous Tests


Transferring a picture via Bluetooth worked just fine, after pairing G1H with my Android smartphone (ThL W200).

I skipped Sixaxis test for PS3 Bluetooth Gamepad support, as it required root.

After installing Vidonn app for Vidonn X5 activity tracker, it could connected via Bluetooth 4.0 LE to retrieve the data.


Both a micro SD card and a USB flash drive formatted to FAT32 could be mounted and accessed successfully.
I’ve also connected my USB 3.0 hard drive with NTFS, EXT-4, FAT32, and BTRFS partitions. and as usual the Linux file systems are not supported, at least not by default.

File System Read Write
EXT-4 Not mounted Not mounted
BTRFS Not mounted Not mounted

After setting the custom locations set to /mnt/usb_storage/USB_DISK2/USB3_NTFS in A1 SD Bench to benchmark the NTFS partition, I got a read speed of 27.5MB/s and a write speed of 25.98MB/s.


USB Hard Drive Performance in MB/s

There’s not that much differences between difference platforms at USB 2.0 speeds.

Last time, the eMMC flash in Probox2 EX could be read at 27.57MB/s, and written at 15.11 MB/s, and the eMMC used in G1H as better read speed at 44.50 MB/s, but much slower write speed at 7.3 MB/s, which may explain some the rare slowdowns I experienced while playing with this mini PC.

USB Webcam

Skype sort of worked with my UVC USB webcam. I tested audio successfully with the Echo service, and I could see the video, but as I tried to leave a video message the app crashed.

Google Hangouts could detect the webcam, but when I did a video call the camera image did not show up.


With Mali-T764 GPU, Rockchip RK3288 should be a star when it comes to video games. I’ve tested the three games: Candy Crush Saga, Beach Buggy Blitz, and Riptide GP2. Candy Crush Saga unsurprisingly worked fine as with any device. Beach Buggy Blitz is a little more challenging, and based on my experience Riptide GP2 is even more demanding.

Testing games was actually the first thing I did, at first the resolution was set to 720p. I used Tronsmart Mars G01 wireless gamepad to control both games. I went to Beach Buggy Blitz settings, and maxed out the graphics settings which normally make devices based on Amlogic S802 struggle to have a decent framerate. But with UyeSee G1H, the game was just extra smooth. I did the same with Riptide GP2, and yet again very smooth most of the time. I could even win races, or battle with the lead driver at all games. That’s not usual at all, as normally I’m always fighting for third place in other Android TV boxes :). Beside the high framerate, one of the reasons gameplay is better is that I don’t have lag with Tronsmart Gamepad in this device.  Switching to 1080p, Beach Buggy Blitz is still super smooth, except sometimes during the first one of two seconds of the game. Riptide GP2 is still very playable, and I’m still fighting for victory!, but it feels like the framerate may drop in the low 20, or even 15 at times. I’ve played Riptide GP2 for 30 consecutive minutes, and albeit the box gets very hot (70 C), everything is stable and smooth.

UyeSee G1H Benchmark

Since it’s my first Rockchip RK3288 device, I’ve run a few more benchmarks than usual, and also checked the CPU details with CPU-Z app.
CPU-Z has apparently not yet heard about Rockchip RK3288, as it reports a Rockchip RK3066 processor. The CPU architecture is 0xc0d, which stands for ARM Cortex A12, whereas Cortex A17 should be 0xc0e, according to this. So finally Rockchip RK3288 might be a Cortex A12, at least for the first versions. If there are other ways to check let me know.  The CPU clock can scale between 126MHz and 1.8 GHz, the GPU is correctly detected as Mali-T764, and there’s indeed 2GB RAM in my device, but CPU-Z only takes the “internal flash” partition reporting 1.91 GB storage for the 8 GB flash.
Antutu 4.x score is excellent with 40,497, one of the top device on the market. That score has been achieved with a resolution of 1280×720, switching to 1920×1080 brings the score down to a still very good 39273 points. I’ve created a table below showing comparing S802 in Probox2 EX, and RK3288 in G1H  to find out where it shine in the tests:

Amlogic S802 Rockchip RK3288
Multitask 5744 10415
Runtime 2018 4698
RAM Operation 2997 2066
RAM Speed 1596 2797
CPU integer 3781 3162
CPU float-point 2815 5218
2D Graphics 1648 (607×1008) 1641 (1280×672)
3D graphics 8717 (607×1008) 8404 (1280×672)
Storage I/O 1801 1461
Database I/O 630 635

Results are quite surprising. According to Antutu 4.x scores, RK3288 shines in multitask, runtime, and CPU floating point testes, but graphics are about equivalent to S802 (at slightly different resolutions), and CPU integer is faster in the S802 @ 2.0 Ghz compared to RK3288 @ 1.8 Ghz. Probox2 EX has slightly better storage performance compared to UyeSee G1H but this part is mostly independent from the processor.

I also tried to run Quadrant, but all I got was a grey screen as I ran the test. Vellamo benchmark is now at version 3.0, so I can’t really compared it to earlier tests I did, but UyeSee G1H performance is also pretty good here.

Vellamo_UyeSee_G1H_Rockchip_RK3288In the new Multicore (beta) benchmark, this Rockchip RK3288 solution even beats all other players.

Rockchip_RK3288_Vellamo_MulticoreIn the browser score, UyeSee G1H is only outperformed by LG G3 smartphone (Qualcomm Snapdragon 801), and in the metal score, its performance is about equivalent to LG Nexus 5 (Qualcomm Snapdragon 801).

Despite the clear superior performance in games, the graphics benchmarks in Antutu were somewhat disappointing, so I’ve run Ice Storm Extreme test in 3DMark.


3DMark Benchmark Results (Click to Enlarge)

A score of 7278 points is about equivalent to a phone based on Snapdragon 600 with Adreno 320 GPU. Many recent devices based on Qualcomm 800 and greater get score above 10,000 or simply maxes out the test, so again I was expecting the GPU to perform better in benchmarks.


First, I’d like to thank Shenzhen UyeSee Technology for being the first company to send me a product based on Rockchip RK3288. The product is still new, and although there are positives, there’s still some work that need to be done. Compared to existing products, the main benefits of Rockchip RK3288 are HEVC video decoding and a 3D gaming performance unmatched by other Android TV boxes


  • Fast new processor
  • Excellent 3D graphics performance for games, which for some reasons does not really show in benchmarks.
  • Both 720p and 1080p user interfaces are supported
  • Video Output – 1080p support 24, 25 ,30 , 50 and 60 Hz output which may be important for some videos. 4K will eventually support 60Hz thanks to HDMI 2.0.
  • HEVC video decoding support
  • OTA firmware updates appear to be supported (but I cannot confirm).
  • Webcam supported in Skype (although it did not work in Google Hangouts)


  • Rare stability issues (1 reboot, one black screen over 8 hours of testing)
  • Lacklustre Wi-Fi performance
  • XBMC not pre-installed
  • Issues with some videos in MX Player (MPEG2, several HEVC/H.265 can’t be played, some audio issues)
  • Somewhat slow eMMC flash write speed potentially leading to slowdowns
  • Potential Gigabit Ethernet issues, at least confirmed with my switch (D-Link DSG-1005A).
  • No proper power off (standby only)
  • The device can get pretty hot (70+ C)
  • A few apps are not compatible in Google Play
  • Video output – Component only output the Luminance signal with my TV, composite has a green bar at the bottom
  • “TV” Launcher is only made for 720p resolution

I had quite a few problem with networking with this hardware. First Wi-Fi is stable, but relatively slow, and then the box did not want to play nice with my Gigabit Ethernet switch, but connection and performance were fine with a Fast Ethernet hub. Video playback is decent, but may still need more work, a version of XBMC with support for H.265 would be nice, but I’d assume at first all Rockchip RK3288 TV boxes will suffer from the same flaw, at least initially. If you’d like to play some 3D games this TV box will give you a much better experience than what you can achieve with the fastest Cortex A9 solution (Rockchip RK3188, Amlogic S802), and after testing the box, this is currently the main selling point of this media player.

You may find more information and/or contact the company via G1H product page. UyeSee G1H is not yet listed on their Aliexpress Store, but some hardware with similar specs, but different enclosure, can be bought for $90 including shipping on Aliexpress, so we might expect a similar price for G1H.

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

UyeSee SoundMate M2 Wi-Fi Audio Streamer Review

August 25th, 2014 7 comments

UyeSee SoundMate M2 Wi-Fi music streaming receiver allows you to wirelessly play audio files from your smartphone or computer to speakers connected to a 3.5mm jack or an audio receiver connected to the optical S/PDIF output of the device. The company sent me a sample for review. I’ll first list the key features of the system, show pictures of the device, and test it with an Android smartphone using my TV speakers.

SoundMate M2 Features & Specifications

Listed hardware specifications and features:

  • Processor – Unnamed router chipset and Audio DAC
  • Memory & Storage – N/A
  • Connectivity – 802.11 b/g/n WiFi up to 150Mbps with antenna. Open (default), WPA, WPA2, WPA2 Mixed Security.
  • Audio Output – 3.5mm audio jack, optical S/PDIF
  • Streaming Standards – AirPlay, DLNA, and QPlay
  • Audio Formats – aac, mp3, wav, flac, and ape
  • USB – 1x USB 2.0 port for mass storage and/or 3G dongle, 1x micro USB for power
  • Misc – Wi-Fi and power LEDs, reset pin hole
  • Supported hardware – iOS, Android, Windows and Mac
  • Power Supply – 5V via micro USB port
  • Dimensions – 85 x 85 x 24.7 mm
  • Weight – 250 grams
  • Enclosure – Aluminum

SoundMate M2 Pictures and Unboxing Video

I’ve received the device together with their G1H TV Box via Fedex, and it came in the retail package shown below.
Soundmate_M2_PackageWe’ll find the device, a Wi-Fi antenna, a micro USB to USB cable for power, an RCA audio cable, and a user’s manual in English and Chinese.

SoundMate M2 and Accessories (Click to Enlarge)

SoundMate M2 and Accessories (Click to Enlarge)

At the front of the device, there’s a Wi-Fi logo, a red power LED, and green Wi-Fi LED. All other connector are at the back: Wi-Fi antenna connector, micro USB for power, reset pinhole, optical S/PDIF, audio jack, and a USB host port.

SoundMate M2 (Click to Enlarge)

SoundMate M2 (Click to Enlarge)

I’ve also tried to open the device, and there are 4 screws under rubber pads on the bottom of the enclosure, but these are firmly tightened and slightly damaged, and I did not manage to remove them.

Unboxing video just below…

SoundMate M2 Review with Android

You can control this wireless audio streamer with iOS devices using Airplay or DLNA, Android deices with DLNA with apps such as BubbleUPnP, AllCast, UPnPlay, etc…, and computers using iTunes, Windows Media Player and other programs with DLNA functions. I’ve only tested it with an Android smartphone. Normally you’ll want to connect the device to speakers or an audio system, but I have neither, so I’ve just connected the audio cable to my TV for testing, and connected the power to start it.

You’ll need the IP address for your device which can be found on the bottom of the enclosure. The MAC address is not needed for configuration, but it starts with 845DD7

SoundMate_IP_AddressIn you Android phone, go to the Wi-Fi settings to locate soundmate_XXXX ESSID and connect to it. It’s using an open network by default, so there’s no password. Then go to your favorite web browser in your phone, and go to, or whatever address there may be at the back of the device.


The web interface provides access to 6 submenus:

  • File manager for USB storage which successfully found FAT32 and NTFS partition in my hard drive
  • Basic settings where you can change the “device name” (ESSID), and configure network security
  • Music service to change the streamer name (DLNA, Airplay..)
  • Internet Connection to configure the connection to your Wi-Fi router or 3G USB dongle.
  • Advanced settings to configure SAMBA and DMS (What’s that?) access. I have not tried either.
  • Upgrade Firmware to upgrade via USB.
File Manager, Internet connection and Advanced Settings (Click to Enlarge)

File Manager, Internet connection and Advanced Settings (Click to Enlarge)

The important part is to configure the Internet Connection to get access to your router while connected to SoundMate.

When you browse the file manager, and try to open a music file it will simply download it and ask you which app you want to open. There’s no way to tell the device to automatically play the audio files via the web interface, so that’s not too useful… I’m not really sure how to play files from the USB drive, maybe using SAMBA can help…

The Quick Start Guide lists several DLNA apps: Air buddy, All CVast, BubbleUPnP, ShareOn, UPnPlay, iMediaShare, N7 Player, and Air Music, but they also mention any app with DLNA function should work. At first I decided to install BubbleUPnP as it’s one of the most popular DLNA app. It worked at first, but after I tried to play an unsupported file, it stop working, refusing to play any audio files. So I decided to reboot the device, but it was not the culprit, as BubbleUPnP refused to play any files, even after exiting and restarting it. So instead I installed UPnPlay, and I could play most audio files from my phone, expect the first MP4 (.m4a) audio files I have as it’s not supported by SoundMate M2.

SoundMate Renderer in BubbleUPnP and UPnPlay Apps

SoundMate Renderer in BubbleUPnP and UPnPlay Apps

Previously, I tried to play music from my phone using EZCast dongles such as Tronsmart T1000 and WiDiCast EC-E2, and when outside, I started to have problems with a range of 6 meters or so, but SoundMate M2 is much better, as the audio plays fine as far as about 10 meters, and beyond that audio cuts are starting to show up. You can also control the volume from the phone, as with the other solutions.

UyeSee SoundMate M2 is available on Aliexpress for $55 including shipping via DHL. You may also want to check the product page on UyeSee website.

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

Categories: Android, Audio, Hardware, Video Tags: airplay, dlna, review, uyesee

Linux (Enlightenment and Lubuntu) in WeTek Play Amlogic TV Box

August 24th, 2014 21 comments

Last week I reviewed WeTek Play, a TV box with two DVB-S2 tuners, powered by Amlogic AML8726-MX dual core ARM Cortex A9 processor, and running Android 4.2, but the company also released several Linux based images including one with Enlightenment window manager, and another, temporary one, with Ubuntu core which allows you to install Lubuntu or Xubuntu with apt-get. There are also working on OpenELEC, but have not released the binary yet. Today, I’ll try the Enlightenment image because it also supports hardware video decoding via Gplay (gstreamer), and show how to install Lubuntu.

The instructions below have been done in a computer running Ubuntu 14.04, but a Windows computer can also be used.

  1. Download Wetek-Linux.img.bz2
  2. Connect a micro SD card to your computer, extract and flash Wetek-Linux.img:
    • In Linux using a terminal window:
      bzip2 -d Wetek-LInux.img.bz2
      sudo dd if=Wetek-Linux.img of=/dev/sdd bs=1M
    • In Windows, extract the image, and use Win32DiskImager to copy the image to your micro SD card
  3. Now insert the micro SD card into Wetek Play, and start the device.
  4. Linux should boot and run Enlightenment
Enlightenment in Wetek Play (Click for Original Size)

Enlightenment in Wetek Play (Click for Original Size)

For some reasons, the USB mouse and keyboard I connected where powered on, but no recognized / usable by the system, so instead I used the air mouse provided with the box. This is a minimal image with a rootfs built with buildroot, using busybox, and Enlightenment window manager. There are just three main applications in the menu: Mplayer, Enlightenment File Manager and Xterm. You also have more settings options.

Since I had no keyboard input, I connected the provided serial cable to the RS-232 port (barrel) on Wetek Play to my PC via an RS-232 to USB adapter, setup minicom to connect to /dev/ttyUSB0 with 115800 8N1 parameter, and I could access the serial console. For some reason all keyboard keys are repeated, so “ls -l” actually looks like “llss –ll”, but it works anyway. Pressing the Tab key may get rid off the duplicate characters.

I’ve run some commands to check the available storage space and memory.

# df  -h
Filesystem                Size      Used Available Use% Mounted on
/dev/mmcblk0p2            1.8G    334.4M      1.4G  19% /
devtmpfs                431.7M         0    431.7M   0% /dev
tmpfs                   433.1M         0    433.1M   0% /dev/shm
tmpfs                   433.1M    400.0K    432.7M   0% /tmp

# free  -m
total         used         free       shared      buffers
Mem:           866           88          777            0            2
-/+ buffers:                 85          780
Swap:            0            0            0

I’ve used a 16GB SD card, so I should probably have resized the partition with parted and resize2fs to make full use of the card capacity. But for quick testing, I skipped that part.  There’s plenty of free memory, becasue Enlightenment is an ultra lightweight desktop environment.

WeTek used the latest kernel 3.10.33 source from Amlogic with device tree support.

# uname  -a
Linux buildroot 3.10.33 #1 SMP PREEMPT Sun Aug 3 01:32:38 CEST 2014 armv7l GNU/x

Finally, I mounted a USB hard drive (ext-4), and successfully play a 1080p video with gplay:

mkdir -p /media/usb
mount -t ext4 /dev/sda2 /media/usb
gplay /media/usb/Video_Samples/High_Bitrate/big_buck_bunny_1080p_surround.avi

You can checkout the video below where I show the desktop environment, the serial connection, and play the 1080p video above.

This image us better suited as a start point to build your own application, still has some bugs, and not something you would use as a desktop computer. But at least, it’s one of the few ARM platform with proper hardware video decoding in Linux. Others would be the Freesale i.MX6 boards (Wandboard, TBS Matrix, etc…), Hardkernel ODROID boards, and Nvidia Tegra TK1 development board.

I’ve also included the full boot log below for reference:

BootFrom SPI
Boot from int dev 1stSPITE : 346507System StartedU-boot(m6_mbx@79a31247) (Aug 08 2014 – 13:50:34)aml_rtc_init
aml rtc init first time!
clr h-ram
DRAM:  1 GiB
relocation Offset is: 105e4000
MMC:   [mmc_register] add mmc dev_num=0, port=1, if_type=6
[mmc_register] add mmc dev_num=1, port=2, if_type=6
SDIO Port B: 0, SDIO Port C: 1
NAND:  Amlogic nand flash uboot driver, Version U1.06.020 (c) 2010 Amlogic Inc.
SPI BOOT : continue i 0
No NAND device found!!!
NAND device id: 2c 44 44 4b a9 0
NAND device: Manufacturer ID: 0x2c, Chip ID: 0x2c (Micron D revision NAND 4GiB )
1 NAND chips detected
#####aml_nand_init, with RB pins and chip->chip_delay:20
bus_cycle=5, bus_timing=6, start_cycle=6, end_cycle=7,system=5.0ns
oob size is not enough for selected bch mode: NAND_BCH60_1K_MODE force bch to mE
aml_chip->oob_fill_cnt =168,aml_chip->oob_size =744,bch_bytes =70
multi plane error for selected plane mode: NAND_TWO_PLANE_MODE force plane to :E
aml_nand_init:oobmul =1,chip->ecc.layout->oobfree[0].length=16,aml_chip->oob_si4
aml nand env valid addr: 8000 ,status =0
key start_blk=2040,end_blk=2047,aml_nand_key_init:684
aml nand key valid addr: ff010000
aml nand key valid addr: ff210000
aml nand key valid addr: ff410000
aml nand key valid addr: ff610000
CONFIG_KEYSIZE=0×10000; KEYSIZE=0xfffc; bbt=0×1330; default_keyironment_size=0xc
i=0,register — nand_key
NAND bbt detect Bad block at 0
Creating 8 MTD partitions on “nandnormal”:
0×000000800000-0×000001000000 : “logo”
0×000001000000-0×000001800000 : “aml_logo”
0×000001800000-0×000002000000 : “recovery”
0×000002000000-0×000002800000 : “boot”
0×000002800000-0×000042800000 : “system”
0×000042800000-0×000062800000 : “cache”
0×000062800000-0×000072800000 : “backup”
0×000072800000-0x0000ff000000 : “data”
nandnormal initialized ok
detect mx chiprevD :1 and nand_type: 40
nand_curr_device =1
SPI BOOT,spi_env_relocate_spec : env_relocate_spec 53
SF: Detected MX25L3205D with page size 256, total 4 MiBSPI NOR Flash have write protect!!!
In:    serial
Out:   serial
Err:   serial
register usb cfg[0] = 9fe85564
Net:   Meson_Ethernet
init suspend firmware done. (ret:0)
nand exist return 0
setenv storage nand
ir init
efuse version is not selected.
Hit Enter key to stop autoboot — :  0
exit abortboot: 0
Checking for OpenElectv …
sdio_detect return 1
[mmc_init] SDIO Port B:0, if_type=7, initialized OK!
Device: SDIO Port B
Manufacturer ID: 0
OEM: 0
Name: Tran Speed: 40000000
Rd Block Len: 512
SD version 2.0
High Capacity: Yes
Capacity: 15798894592
Boot Part Size: 0
Bus Width: 4-bit
reading kernel.img

** Unable to read “kernel.img” from mmc 0:1 **
Checking for Linux …
Device: SDIO Port B
Manufacturer ID: 0
OEM: 0
Name: Tran Speed: 40000000
Rd Block Len: 512
SD version 2.0
High Capacity: Yes
Capacity: 15798894592
Boot Part Size: 0
Bus Width: 4-bit
reading boot.img

6449001 bytes read

NAND read: logo whole chip
8388608 bytes read: OK
unpackimg:Magic error, use old format

NAND read: logo whole chip
8388608 bytes read: OK
unpackimg:Magic error, use old format
## Booting kernel from Legacy Image at 82000000 …
Image Name:   Linux-3.10.33
Image Type:   ARM Linux Kernel Image (lzma compressed)
Data Size:    3655540 Bytes = 3.5 MiB
Load Address: 80008000
Entry Point:  80008000
Verifying Checksum … OK
Ramdisk start addr = 0x8237d000, len = 0x2a495d
Process device tree. dt magic: edfe0dd0
One dtb detected
Flat device tree start addr = 0×82622000, len = 0x40c6 magic=0xedfe0dd0
Uncompressing Kernel Image … OK
uboot time: 5142982 us.
machid from environment: 0x4e27
EFUSE machid is not set.
Using machid 0x4e27 from environment
From device tree /memory/ node aml_reserved_end property, for relocate ramdisk 1
Loading Ramdisk to 84008000, end 842ac95d … OK
Loading Device Tree to 84000000, end 840070c5 … OK

Starting kernel …

[    0.000000@0] Booting Linux on physical CPU 0×200
[    0.000000@0] Linux version 3.10.33 (sasa@AMLogic-ProXBMC) (gcc version 4.7.4
[    0.000000@0] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
[    0.000000@0] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruce
[    0.000000@0] Machine: Amlogic Meson6 platform, model: AMLOGIC
[    0.000000@0] physical memory start address is 0×80000000
[    0.000000@0] reserved_end is 8dafffff
[    0.000000@0]  reserved 511M-512M 1M memory for firmware
[    0.000000@0] Total memory is 1024 MiB
[    0.000000@0] Reserved low memory from 0×85000000 to 0x8dafffff, size: 139 M
[    0.000000@0]        ion_dev0(low)           : 0×85100000 – 0×87100000 ( 32 )
[    0.000000@0]        mesonfb0(low)           : 0×87100000 – 0×88100000 ( 16 )
[    0.000000@0]        mesonfb1(low)           : 0×88100000 – 0×88200000 (  1 )
[    0.000000@0]        deinterlace0(low)       : 0×88200000 – 0x89e00000 ( 28 )
[    0.000000@0]        mesonstream0(low)       : 0x89e00000 – 0x8a800000 ( 10 )
[    0.000000@0]        vdec0(low)      : 0x8a800000 – 0x8c800000 ( 32 MiB)
[    0.000000@0]        ppmgr0(low)     : 0x8c800000 – 0x8db00000 ( 19 MiB)
[    0.000000@0] Ignore bootargs ‘mem’ param.
[    0.000000@0] Memory policy: ECC disabled, Data cache writealloc
[    0.000000@0] PERCPU: Embedded 8 pages/cpu @c1231000 s8704 r8192 d15872 u3278
[    0.000000@0] Built 1 zonelists in Zone order, mobility grouping on.  Total 0
[    0.000000@0] Kernel command line: root=/dev/mmcblk0p2 rw rootfstype=ext3 ro1
[    0.000000@0] osd0:0
[    0.000000@0] 1080i:7
[    0.000000@0] full:2
[    0.000000@0] kernel get hdmimode form uboot is 1080i
[    0.000000@0] kernel get cvbsmode form uboot is 576cvbs
[    0.000000@0] ******** uboot setup mac-addr: 0:15:18:1:81:31
[    0.000000@0] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000@0] Dentry cache hash table entries: 131072 (order: 7, 524288 byte)
[    0.000000@0] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000@0] Memory: 80MB 292MB 512MB = 884MB total
[    0.000000@0] Memory: 884060k/884060k available, 21156k reserved, 278528K him
[    0.000000@0] Virtual kernel memory layout:
[    0.000000@0]     vector  : 0xffff0000 – 0xffff1000   (   4 kB)
[    0.000000@0]     fixmap  : 0xfff00000 – 0xfffe0000   ( 896 kB)
[    0.000000@0]     vmalloc : 0xef800000 – 0xff000000   ( 248 MB)
[    0.000000@0]     lowmem  : 0xc0000000 – 0xef000000   ( 752 MB)
[    0.000000@0]     pkmap   : 0xbfe00000 – 0xc0000000   (   2 MB)
[    0.000000@0]     modules : 0xbf000000 – 0xbfe00000   (  14 MB)
[    0.000000@0]       .text : 0xc0008000 – 0xc08ef880   (9119 kB)
[    0.000000@0]       .init : 0xc08f0000 – 0xc0923200   ( 205 kB)
[    0.000000@0]       .data : 0xc0924000 – 0xc098a100   ( 409 kB)
[    0.000000@0]        .bss : 0xc098a100 – 0xc0a23d8c   ( 616 kB)
[    0.000000@0] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000@0] Preemptible hierarchical RCU implementation.
[    0.000000@0] NR_IRQS:256
[    0.000000@0] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps evers
[    0.000000@0] Global timer: MESON TIMER-A (c0941d00) initialized
[    0.000000@0] Disable timerA
[    0.000000@0] Console: colour dummy device 80×30
[    0.000000@0] console [ttyS0] enabled
[    0.315911@0] Calibrating delay loop… 2387.14 BogoMIPS (lpj=11935744)
[    0.370051@0] pid_max: default: 32768 minimum: 301
[    0.372187@0] Security Framework initialized
[    0.376309@0] SELinux:  Initializing.
[    0.380128@0] Mount-cache hash table entries: 512
[    0.388105@0] CPU: Testing write buffer coherency: ok
[    0.390229@0] CPU0: thread -1, cpu 0, socket 2, mpidr 80000200
[    0.395489@0] Local timer: MESON TIMER-B (c0941e00) for CPU0 initialized
[    0.402216@0] Disable timerA
[    0.405028@0] Disable timerB
[    0.407897@0] Disable timerA
[    0.410899@0] Setting up static identity map for 0xc065ff20 – 0xc065ff78
[    0.417615@0] L310 cache controller enabled
[    0.421605@0] l2x0: 8 ways, 2048 sets, CACHE_ID 0x4100a0c8,  Cache size: 524B
[    0.429138@0]       AUX_CTRL 0x3e460000, PERFETCH_CTRL 0×30000006, POWER_CTR0
[    0.437233@0]       TAG_LATENCY 0×00000222, DATA_LATENCY 0×00000222
[    0.495893@1] CPU1: Booted secondary processor
[    0.555520@1] CPU1: thread -1, cpu 1, socket 2, mpidr 80000201
[    0.555534@1] Local timer: MESON TIMER-D (c0942000) for CPU1 initialized
[    0.555590@0] Brought up 2 CPUs
[    0.555596@0] SMP: Total of 2 processors activated (4780.85 BogoMIPS).
[    0.555599@0] CPU: All CPU(s) started in SVC mode.
[    0.556181@0] devtmpfs: initialized
[    0.561064@0] clkrate [ xtal         ] : 24000000
[    0.561071@0] clkrate [ pll_sys      ] : 1200000000
[    0.561076@0] clkrate [ pll_fixed    ] : 2000000000
[    0.561080@0] clkrate [ pll_vid2     ] : 378000000
[    0.561084@0] clkrate [ pll_hpll     ] : 378000000
[    0.561152@0] clkrate [ pll_ddr      ] : 516000000
[    0.561155@0] clkrate [ a9_clk       ] : 1200000000
[    0.561223@0] clkrate [ clk81        ] : 200000000
[    0.562413@0] pinctrl core: initialized pinctrl subsystem
[    0.562957@0] regulator-dummy: no parameters
[    0.563300@0] NET: Registered protocol family 16
[    0.580970@0] DMA: preallocated 4096 KiB pool for atomic coherent allocations
[    0.588066@0] amlogic_gpio gpio: Probed amlogic GPIO driver
[    0.588504@0] register lm device lm-root
[    0.588643@0] register lm device lm1
[    0.588766@0] register lm device lm0
[    0.589122@0] Init pinux probe!
[    0.589903@0] pinmux-m6 pinmux: Probed amlogic pinctrl driver
[    0.590100@0] ——-early_init_dt_probe:38———-
[    0.590295@0] ——-early_init_dt_init:115———-
[    0.590299@0] tv_init_module
[    0.590310@0] major number 254 for disp
[    0.590312@0] vout_register_server
[    0.590315@0] register tv module server ok
[    0.590438@0] major number 0 for disp
[    0.590441@0] register tv module server ok
[    0.590622@0] drivers/amlogic/i2c/aml_i2c.c : aml_i2c_init
[    0.590668@0] drivers/amlogic/i2c/aml_i2c.c : aml_i2c_probe
[    0.590678@0] plat->state_name:default
[    0.590693@0] master_no = 0, maseter_regs=f3100500
[    0.590943@0] aml-i2c i2c-AO: add adapter aml_i2c_adap0(ee97b4a8)
[    0.590948@0] aml-i2c i2c-AO: aml i2c bus driver.
[    0.591102@0] drivers/amlogic/i2c/aml_i2c.c : aml_i2c_probe
[    0.591109@0] plat->state_name:default
[    0.591121@0] master_no = 1, maseter_regs=f1108500
[    0.591305@0] aml-i2c i2c-A: add adapter aml_i2c_adap1(ee9bc0a8)
[    0.591310@0] aml-i2c i2c-A: aml i2c bus driver.
[    0.591431@0] drivers/amlogic/i2c/aml_i2c.c : aml_i2c_probe
[    0.591437@0] plat->state_name:default
[    0.591446@0] master_no = 2, maseter_regs=f11087c0
[    0.591630@0] aml-i2c i2c-B: add adapter aml_i2c_adap2(ee9bcca8)
[    0.591634@0] aml-i2c i2c-B: aml i2c bus driver.
[    0.592137@0] aml_pmu_init, 454
[    0.592250@0] call aml_dvfs_init in
[    0.592295@0] [DVFS]aml_dvfs_probe, child name:vcck_dvfs
[    0.592303@0] [DVFS]dvfs table of vcck_dvfs is:
[    0.592306@0] [DVFS]     freq,    min_uV,    max_uV
[    0.592310@0] [DVFS]   200000,   1010000,   1010000
[    0.592312@0] [DVFS]   600000,   1010000,   1010000
[    0.592314@0] [DVFS]   792000,   1010000,   1010000
[    0.592316@0] [DVFS]   816000,   1110000,   1110000
[    0.592319@0] [DVFS]   840000,   1110000,   1110000
[    0.592321@0] [DVFS]   984000,   1110000,   1110000
[    0.592323@0] [DVFS]  1000000,   1110000,   1110000
[    0.592325@0] [DVFS]  1080000,   1220000,   1220000
[    0.592327@0] [DVFS]  1200000,   1240000,   1240000
[    0.592330@0] [DVFS]  1320000,   1320000,   1320000
[    0.592332@0] [DVFS]  1500000,   1320000,   1320000
[    0.592553@0] hdmitx: system: amhdmitx_init
[    0.592556@0] hdmitx: system: Ver: 2014May6
[    0.592609@0] hdmitx: system: amhdmitx_probe
[    0.593035@0] amhdmitx is using the pin GPIOD_5
[    0.593455@0] hdmitx: system: hw init
[    0.593465@0] HDMI: get brd phy data
[    0.593466@0] hdmi phy setting
[    0.593515@0] HDMI: get brd phy data
[    0.593516@0] hdmi phy setting
[    0.594057@0] hdmitx: system: reset intr mask
[    0.605605@0] hdmitx: system: irq 1
[    0.658244@0] bio: create slab <bio-0> at 0
[    0.659407@0] SCSI subsystem initialized
[    0.660009@0] usbcore: registered new interface driver usbfs
[    0.660136@0] usbcore: registered new interface driver hub
[    0.660323@0] usbcore: registered new device driver usb
[    0.660648@0] Linux video capture interface: v2.00
[    0.661374@0] LCD driver init
[    0.661679@0] TV mode 1080i selected.
[    0.661683@0] [0x1b7e] = 0xff
[    0.661685@0] [0x105f] = 0×0
[    0.661687@0] [0x109d] = 0x814d3928
[    0.661689@0] [0x109e] = 0x6b425012
[    0.661691@0] [0x109f] = 0×110
[    0.661692@0] [0x109c] = 0x1043e
[    0.661694@0] [0x1066] = 0×10843
[    0.661696@0] [0x1059] = 0×100
[    0.661698@0] [0x105f] = 0×80000
[    0.661700@0] [0x105f] = 0×88001
[    0.661701@0] [0x105f] = 0×80003
[    0.661703@0] [0x104a] = 0×101
[    0.661705@0] [0x1bb8] = 0×52
[    0.661707@0] [0x1b62] = 0×2029
[    0.661708@0] [0x1b97] = 0x112f
[    0.661710@0] [0x1bae] = 0×464
[    0.661712@0] [0x1b98] = 0×58
[    0.661713@0] [0x1b99] = 0×108
[    0.661715@0] [0x1b9a] = 0×58
[    0.661717@0] [0x1ba4] = 0×204
[    0.661718@0] [0x1ba3] = 0×1103
[    0.661720@0] [0x1ba7] = 0×108
[    0.661722@0] [0x1ba8] = 0xb0
[    0.661724@0] [0x1b9f] = 0x8f0
[    0.661726@0] [0x1ba0] = 0x9a0
[    0.661727@0] [0x1b9b] = 0x1b8
[    0.661729@0] [0x1b9c] = 0×898
[    0.661730@0] [0x1b9d] = 0×0
[    0.661732@0] [0x1b9e] = 0×4
[    0.661733@0] [0x1ba1] = 0×0
[    0.661735@0] [0x1ba2] = 0×4
[    0.661737@0] [0x1ba6] = 0×14
[    0.661738@0] [0x1baf] = 0x22f
[    0.661740@0] [0x1ba9] = 0×58
[    0.661742@0] [0x1baa] = 0×58
[    0.661743@0] [0x1bab] = 0×0
[    0.661745@0] [0x1bac] = 0×5
[    0.661746@0] [0x1b94] = 0×204
[    0.661748@0] [0x1b95] = 0×1103
[    0.661749@0] [0x1b68] = 0×100
[    0.661751@0] [0x1bba] = 0×11
[    0.661753@0] [0x1b8d] = 0x5ffc
[    0.661754@0] [0x1b8e] = 0×19
[    0.661756@0] [0x1b81] = 0×207
[    0.661757@0] [0x1b60] = 0×0
[    0.661759@0] [0x1b6e] = 0×200
[    0.661761@0] [0x1b58] = 0×0
[    0.661762@0] [0x1bfc] = 0×1000
[    0.661764@0] [0x1b7e] = 0×0
[    0.661766@0] [0x1c0d] = 0×3102
[    0.661767@0] [0x1c0e] = 0×54
[    0.661768@0] [0x1b78] = 0×1
[    0.661770@0] [0x1b79] = 0×1
[    0.661771@0] [0x1b7a] = 0×1
[    0.661773@0] [0x1b7b] = 0×1
[    0.661774@0] [0x1b7c] = 0×1
[    0.661775@0] [0x1b7d] = 0×1
[    0.661777@0] [0x1b57] = 0×0
[    0.661778@0] [0x1b80] = 0×1
[    0.661781@0] tvoutc_setmode[397]
[    0.661783@0] mode is: 7
[    0.661786@0] config HPLL
[    0.661788@0] config HPLL done
[    0.718486@0] call aml_pmu_probe_init in
[    0.718781@0] get property:                  use_pwm, value:0×00000001, dec:1
[    0.718789@0] get property:              table_count, value:0×00000010, dec:6
[    0.718796@0] meson_cs_dvfs_probe, table count:16, use_pwm:1, pwm controller2
[    0.718799@0]  0, 00130009, 1010000
[    0.718801@0]  1, 0012000a, 1050000
[    0.718803@0]  2, 0011000b, 1070000
[    0.718806@0]  3, 0010000c, 1090000
[    0.718808@0]  4, 000f000d, 1110000
[    0.718810@0]  5, 000e000e, 1130000
[    0.718812@0]  6, 000d000f, 1150000
[    0.718814@0]  7, 000c0010, 1170000
[    0.718815@0]  8, 000b0011, 1190000
[    0.718817@0]  9, 000a0012, 1210000
[    0.718820@0] 10, 00090013, 1220000
[    0.718822@0] 11, 00080014, 1240000
[    0.718824@0] 12, 00070015, 1270000
[    0.718826@0] 13, 00060016, 1280000
[    0.718828@0] 14, 00050017, 1300000
[    0.718830@0] 15, 00040018, 1320000
[    0.718905@0] get pin for pwm——–
[    0.718913@0] [DVFS]aml_dvfs_register_driver, driver meson-cs-dvfs regist su1
[    0.719363@0] Advanced Linux Sound Architecture Driver Initialized.
[    0.720196@0] Bluetooth: Core ver 2.16
[    0.720359@0] NET: Registered protocol family 31
[    0.720363@0] Bluetooth: HCI device and connection manager initialized
[    0.720375@0] Bluetooth: HCI socket layer initialized
[    0.720381@0] Bluetooth: L2CAP socket layer initialized
[    0.720404@0] Bluetooth: SCO socket layer initialized
[    0.720958@0] cfg80211: Calling CRDA to update world regulatory domain
[    0.722251@0] Switching to clocksource Timer-E
[    1.262534@1] Disable timerD
[    1.265870@0] hdmitx: edid: edid ready
[    1.278832@1] NET: Registered protocol family 2
[    1.279416@1] TCP established hash table entries: 8192 (order: 4, 65536 byte)
[    1.285007@1] TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
[    1.291653@1] TCP: Hash tables configured (established 8192 bind 8192)
[    1.298197@1] TCP: reno registered
[    1.301433@1] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    1.307606@1] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    1.314264@1] NET: Registered protocol family 1
[    1.319339@1] Unpacking initramfs…
[    1.465689@1] Freeing initrd memory: 2704K (c4008000 – c42ac000)
[    1.467796@1] audit: initializing netlink socket (disabled)
[    1.471657@1] type=2000 audit(1.410:1): initialized
[    1.477043@1] bounce pool size: 64 pages
[    1.485847@0] hdmitx: edid: edid ready
[    1.485885@0] hdmitx: edid: 202 errors between two reading
[    1.487333@1] VFS: Disk quotas dquot_6.5.2
[    1.487611@1] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.490489@1] fuse init (API version 7.22)
[    1.491362@1] msgmni has been set to 1187
[    1.493102@1] Block layer SCSI generic (bsg) driver version 0.4 loaded (majo)
[    1.493108@1] io scheduler noop registered
[    1.493112@1] io scheduler deadline registered
[    1.493337@1] io scheduler cfq registered (default)
[    1.529436@0] hdmitx: edid: check sum valid
[    1.533556@0] hdmitx: edid: check sum valid
[    1.537725@0] hdmitx: edid: blk0 raw data
[    1.541663@0] 00ffffffffffff0034a996a20101010100170103808048780adaffa3584aa29
[    1.548865@0] 17494b21080031404540614081800101010101010101023a80d072382d4010c
[    1.556069@0] 4580ba882100001e023a801871382d40582c4500ba882100001e000000fc000
[    1.563273@0] 616e61736f6e69632d54560a000000fd00173d0f440f000a20202020202001b
[    1.570480@0]
[    1.572130@0] hdmitx: edid: blk1 raw data
[    1.576217@0] 020322f24d9f9014052021221304120316072309070168030c002000b8260f2
[    1.583325@0] 004b011d80d0721c1620102c2580ba882100009e011d8018711c1620582c250
[    1.590529@0] ba8821[    1.592472@1] [drm] Initialized drm 1.1.0 20060810
[    1.596971@1] loop: module loaded
[    1.598228@1] tun: Universal TUN/TAP device driver, 1.6
[    1.598231@1] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[    1.598522@1] PPP generic driver version 2.4.2
[    1.598871@1] PPP BSD Compression module registered
[    1.598874@1] PPP Deflate Compression module registered
[    1.598893@1] PPP MPPE Compression module registered
[    1.598899@1] NET: Registered protocol family 24
[    1.599088@1] usbcore: registered new interface driver asix
[    1.599288@1] usbcore: registered new interface driver ax88179_178a
[    1.599415@1] usbcore: registered new interface driver cdc_ether
[    1.599544@1] usbcore: registered new interface driver net1080
[    1.599669@1] usbcore: registered new interface driver cdc_subset
[    1.599804@1] usbcore: registered new interface driver zaurus
[    1.599968@1] usbcore: registered new interface driver cdc_ncm
[    1.600646@1] usbcore: registered new interface driver cdc_acm
[    1.600649@1] cdc_acm: USB Abstract Control Model driver for USB modems and s
[    1.600792@1] usbcore: registered new interface driver usb-storage
[    1.601098@1] usbcore: registered new interface driver usbserial
[    1.601230@1] usbcore: registered new interface driver option
[    1.601366@1] usbserial: USB Serial support registered for GSM modem (1-port)
[    1.601882@1] mousedev: PS/2 mouse device common for all mice
[    1.602527@1] i2c /dev entries driver
[    1.603440@1] usbcore: registered new interface driver uvcvideo
[    1.603442@1] USB Video Class driver (1.1.1)
[    1.603450@1] Bluetooth: HCI UART driver ver 2.2
[    1.603455@1] Bluetooth: HCI H4 protocol initialized
[    1.604567@1] usbcore: registered new interface driver usbhid
[    1.604569@1] usbhid: USB HID core driver
[    1.605188@1] zram: Created 1 device(s) …
[    1.605923@1] ashmem: initialized
[    1.606204@1] logger: created 256K log ‘log_main’
[    1.606435@1] logger: created 256K log ‘log_events’
[    1.606650@1] logger: created 256K log ‘log_radio’
[    1.606875@1] logger: created 256K log ‘log_system’
[    1.607199@1] vout_init_module
[    1.607275@1] start init vout module
[    1.607417@1] create  vout attribute ok
[    1.608142@1] ge2d_init
[    1.608152@1] ge2d_dev major:248
[    1.608552@1] ge2d start monitor
[    1.608631@1] osd_init
[    1.608683@1] osd_probe, vinfo:c06a3b78
[    1.608827@1] Frame buffer memory assigned at phy:0×87100000, vir:0xfb000000K
[    1.608830@1] osd_probe, mydef_var:c09613f0, vinfo:c06a3b78
[    1.608833@1] don’t find to display_size_default from mesonfb-dts
[    1.608835@1] init fbdev bpp is :24
[    1.609030@1] ge2d workqueue monitor start
00[    1.835408@1] Frame buffer memory assigned at phy:0×88100000, vir:0xefe000K
[    1.835412@1] osd_probe, mydef_var:c09613f0, vinfo:c06a3b78
[    1.835414@1] —————clear framebuffer1 memory
[    1.859523@1] 468f3300ba88[    1.861916@1] osd probe ok
[    1.862261@1] osd_ext_init
[    1.862866@1] vout2_init_module enter
[    1.863939@1] amlvideo-000: V4L2 device registered as video10
[    1.864358@1] ionvideo-000: V4L2 device registered as video13
[    1.864362@1] Video Technology Magazine Ion Video Capture Board ver 1.0 succ.
[    1.865126@1] keys===========================================
[    1.865131@1] keys_devno=f400000
[    1.865478@1] securitykey: device aml_keys created
[    1.865574@1] amlkeys=0
[    1.865750@1] platform_driver_register–aml_keys_driver——————–
[    1.866230@1] set uart_ao pinmux use pinctrl subsystem
[    1.866233@1] P_AO_RTI_PIN_MUX_REG:5861
[    1.866257@1] start uart_ao_ttyS0:(irq = 122)
[    1.866259@1] register uart_ao ok
[    1.866611@1] start uart_a_ttyS1:(irq = 58)
[    1.866613@1] register uart_a ok
[    1.866936@1] start uart_d_ttyS4:(irq = 126)
[    1.866939@1] register uart_d ok
[    1.867126@1] dwc_otg: version 3.10a 12-MAY-2014
[    1.867173@1] dwc_otg_driver_probe NOT match
[    1.867212@1] usb1: type: 1, speed: 0, config: 0, dma: 0, id: 1, phy: f110840
[    1.967848@0]
[    1.969560@0] hdmitx: edid: find IEEEOUT
[    1.973444@0] hdmitx: video: get current mode: 1080i
[    1.978432@0] hdmitx: system: already init VIC = 0  Now VIC = 5
[    1.984268@0] set mode VIC 5 (cd0,cs0,pm1,vd0,1)
[    1.988955@0] hdmitx: system: hw reset
[    1.992681@0] HDMI: get brd phy data
[    1.996248@0] hdmi phy setting
[    2.000316@0] hdmitx: audio: SPDIFHDMI: get brd phy data
[    2.004564@0] hdmi phy setting
[    2.007662@0] hdmitx: system: set pll
[    2.011249@0] hdmitx: system: param->VIC:5
[    2.015335@0] mode is: 7
[    2.017857@0] config HPLL
[    2.020449@0] config HPLL done
[    2.044513@0] hdmitx: system: fixed HDMI mode output
[    2.044539@0] Sink is HDMI device
[    2.047149@0] No sink attached
[    2.050205@0] hdmitx: audio: audio channel num is 0
[    2.055030@0] hdmitx: audio: SPDIFhdmitx: audio: current VIC: 5
[    2.060934@0] hdmitx: audio: audio sample rate: 0
[    2.065639@0] hdmitx: audio: reset audio N para
[    2.070139@0] hdmitx: audio: PCM out to HDMI
[    2.083657@0] hdmitx: audio: Time out: AIU_HDMI_CLK_DATA_CTRL
[    2.083753@0] hdmitx: audio: i2s_to_spdif_flag:1
[    2.088459@0] hdmitx: audio: Enable audio spdif to HDMI
[    2.093690@0] hdmitx: cec: CEC not ready
[    2.367839@1] USB (1) use clock source: XTAL input
[    2.568941@1] Core Release: 2.94a
[    2.568973@1] Setting default values for core params
[    2.571574@1] curmode: 0, host_only: 1
[    2.575327@1] ERROR::dwc_otg_set_param_host_perio_tx_fifo_size:5919: 500 inv.
[    2.575327@1]
[    2.588974@1] dwc_otg: probe of lm1 failed with error -22
[    2.594362@1] usb0: type: 0, speed: 0, config: 0, dma: 0, id: 0, phy: f110840
[    2.802982@1] Core Release: 2.94a
[    2.803006@1] Setting default values for core params
[    2.805634@1] curmode: 0, host_only: 0
[    2.809357@1] ERROR::dwc_otg_set_param_host_perio_tx_fifo_size:5919: 500 inv.
[    2.809357@1]
[    2.822995@1] dwc_otg: probe of lm0 failed with error -22
[    2.828635@1] boot_device_flag : 0
[    2.831727@1] ===========================================amlnf_init:632,nandd
[    2.841281@1] Nand PHY driver Version: (c) 2013 Amlogic Inc.
[    2.848159@1] amlnf_phy_init : amlnf init flag 0
[    2.852858@1] ######STS IRQ mode for nand driver
[    2.857436@1] NAND device id: 2c 44 44 4b a9 0 0 0
[    2.862111@1] detect NAND device: D revision NAND 4GiB MT29F32G08CBADA
[    2.913569@1] onfi timing mode set failed: 0
[    2.913724@1] bus_cycle=5, bus_timing=7,system=0.0ns,flash->T_REA =20,flash-5
[    2.920121@1] detect RB pin here and por_cfg:3dd
[    2.924688@1] detect without RB pin here
[    2.928617@1] force none rb mode for rb irq
[    2.932764@1] boot_device_flag = 0
[    2.952258@1] NAND CKECK  : arg nbbt: arg_valid= 0, valid_blk_addr = 0, vali0
[    2.954965@1] found NO arg : nbbt info
[    2.958726@1] nand scan bbt failed
[    2.962091@1] get device configs failed and ret:fffffff0
[    2.967402@1] nandphy_init failed and ret=0xfffffff0
[    2.972628@1] ethernet_driver probe!
[    2.975929@1] Please config phy  interface.
[    2.980050@1] Please config savepowermode.
[    2.984129@1] Please config reset_pin_enable.
[    2.988495@1] Please config reset_delay.
[    2.992376@1] Please config reset_pin.
[    2.996138@1] ethernetinit(dbg[c0964c80]=1)
[    3.000310@1] ethernet base addr is f3610000
[    3.004528@1] write mac add to:edef6908: 00 15 18 01 81 31 |...1|
[    3.016374@1] libphy: AMLMAC MII Bus: probed
[    3.016410@1] eth0: PHY ID 0007c0f1 at 1 IRQ -1 (0:01) active
[    3.022910@1] Amlogic A/V streaming port init
[    3.027629@1] init vdec memsource -1971322880->-1937768449
[    3.030801@1] [tsync_pcr_init]init success.
[    3.034820@1] amvideocap_init_module
[    3.038727@1] regist mpeg12 codec profile
[    3.042487@1] regist mpeg4 codec profile
[    3.046320@1] amvdec_vc1 module init
[    3.049971@1] regist vc1 codec profile
[    3.053570@1] amvdec_h264 module init
[    3.057417@1] regist h264 codec profile
[    3.061154@1] regist mjpeg codec profile
[    3.064940@1] amvdec_real module init
[    3.068756@1] regist real codec profile
[    3.073874@1] efuse===========================================
[    3.078602@1] efuse: device efuse created
[    3.082354@1] efuse——————————————–
[    3.088164@1] SARADC Driver init.
[    3.091621@1] __saradc_probe__
[    3.235634@1] saradc calibration: ref_val = 515
[    3.235659@1] saradc calibration: ref_nominal = 512
[    3.239382@1] saradc calibration: coef = 4169
[    3.243869@1] Remote Driver
[    3.246610@1] Remote platform_data g_remote_base=f3100480
[    3.252223@1] input: aml_keypad as /devices/platform/meson-remote/input/inpu0
[    3.259618@1] Remote date_valye======0,status == 8915d00
[    3.264407@1] remote config major:241
[    3.268462@1] physical address:0xaea1c000
[    3.272234@1] ADC Keypad Driver init.
[    3.275876@1] ==kp_probe==
[    3.278461@1] chan #4 used for ADC key
[    3.282175@1] menu key(139) registed.
[    3.285861@1] vol- key(114) registed.
[    3.289466@1] vol+ key(115) registed.
[    3.293111@1] back key(158) registed.
[    3.296786@1] home key(102) registed.
[    3.300403@1] ok key(232) registed.
[    3.304071@1] input: adc_keypad as /devices/platform/adc_keypad.3/input/inpu1
[    3.311327@1] adc keypad register input device completed.
[    3.316605@1] adc keypad major:240
[    3.320378@1] Meson KeyInput init
[    3.323422@1] Key 116 registed.
[    3.326680@1] input: key_input as /devices/platform/key_input.4/input/input2
[    3.333679@1] Meson KeyInput register RTC interrupt
[    3.338222@1] Meson KeyInput major=238
[    3.342432@1] ==touch_ts_init==
[    3.345361@1] ==ft5x0x_ts_init==
[    3.348574@1] ==goodix_ts_init==
[    3.351707@1] ==gsl_ts_init==
[    3.354653@1] i2c-core: driver [gslx680] using legacy suspend method
[    3.360940@1] i2c-core: driver [gslx680] using legacy resume method
[    3.367186@1] VTL ct36x TouchScreen driver, <[email protected]>.
[    3.373671@1] i2c-core: driver [ct36x] using legacy suspend method
[    3.379888@1] i2c-core: driver [ct36x] using legacy resume method
[    3.385846@1] VTL ct36x TouchScreen driver End.
[    3.390327@1] ==gsl_ts_init==
[    3.393374@1] ret=0
[    3.395831@1] i2c-core: driver [lis3dh_acc] using legacy suspend method
[    3.401959@1] i2c-core: driver [lis3dh_acc] using legacy resume method
[    3.408702@1] i2c-core: driver [bma222] using legacy suspend method
[    3.414718@1] i2c-core: driver [bma222] using legacy resume method
[    3.421092@1] i2c-core: driver [dmard06] using legacy suspend method
[    3.427384@1] i2c-core: driver [dmard06] using legacy resume method
[    3.433570@1] lsm303d driver: init
[    3.437062@1] i2c-core: driver [dmard10] using legacy suspend method
[    3.443189@1] i2c-core: driver [dmard10] using legacy resume method
[    3.449568@1] stk831x_init
[    3.452227@1] mxc622x accelerometer driver: init
[    3.456853@1] i2c-core: driver [mxc622x] using legacy suspend method
[    3.463066@1] i2c-core: driver [mxc622x] using legacy resume method
[    3.469608@1] cm3217 v.
[    3.472437@1] i2c-core: driver [elan_epl6814] using legacy suspend method
[    3.479274@1] i2c-core: driver [elan_epl6814] using legacy resume method
[    3.485930@1] i2c-core: driver [LTR501] using legacy suspend method
[    3.492057@1] i2c-core: driver [LTR501] using legacy resume method
[    3.498528@1] spi_nor_init
[    3.501086@1] amlogic_spi_nor_probe:
[    3.504475@1] amlogic_spi->state_name:default
[    3.509063@1] AMLOGIC_SPI_NOR cc000000.spi: master is unqueued, this is deprd
[    3.516546@1] spi_nor_probe
[    3.519141@1] check_storage_device : spi boot_device_flag : 0
[    3.524912@1] spi_nor apollospi:32766: mx25l3205d (4096 Kbytes)
[    3.533601@1] Creating 2 MTD partitions on “apollospi:32766″:
[    3.536586@1] 0×000000000000-0×000000060000 : “bootloader”
[    3.543107@1] 0×000000080000-0×000000088000 : “ubootenv”
[    3.548256@1] amlogic_spi_nor_probe over
[    3.551403@1] mmc driver version: 1.05, 2014-05-14: sdhc regular tuning suppt
[    3.559339@1] host->base f1108c20
[    3.561790@1] pdata->caps 7
[    3.564537@1] pdata->caps2 0
[    3.567460@1] get property:                     port, value:0×00000001
[    3.573911@1] get property:                ocr_avail, value:0×00200000
[    3.580577@1] get property:                    f_min, value:0x000493e0
[    3.586960@1] get property:                    f_max, value:0x02faf080
[    3.593441@1] get property:                  f_max_w, value:0x02faf080
[    3.599977@1] get property:             max_req_size, value:0×00020000
[    3.606490@1] get property:                   irq_in, value:0×00000005
[    3.612971@1] get property:                  irq_out, value:0×00000006
[    3.619507@1] get property:              power_level, value:0×00000000
[    3.626137@1] get property:                  gpio_cd, str:CARD_6
[    3.631982@1] get property:               gpio_power, str:CARD_8
[    3.637998@1] get property:                  pinname, str:sd
[    3.643612@1] get property:                card_type, value:0×00000005
[    3.650162@1] get property:                gpio_dat3, str:CARD_3
[    3.656161@1] normal card in
[    3.695542@1] sd: mmc_rescan_try_freq: trying to init card at 400000 Hz
[    4.224117@0] sd: new high speed SDHC card at address 59b4, clock 50000000, h
[    4.225524@1] [aml_sdio_probe] aml_sdio_probe() success!
[    4.232344@1] [dsp]DSP start addr 0xc5000000
[    4.236471@0] mmcblk0: sd:59b4 SD    14.7 GiB
[    4.236497@1] [dsp]register dsp to char divece(232)
[    4.247178@0]  mmcblk0: p1 p2
[    4.265537@1] aml_rtc_init…
[    4.266541@1] aml_rtc rtc.0: rtc core: registered aml_rtc as rtc0
[    4.270061@1] [AXP]call axp_battery_init, ret = 0
[    4.274506@1] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    4.281773@1] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    4.289311@1] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    4.297169@1] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    4.304872@1] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    4.312842@1] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
[    4.320901@1] [AML_PMU]call aml_pmu_battery_init, ret = 0
[    4.326338@1] [RN5T618]call rn5t618_battery_init, ret = 0
[    4.332486@1] wifi_power power_gpio is 24
[    4.335434@1] Error: Didn’t get power valid value — wifi_power_probe 320
[    4.342381@1] wifi_dev_probe : there is no wifi_power_on_pin2 setup in DTS f!
[    4.350145@1] amlogic rfkill init
[    4.354380@1] UMP: UMP device driver  loaded
[    4.358229@1] usbcore: registered new interface driver snd-usb-audio
[    4.365376@1] enter dummy_codec_audio_probe
[    4.368106@1] soc-audio soc-audio: ASoC: machine AML-DUMMY-CODEC should use )
[    4.377233@1] rtd ed875810
[    4.379527@1] cpu_dai eeae7600
[    4.382651@1] codec_dai eeae7500
[    4.386556@1] aml-pcm 0:playback preallocate_dma_buffer: area=efd72000, addr2
[    4.396353@1] iec958 0: preallocate dma buffer start=eff01000, size=80000
[    4.402398@1] aml-pcm 1:capture preallocate_dma_buffer: area=efd94000, addr=6
[    4.410578@1] soc-audio soc-audio:  dummy_codec <-> aml-dai0 mapping ok
[    4.418124@1] =dummy_codec_device_init==,dummy_codec_audio init done
[    4.423613@1] GACT probability NOT on
[    4.427248@1] Mirror/redirect action on
[    4.430827@1] u32 classifier
[    4.433689@1]     Actions configured
[    4.437286@1] Netfilter messages via NETLINK v0.30.
[    4.442169@1] nf_conntrack version 0.5.0 (13855 buckets, 55420 max)
[    4.449041@1] ctnetlink v0.93: registering with nfnetlink.
[    4.453898@1] NF_TPROXY: Transparent proxy support initialized, version 4.1.0
[    4.461070@1] NF_TPROXY: Copyright (c) 2006-2007 BalaBit IT Ltd.
[    4.467559@1] xt_time: kernel timezone is -0000
[    4.471727@1] ip_tables: (C) 2000-2006 Netfilter Core Team
[    4.477218@1] arp_tables: (C) 2002 David S. Miller
[    4.481725@1] TCP: cubic registered
[    4.486013@1] NET: Registered protocol family 10
[    4.490451@1] mip6: Mobile IPv6
[    4.492912@1] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    4.498678@1] sit: IPv6 over IPv4 tunneling driver
[    4.504621@1] NET: Registered protocol family 17
[    4.507958@1] NET: Registered protocol family 15
[    4.512498@1] Bridge firewalling registered
[    4.516848@1] Bluetooth: RFCOMM TTY layer initialized
[    4.521646@1] Bluetooth: RFCOMM socket layer initialized
[    4.527078@1] Bluetooth: RFCOMM ver 1.11
[    4.530822@1] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.536318@1] Bluetooth: BNEP filters: protocol multicast
[    4.541678@1] Bluetooth: BNEP socket layer initialized
[    4.546827@1] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    4.552873@1] Bluetooth: HIDP socket layer initialized
[    4.558037@1] NET: Registered protocol family 35
[    4.563043@1] VFP support v0.3: implementor 41 architecture 3 part 30 varian4
[    4.570420@1] Registering SWP/SWPB emulation handler
[    4.575349@1] enter meson_pm_init
[    4.579010@1] enter meson_pm_probe!
[    4.582121@1] meson_pm_probe done !
[    4.586731@0] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    4.593381@0] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    4.601148@0] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    4.608826@0] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    4.616741@0] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    4.624606@0] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
[    4.632999@1] ERROR::usb_gadget_probe_driver:1372: usb_gadget_register_driveV
[    4.632999@1]
[    4.642071@1] init: failed to probe driver -19
[    4.646940@1] aml_rtc rtc.0: setting system clock to 2014-08-24 04:39:59 UTC)
[    4.654634@1] ### dt-test ### No testcase data in device tree; not running ts
[    4.662176@1] meson_cpufreq: no voltage_control prop
[    4.666965@1] voltage_control = 0
[    4.670500@0] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    4.677986@1] <<-GTP-INFO->> GTP driver installing…
[    4.678058@0] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    4.678104@0] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    4.678148@0] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    4.678188@0] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    4.678228@0] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
[    4.722627@1] hdmitx: cec: CEC init
[    4.725989@0] hdmitx: cec: CEC task process
[    4.730033@1] input: cec_input as /devices/virtual/input/input3
[    4.736140@1] hdmitx: cec: hdmitx_device->cec_init_ready:0×1
[    4.741355@1] I[    4.765537@0] Changing uart_ao_ttyS0: baud from 0 to 115200
[    4.785661@0] Freeing unused kernel memory: 204K (c08f0000 – c0923000)
[    5.042140@1] aml_nftl_dev: module license ‘Proprietary’ taints kernel.
[    5.043123@1] Disabling lock debugging due to kernel taint
[    5.049584@1] boot_device_flag : 0
[    5.051975@1] register_ntd_blktrans start
[    5.056024@1] init_aml_nftl end
[    5.077954@0] kjournald starting.  Commit interval 5 seconds
[    5.083983@1] EXT3-fs (mmcblk0p2): using internal journal
[    5.084023@1] EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
[    5.295586@0] ————[ cut here ]————
[    5.295644@0] WARNING: at kernel/smp.c:382 smp_call_function_many+0×84/0x2c4)
[    5.301950@0] Modules linked in: aml_nftl_dev(P)
[    5.306556@0] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: P             3.10.331
[    5.313851@0] Workqueue: events cs_dbs_timer
[    5.318126@0] [<c0014c3c>] (unwind_backtrace+0×0/0xf8) from [<c0011d14>] (sh)
[    5.326791@0] [<c0011d14>] (show_stack+0×10/0×14) from [<c002a2dc>] (warn_sl)
[    5.335899@0] [<c002a2dc>] (warn_slowpath_common+0x4c/0x6c) from [<c002a318>)
[    5.345705@0] [<c002a318>] (warn_slowpath_null+0x1c/0×24) from [<c0070c88>] )
[    5.355774@0] [<c0070c88>] (smp_call_function_many+0×84/0x2c4) from [<c00710)
[    5.365754@0] [<c0071054>] (smp_call_function+0×34/0×64) from [<c001b69c>] ()
[    5.375041@0] [<c001b69c>] (clk_set_rate_a9+0x9c/0xec) from [<c001baa4>] (me)
[    5.384503@0] [<c001baa4>] (meson_clk_set_rate+0xa0/0×184) from [<c001bc2c>])
[    5.393711@0] [<c001bc2c>] (clk_set_rate+0xa4/0xc0) from [<c03d01d0>] (meson)
[    5.404296@0] [<c03d01d0>] (meson_cpufreq_target_locked.isra.0+0xe0/0x1c8) f)
[    5.415584@0] [<c03d02dc>] (meson_cpufreq_target+0×24/0x3c) from [<c03347f0>)
[    5.425828@0] [<c03347f0>] (__cpufreq_driver_target+0×50/0×74) from [<c033b8)
[    5.435629@0] [<c033b854>] (dbs_check_cpu+0×254/0×268) from [<c0338634>] (cs)
[    5.444486@0] [<c0338634>] (cs_dbs_timer+0×98/0xc8) from [<c0040830>] (proce)
[    5.453596@0] [<c0040830>] (process_one_work+0x20c/0×340) from [<c0040e54>] )
[    5.462973@0] [<c0040e54>] (worker_thread+0x22c/0x37c) from [<c00470a8>] (kt)
[    5.471392@0] [<c00470a8>] (kthread+0xa0/0xac) from [<c000e258>] (ret_from_f)
[    5.479632@0] —[ end trace 529d33b6db914909 ]—
[    5.484405@0] ————[ cut here ]————
[    5.489182@0] WARNING: at kernel/smp.c:244 smp_call_function_single+0×98/0×1)
[    5.496555@0] Modules linked in: aml_nftl_dev(P)
[    5.501159@0] CPU: 0 PID: 4 Comm: kworker/0:0 Tainted: P        W    3.10.331
[    5.508450@0] Workqueue: events cs_dbs_timer
[    5.512709@0] [<c0014c3c>] (unwind_backtrace+0×0/0xf8) from [<c0011d14>] (sh)
[    5.521389@0] [<c0011d14>] (show_stack+0×10/0×14) from [<c002a2dc>] (warn_sl)
[    5.530501@0] [<c002a2dc>] (warn_slowpath_common+0x4c/0x6c) from [<c002a318>)
[    5.540309@0] [<c002a318>] (warn_slowpath_null+0x1c/0×24) from [<c0070adc>] )
[    5.550552@0] [<c0070adc>] (smp_call_function_single+0×98/0x1c0) from [<c007)
[    5.560706@0] [<c0071054>] (smp_call_function+0×34/0×64) from [<c001b69c>] ()
[    5.569993@0] [<c001b69c>] (clk_set_rate_a9+0x9c/0xec) from [<c001baa4>] (me)
[    5.579454@0] [<c001baa4>] (meson_clk_set_rate+0xa0/0×184) from [<c001bc2c>])
[    5.588659@0] [<c001bc2c>] (clk_set_rate+0xa4/0xc0) from [<c03d01d0>] (meson)
[    5.599247@0] [<c03d01d0>] (meson_cpufreq_target_locked.isra.0+0xe0/0x1c8) f)
[    5.610531@0] [<c03d02dc>] (meson_cpufreq_target+0×24/0x3c) from [<c03347f0>)
[    5.620775@0] [<c03347f0>] (__cpufreq_driver_target+0×50/0×74) from [<c033b8)
[    5.630580@0] [<c033b854>] (dbs_check_cpu+0×254/0×268) from [<c0338634>] (cs)
[    5.639434@0] [<c0338634>] (cs_dbs_timer+0×98/0xc8) from [<c0040830>] (proce)
[    5.648547@0] [<c0040830>] (process_one_work+0x20c/0×340) from [<c0040e54>] )
[    5.657923@0] [<c0040e54>] (worker_thread+0x22c/0x37c) from [<c00470a8>] (kt)
[    5.666343@0] [<c00470a8>] (kthread+0xa0/0xac) from [<c000e258>] (ret_from_f)
[    5.674583@0] —[ end trace 529d33b6db91490a ]—
[    5.730322@1] mail version=-1
[    5.730386@1] Mali pp1 MMU register mapped at f8064000…
[    5.733043@1] Mali pp2 MMU register mapped at f8065000…
[    5.788499@1] mali_meson_poweron: Interrupt received.
[    5.838622@1] mail version=1
[    5.888872@1] mali_meson_poweron: Interrupt received.
[    5.938973@1] mail version=1
[    5.940077@0] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    5.940184@1] Mali: Mali device driver loaded
[    5.948578@0] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    5.956336@0] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    5.963968@0] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    5.971858@0] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    5.979756@0] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
[    5.990994@1] Mali DRM initialize, driver name: mali_drm, version 2.1
[    5.994412@1] [drm] Initialized mali_drm 2.1.1 20140306 on minor 0
[    6.000306@1] Mali DRM initialize, driver name: mali_drm, version 2.1
[    6.000381@0] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    6.000448@0] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    6.000493@0] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    6.000538@0] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    6.000582@0] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    6.000626@0] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
[    6.054159@1] [drm] Initialized mali_drm 2.1.1 20140306 on minor 1
[    6.059947@0] platform reg-20-cs-ldo2: Driver reg-20-cs-ldo2 requests probe l
[    6.067815@0] platform reg-20-cs-ldo3: Driver reg-20-cs-ldo3 requests probe l
[    6.075606@0] platform reg-20-cs-ldo4: Driver reg-20-cs-ldo4 requests probe l
[    6.083202@0] platform reg-20-cs-buck2: Driver reg-20-cs-buck2 requests probl
[    6.091224@0] platform reg-20-cs-buck3: Driver reg-20-cs-buck3 requests probl
[    6.098976@0] platform reg-20-cs-ldoio0: Driver reg-20-cs-ldoio0 requests prl
Starting logging: OK
Populating /dev using udev: [    6.238118@1] udevd[1696]: starting version 1.5.3
Initializing random number generator… done.
Starting system message bus: done
Starting network…
ip: RTNETLINK answers: File exists
[    6.726537@0] netdev_open
[    6.726592@0] Ethernet reset
[    6.726621@0] NET MDA descpter start addr=edbb9000
[    6.731963@0] phy_interface = 1
[    6.734294@0] aml_phy_init:  trying to attach to 0:01
[    6.739950@0] –1–write mac add to:edef6908: 00 15 18 01 81 31 |...1|
[    6.746450@0] –2–write mac add to:edef6908: 00 15 18 01 81 31 |...1|
[    6.752694@0] write mac add to:edef6908: 00 15 18 01 81 31 |...1|
[    6.758948@0] Current DMA mode=0, set mode=621c100
[    6.763829@0] ether leave promiscuous mode
[    6.767861@0] ether leave all muticast mode
[    6.771964@0] changed the Multicast,mcount=1
[    6.776244@0] add mac address:33:33:00:00:00:01,bit=1
[    6.781283@0] set hash low=2,high=0
[    6.784722@0] changed the filter setting to :4
[    6.789431@0] changed the Multicast,mcount=1
[    6.793407@0] add mac address:33:33:00:00:00:01,bit=1
[    6.798594@0] changed the Multicast,mcount=2
[    6.802694@0] add mac address:33:33:00:00:00:01,bit=1
[    6.807768@0] add mac address:01:00:5e:00:00:01,bit=32
[    6.812845@0] set hash low=2,high=1
[    6.816373@0] changed the filter setting to :4
[    6.821863@0] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
udhcpc (v1.22.1) started
[    6.853618@1] changed the Multicast,mcount=2
[    6.853695@1] add mac address:33:33:00:00:00:01,bit=1
[    6.857374@1] add mac address:01:00:5e:00:00:01,bit=32
[    6.866272@1] changed the Multicast,mcount=2
[    6.866677@1] add mac address:33:33:00:00:00:01,bit=1
[    6.871706@1] add mac address:01:00:5e:00:00:01,bit=32
Sending discover…
[    7.070470@0] ionvideo open
[    7.070746@0] ionvideo release
[    7.073894@0] amlvideo openamlvideo close[    9.815955@0] libphy: 0:01 – Linl
[    9.816400@0] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    9.822167@0] changed the Multicast,mcount=3
[    9.826137@0] add mac address:33:33:00:00:00:01,bit=1
[    9.831096@0] add mac address:01:00:5e:00:00:01,bit=32
[    9.836232@0] add mac address:33:33:ff:01:81:31,bit=0
[    9.841087@0] set hash low=3,high=1
[    9.844554@0] changed the filter setting to :4
Sending discover…
Sending select for…
Lease of obtained, lease time 7200
[   11.203898@0] changed the Multicast,mcount=3
[   11.204220@0] add mac address:33:33:00:00:00:01,bit=1
[   11.208036@0] add mac address:01:00:5e:00:00:01,bit=32
[   11.212840@0] add mac address:33:33:ff:01:81:31,bit=0
deleting routers
adding dns
Starting inetd: OK
Starting supplicant…
[   11.611426@0] rtl8192cu driver version=v4.0.2_9000.20130911
[   11.611748@0] build time: Aug  3 2014 01:33:35
[   11.620702@0] usbcore: registered new interface driver rtl8192cu
[   11.639456@1] Set usb wifi power up!
Getting initial time via ntp.
Starting network time protocol daemon: ntpd.
[   32.174196@1] tvmode set to 720p
[   32.174196@1]
[   32.174488@1] TV mode 720p selected.
[   32.179220@1] [0x1b7e] = 0xff
[   32.180139@1] [0x105f] = 0×0
[   32.182999@1] [0x109d] = 0x814d3928
[   32.187992@1] [0x109e] = 0x6b425012
[   32.189948@1] [0x109f] = 0×110
[   32.192981@1] [0x109c] = 0x1043e
[   32.197340@1] [0x1066] = 0×10843
[   32.199410@1] [0x1059] = 0×100
[   32.202443@1] [0x105f] = 0×80000
[   32.206525@1] [0x105f] = 0×88001
[   32.208870@1] [0x105f] = 0×80003
[   32.212076@1] [0x104a] = 0×101
[   32.215114@1] [0x107f] = 0x8c0000c3
[   32.219575@1] [0x1bb8] = 0×52
[   32.221540@1] [0x1b62] = 0×2029
[   32.224661@1] [0x1b8d] = 0×4040
[   32.228648@1] [0x1b8e] = 0×19
[   32.230741@1] [0x1b94] = 0×288
[   32.233775@1] [0x1b95] = 0xc87
[   32.237603@1] [0x1b97] = 0xce3
[   32.239856@1] [0x1b98] = 0×50
[   32.242804@1] [0x1b99] = 0xf0
[   32.246760@1] [0x1b9a] = 0×50
[   32.248710@1] [0x1b9b] = 0x2b0
[   32.251744@1] [0x1b9c] = 0xcb0
[   32.254781@1] [0x1b9d] = 0×4
[   32.257934@1] [0x1b9e] = 0×8
[   32.260516@1] [0x1ba1] = 0×4
[   32.263374@1] [0x1ba2] = 0×8
[   32.266485@1] [0x1ba4] = 0×288
[   32.269280@1] [0x1ba3] = 0xc87
[   32.272314@1] [0x1ba6] = 0x1d
[   32.275265@1] [0x1baf] = 0x2ec
[   32.278526@1] [0x1ba7] = 0×100
[   32.281346@1] [0x1ba8] = 0xa8
[   32.284292@1] [0x1ba9] = 0xa8
[   32.287506@1] [0x1baa] = 0×100
[   32.290286@1] [0x1bab] = 0×0
[   32.293146@1] [0x1bac] = 0×5
[   32.296877@1] [0x1bae] = 0x2ed
[   32.299045@1] [0x1b68] = 0×100
[   32.302081@1] [0x1b60] = 0×0
[   32.304945@1] [0x1b6e] = 0×200
[   32.308157@1] [0x1b58] = 0×0
[   32.310851@1] [0x1b7e] = 0×0
[   32.313712@1] [0x1b64] = 0×9061
[   32.316997@1] [0x1b65] = 0xa061
[   32.319965@1] [0x1b66] = 0xb061
[   32.323086@1] [0x1b78] = 0×1
[   32.326140@1] [0x1b79] = 0×1
[   32.328818@1] [0x1b7a] = 0×1
[   32.331680@1] [0x1b7b] = 0×1
[   32.334543@1] [0x1b7c] = 0×1
[   32.337586@1] [0x1b7d] = 0×1
[   32.340274@1] [0x271a] = 0xa
[   32.343137@1] [0x1bfc] = 0×1000
[   32.346555@1] [0x1c0d] = 0×3102
[   32.349390@1] [0x1c0e] = 0×54
[   32.352338@1] [0x1b80] = 0×1
[   32.355202@1] [0x1b57] = 0×0
[   32.358225@1] tvoutc_setmode[397]
[   32.361368@1] mode is: 6
[   32.363883@1] config HPLL
[   32.366635@1] config HPLL done
[   32.369559@1] new mode 720p
[   32.369559@1]  set ok
[   32.374674@1] hdmitx: video: get current mode: 720p
[   32.379872@1] hdmitx: system: already init VIC = 0  Now VIC = 4
[   32.385427@1] set mode VIC 4 (cd0,cs0,pm1,vd0,1)
[   32.390258@1] hdmitx: system: hw reset
[   32.393854@1] HDMI: get brd phy data
[   32.398016@1] hdmi phy setting

[   32.401553@1] hdmitx: audio: SPDIFHDMI: get brd phy data
[   32.406030@1] hdmi phy setting
[   32.408996@1] hdmitx: system: set pll
[   32.412575@1] hdmitx: system: param->VIC:4
[   32.416787@1] mode is: 6
[   32.419172@1] config HPLL
[   32.421774@1] config HPLL done
[   32.447232@1] hdmitx: system: fixed HDMI mode output
[   32.447327@1] Sink is HDMI device
[   32.449879@1] No sink attached
[   32.458075@0] set_vout_mode[156]
[   33.114100@0] create_disp_get_ump_secure_id******0
[   33.116636@0] create_disp_get_ump_secure_id******1

If you want a useable desktop image, you can install Lubuntu in the Ubuntu 14.04 core image provided by the company. A ready-to-use Ubuntu 14.04 firmware with video decoding will be made available a little later.

I haven’t tried the current image due to time contraints, and because it does not support hardware video decoding yet. But here’s what you’d need to do to install Lubuntu 14.04:

  1. Download Ubuntu 14.04 for Wetek Play
  2. Flash the image to a micro SD card with dd or Win32DiskImager as shown above, using 8GB micro SD at least, and preferably Class 10 for better performance
  3. Insert the micro SD card into Wetek Play, connect the serial console, and power the device.
  4. In the serial console (connected via minicom, Hyterminal, putty,….), install Lubuntu as follows:
    apt-get update
    apt-get upgrade
    apt-get install lubuntu-desktop
  5. After reboot, you should be able to access the LXDE desktop environment.
Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Unboxing of UyeSee G1H Android TV Box Powered by Rockchip RK3288

August 23rd, 2014 20 comments

So finally after month of waiting, and various delays, Rockchip RK3288 based Android TV box are finally coming to market. Shenzhen UyeSee Technology is the first company to send me a sample with their G1H Android TV Box, as well as their M2 wireless music streaming receiver, which will be the subject of another post. I’ll list the specifications and show some pictures of the media player and board today, and write a full review in a few days.

UyeSee G1H Specifications

These are the specifications provided by the company, reformatted in CNXSoft style :):

  • SoC -  Rockchip RK3288 quad core ARM Cortex A17 processor @ 1.8GHz with ARM Mali-T764 quad-core 3D GPU with support for OpenGL ES 3.0, OpenCL 1.1, and DirectX11
  • System Memory – 1GB DDR3 (2GB Optional)
  • Storage – 8GB eMMC Flash (16G/32G optional) + micro SD slot
  • Video Output – HDMI 2.0 up to 4K @ 60fps, 3.5mm AV jack
  • Audio Output – HMDI,  AV, and optical S/PDIF
  • Video Codecs – MPEG-1, MPEG-2, MPEG-4,H.263, H.264, H.265,AVS, VC-1,RV, VP6/VP8, Sorenson Spark, MVC 3800 x 2160P 60FPS
  • Video Containers – H.264, H.265, AVI, TS, TP, TRP, VOB, MKV, MP4, MOV, ISO, ASF, FLV, DAT, MPG, MPEG, SWF, OGM, WMV, ASF, RM/RMV
  • Audio Codecs – MPEG1, MPEG2(Layer I/II), MP3, AC-3, E-AC-3, AAC-LC, WMA, HE-AAC
  • Connectivity – Gigabit Ethernet, dual band 802.11 b/g/n Wi-Fi and Bluetooth 4.0 (AP6330 module)
  • USB – 3x USB 2.0 host ports
  • Misc – Power LED (On:Blue; Standby:Red), reset Button for recovery, and IR receiver.
  • Power – 12V/2A (but provided power adapter is 5V/2A…)
  • Dimensions – 107 x 107 x 26 mm
  • Weight – 150 grams

G1H runs Android 4.4.

UyeSee G1H Unboxing

I’ve received the parcel via Fedex in a bland carton box, as they may not have the retail package ready, or customize them depending on their customers. It may also be an engineering sample, as they included the bare minimum in the package with the device, a 5V/2A adapter, and a simple IR remote control without the required CR2032 battery.

G1H and Accessories (Click to Enlarge)

G1H and Accessories (Click to Enlarge)

In the final retail package, it’s likely you’ll also get a least an HDMI cable, and a user’s manual.

UyeSee G1H (Click to Enlarge)

UyeSee G1H (Click to Enlarge)

The device is a tiny rectangular black box. The rear panel features the AV output, the Gigabit Ethernet port (RJ45), an optical S/PDIF port, HDMI output, and a power barrel, and you’ll find a reset/recovery button, three USB 2.0 ports, and the micro SD slot on one side of the device.

You can watch the unboxing video for a few more details.

UyeSEE G1H Board

To open this product, remove the four rubber pads on the bottom of the enclosure, remove the 4 screws, and the bottom part of casing should pop-up relatively easily.

Top of UyeSee G1H Board (Click to Enlarge)

Top of UyeSee G1H Board (Click to Enlarge)

The heatsink placed on the Rockchip processor is rather small, and based on previous temperature testing for RK3288, this probably means the device is clocked @ 1.6 GHz for better stability. The Wi-Fi module is the widely AP6330 chip providing 2.4/5.8 GHz Wi-Fi, and Bluetooth 4.0 connectivity. There does not seem to be an obvious way to connect UART, The UART pins should be the GTR (Ground, Tx, Rx) solder pads close to the micro SD slot on the top left of the picture.There are also lots of test points. The USB port just next to the micro SD slot might also act as a USB OTG port. The board name is BX20_V1.2.

Bottom of G1H Board (Click to Enlarge)

Bottom of G1H Board (Click to Enlarge)

There’s not much to see on the back of the board, except a Realtek chip.

UyeSee G1H is not yet listed on their Aliexpress Store, but you may find more information and/or contact the company via G1H product page. Price is not available, but the commercial invoice I received list the device for $68, which probably means a retail price of about $100 after taking into account shipping, Aliexpress fee, and reseller margin.

Since this media player is very new, I’ll check with the company to make sure I can do a full test now, or have to wait for a firmware upgrade before writing a review.

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

Review of WeTek Play Android DVB-S2 Satellite Receiver

August 16th, 2014 5 comments

I’ve already posted pictures of WeTek Play and its boards, and now it’s time to do a full review of this Android DVB-S2 receiver / media player. I’ll start by giving my first impressions, going through the system settings, testing my library of video test files, as well as DVB-S2 support via WeTek Theater, and check most of hardware features. I’ll also test network and storage performance, before running Antutu benchmark to make sure the device runs at optimal speed.

First Boot, Settings and First Impressions

Contrary to the vast majority of devices, WeTek Play does not come with a basically useless infrared remote, but instead an RF air mouse with an IR transmitter in order to provide true power ON/OFF capabilities. The remote is very nice with all the control you’d expect from an Android remote control, and you can turn on/off mouse mode easily via a button at the back. The only downside are the lack of a QWERTY keyboard, so you to input text with the soft keyboard in mouse mode, and it does not come with a built-in battery, but you need to insert two AAA batteries (1.5V). Rechargeable batteries (1.2V) might also work, but I have not try. So I’ve connected an HDMI cable, an Ethernet cable, my satellite dish cable, and the power supply to get started. It takes a little over 40 seconds to boot. The first time you enter a Welcome Wizard to select your language, network connectivity, check for the latest firmware (OTA update), activate your device, login to  Google Play, and optional configure your satellite reception. Once this is all done you can watch SD and HD TV channels on your TV, record programs to a USB mass storage, access EPG, and more. I’ll go through this in details in the video, and the Live TV / DVB-S2 section of this review, but let’s go to the home screen first.

WeTek Play Home Screen (Click to Enlarge)

WeTek Play Home Screen (Click to Enlarge)

The home screen is simple, and actually I find it nice for TV, but this is a matter of taste. From top to bottom, and left to right, we’ve got the date, the time, and the weather forecast (Some cities are missing, e.g. Bangkok, Chiang Mai are nowhere to be found) on the top row, then 5 icons for (live) TV, Apps, Web, Local (File manager), and XBMC, and in the last row some user configurable shortcuts. There are also some system shortcuts on the left of the screen with Settings, Power Off, Connected to Internet (Network settings) and Recent Apps, as well as shortcuts to external USB drives, but you’re unlikely to ever use these, since these functions are all accessible via the remote control.

The “Setting” icon or remote key takes you to a “Wetek Settings” page with access to Android Settings, Weather Settings,and WeTek Services. The weather settings let you set your location, but as mentioned above some large cities, even capitals, as well as temperature unit, and update period (default is 30 minutes), WeTek Services are actually part of the Android Settings, and you can activate your device, check services status (iEPG and iChannels), that are not currently running, as well as Backup your setting in the cloud thanks to partnership with, but it’s also not activated in this pre-release firmware.

About_WeTek_PlayLet’s go through the Android settings. In the Wireless & Networks section, we can find Wi-Fi, Bluetooth, Ethernet, Data usage, and “More” for VPN and portable hotspot support.Wi-Fi and Ethernet works fine, but the Wi-Fi signal is very low for Wi-Fi, however the most probable reasons for the issue is that I cut the Wi-Fi antenna cable, and did not solder it properly, so I won’t test Wi-Fi performance in this review.

There’s no pass-through configuration in the Sound option, only options for volumes, and notification sounds, hopefully this will be implemented in the final firmware. The Display section lets you adjust the overscan and select the display resolution: 480i / 576i, 720p, 72p50, 1080p, 1080p50, 1080i and 1080i50, so no 24Hz support. The user interface resolution is fixed to 720p. Storage in the device used a single partition for apps and data, which is great news. Since there’s only 4GB flash however, the total space is only 1.89GB, and after installing a few apps, there’s just 863MB available, but it should be enough, if you use the box main as a media center. The “About WeTek” section displays the model number “Play”, Android 4.2.2 running on top of Linux kernel 3.0.50.

I could login to Google Play without issue inside the welcome wizard, and I could search for app, but at first for some reasons, it would not react the to Install button, or show a list of app in the main menu, or after a keyword search, so instead I installed Amazon Appstore without issues to download apps such as Candy Crush Saga, Riptide GP2, Antutu, etc… After a while, I went back to Google Play, and it all magically worked, and I could install the apps I needed for testing, so it may have been a temporary (network) issue.

Amlogic AML8726-MX processor have been around for over two years, and although you lose some performance compared to the latest processors, the firmware is likely to be more stable than recent processor, and that’s exactly the case with WeTek Android firmware, which I found to be pretty solid, except for that initial Google Play issue, and various small issues with their services and DVB which should be enabled/fixed once the product is released. I did not experience any hang ups, or random reboots during the several hours I tested the device.

After several hours use, and just after Antutu benchmarks, and playing a 3D game, the temperature at the top of the box was 41°C, and at the bottom 48°C, with an ambient temperature around 28°C.

I’ve shot a rather long video going through the Welcome wizard, showing the Live TV app (WeTek Theater) capabilities such as PVR and EPG, and showing various parts of the user interface including the settings, and XBMC.

Video Playback

I’ve used XBMC to test video playback as it’s pre-installed and even prominent in the device as it’s the main media player. The videos are played from a SAMBA share on a USB 2.0 hard drive in Ubuntu 14.04, and using the Ethernet connection of the device. SAMBA configuration was a breeze both in XBMC and ES File Explorer.

As usual, I start with videos samples from, and even though AML8726-MX does not officially support H.265/HEVC codec, I also tried samples Elecard:

  • H.264 codec / MP4 container (Big Buck Bunny), 480p/720p/1080p – OK
  • MPEG2 codec / MPG container, 480p/720p/1080p – OK.
  • MPEG4 codec, AVI container 480p/720p/1080p – OK
  • VC1 codec (WMV), 480p/720p/1080p – OK
  • Real Media (RMVB) – RV8, RV9, and RV10 all play, but not quite as smooth as on my PC…
  • WebM / VP8 – 480p OK, 720p playing with some audio cuts, 1080p playing in slow motion and frequent audio cuts (Software decoded, VP8 not supported by AML8726-MX)
  • H.265 codec / MPEG TS container – 360p OK, 720p frames skipping and audio cuts, 1080p slideshow and frequent audio cuts

I’ve also tested some high bitrate videos:

  • ED_HD.avi (1080p MPEG-4 – 10Mbps) – Won’t even start to play
  • big_buck_bunny_1080p_surround.avi (1080p H.264 – 12 Mbps) – OK.
  • h264_1080p_hp_4.1_40mbps_birds.mkv (40 Mbps) – OK
  • hddvd_demo_17.5Mbps_1080p_VC1.mkv (17.5Mbps) – OK

I’ve also tested common audio codecs below, using PCM in XBMC, and I got the same results as with Vega S89:

  • AC3 – OK
  • Dolby Digital 5.1 / Dolby Digital 7.1 – OK
  • TrueHD 5.1 & 7.1 – Can decode audio but frequent cuts and video not smooth
  • DTS-MA and DTS-HR – Can decode audio but frequent cuts and video not smooth

I’ve also tried these “audio test” videos from a USB hard drive, and they can play fine, so the issue only happens while playing from the LAN.

Sintel-Bluray.iso, a free Blu-ray ISO file, could play just fine in XBMC, and I could also navigate between the eight chapters of the video. I skipped 4K videos since these won’t be supported by this hardware.

I also tested several AVI, MKV, FLV and MP4 videos, and they could all play without any issues. So overall this box is very good at playing videos., It won’t support BP8 and H.265 video files properly because the Amlogic SoC do not support these, and if you plan to play Blu-ray with some lowless high-definition audio, playback may not be super smooth over the network, but should be OK from a USB hard drive.

Links to various video samples used in this review and be found in “Where to get video, audio and images samples” post and comments.

WeTek Theater Live TV / Satellite Receiver App

The dual DVB-S2 tuner is one of the key selling point of this Android media player. The app provided to handle Live TV is called WeTek Theater and has been developed in-house. The first time you enter the app, you’ll be asked to setup your antenna. In the final firmware, there will be a list of satellites (per country?), but in this firmware you need to add satellites manually. I selected Thaicom 5 located at 78.5° East to watch Thai TV channles, as shown in the screenshot below.

Dish Setup (Click for Original Size)

Dish Setup (Click for Original Size)

Then I just selected 1 Scan channels with the default options, butit complained I needed to set the TP (Transponders) manually, i.e. configure the channels manually with frequencies ,V/H, etc… So it did not seem like a good idea. Finally, I’ve been told I had to select “Blindscan” mode to automatically scan for channels. It worked, and I got 795 TV channels, and 72 radio stations. Unfortunately, most TV channels are not Free-to-Air, so I could not see them, and I repeated the search with only FTA channels, I ended up to 63 TV channels and 25 radios. I’m not sure whether it’s possible to watch paid channels with this box.


After that I could just click OK to watch TV. For some reasons, I could not locate the most famous TV channels in Thailand such as TV 3, TV 5, NBT… Maybe there were called by other names in the list, I’m not sure. Nevertheless waiting TV works pretty well. Most channels are in standard definition, but at least one of them is in High Definition, so both DVB-S and DVB-S2 work with WeTek Play. Interesting features include EPG (Electronic Program Guide), but unfortunately most of the time I did not get anything, or sometimes the list of program would appear first, and then just disappear, so it may not work just perfectly at this time. If it worked, you would be able to add programs to a “book list” probably used to alert you when you program is ON, or record it. Talking about recording video (PVR), I managed to do just that with the Record button on the remote. You simply need a USB mass storage device (flash drive or USB hard drive), press the button, set the time in minutes, and click OK. I tried for 1 minute, and I could go to ES File Explorer or XBMC to play the recorded video in TVRecordFiles directory in my flash drive. The aspect ratio seemed a little bit distorted however.  There’s also a TimeShifting function, that let you pause and resume live TV, and worked pretty well for the short time I tried it.

To better get an idea of all these features, check the video embedded above in this post.

 Network Performance (Wi-Fi and Ethernet)

The network test consist in transferring a 278 MB file between a SAMBA share and the internal flash, and vice versa, repeating the test three times. Although it’s not a pure network throughput test, but IMHO a real use case. There’s a problem with Wi-Fi due to my own mistake when I opened the box, and I’m not confident I’ve fixed the problem because I can see an unusually low signal, so I’ll skip the Wi-Fi test, as I’ve already spent an enormous amount of time on this box.

I’ve only tested Ethernet with the same procedure. From SAMBA to the flash, the transfer was done @ 3.75 MB/s (1m14s), and 4.08MB/s (1m08s) This compares to AV200 achieving 3.43 MB/s (1m21s), and 4.27MB/s (1m05s). However the first time I did the transfer, it start a a few KB/s before completely stalled, and eventually timing out. This is extremely unusual for Ethernet, and I wonder if unstable Ethernet could explain the initial issues I had with Ethernet (TBC).

Miscellaneous Tests


Bluetooth is built-in the device, and I had no problem pairing it with my Android smartphone. Unfortunately, I could not managed to transfer a picture from my phone to WeTek Play, nothing would happen on the device. I’ve tried Sixaxis compatibility checker, and it says the box support Playstation Wireless Game controller, but my gamepad seems broken (Start key won’t do anything), so I could not confirm it.

External Storage

I could use an SD card formatted to FAT32 successfully.
I’ve also connected my USB 3.0 hard drive with NTFS, EXT-4, FAT32, and BTRFS partitions. Here are the performance results achieved by copying files between the internal flash and the partitions using File ES Explorer.

File System Read Write
NTFS 4.15 MB/s 11.30 MB/s
EXT-4 Not supported
FAT32 3.82 MB/s 12.5 MB/s
BTRFS Not supported

It’s quite clear this test measures the read and write speedd of the NAND flash, so it’s pretty useless to evaluate USB storage performance… So I’ll drop this test in future reviews, and I’ve looked into other apps for testing storage performance. One  storage benchmark app is AndroBench but the benchmarking paths are fixed, so it could not use it. So I finally opted to use A1 SD Bench for storage testing as it supports custom locations..I set the custom path to /storage/external_storage_sda1 for the NTFS, and the red speed is 25.63MS/s, whereas the write speed is 24.81MB/s, both of which are decent transfer speeds over USB 2.0.

USB Webcam

I could use a low cost no brand USB webcam with Skype. I haven’t tested Google hangout.


I’ve tested two games: Candy Crush Saga and Riptitde GP2,  I used WeTek air mouse to play candy crush,  and Tronsmart Mars G01 wireless gamepad to play Riptide GP2, and I had no issues. However if you are into games you should clearly buy a set-top box with a more power GPU, but this box is perfectly usable for casual gaming. I’ve also mentioned in my Bluetooth test that Sixaxis should work with this box.

WeTek Play Benchmark

I’ve tested so many devices based in Amlogic AML8726-MX, it’s not really necessary to run many benchmarks. So I’ve just run Antutu to make sure there’s nothing unexpected.

Antutu Benchmark (Click to Enlarge)

Antutu Benchmark (Click to Enlarge)

A score of 12,951 points seems pretty good with a dual core Cortex A9 processor @ 1.6 Ghz, so even though it can’t obviously match the performance of the latest processor, the Antutu is just as expected. For some reasons, most benchmark I used, namely Antutu and AndroBench , switched to portrait mode, so it may also be something that needs to be fixed, as other apps are likely to suffers the same fate.


I have to say I’m pretty please with WeTek Play so far, especially since the final firmware has not been released yet. I found it to be very stable, and virtually no point I felt the system to be sluggish, except for some rare occasions where the mouse pointer seemed to stuck for a short period at times. The team has managed to make full use of the chosen hardware, and most videos are support, I only had problem with VP8 and H.265, as both codecs are not supported by the VPU, and two other video files. It’s not to say everything is perfect, as there are still some bugs, but it looks promising.


  • Stable firmware and good performance considering the hardware
  • User friendly remote control with IR for power, and air mouse function, and all buttons you would expect in Android
  • Excellent video playback, including Blu-ray ISO (albeit mitigated by mediocre Ethernet performance, if you play bitrate videos from the network)
  • DVB-S2 tuners with decent app with EPG, PVR, and TimeShifting feature
  • Support for multiple firmware image including Android and Linux, as well as support for CMW  and TWRP recoveries – See list here.
  • OTA updates
  • “True” power off
  • Cloud backup (Although not working yet)
  • External serial console port (for developers)


  • Potential instability issues with Ethernet.
  • DVB-S2 app currently requires manual entry of satellite data (name and orientation), and EPG does not seem to work reliably.
  • UI set to 720p, which could be an issue for people requiring “true” 1080p output. But if you mainly want to watch / record DVB-S2 HD channels, this won’t be an issue.
  • No 24Hz support. Issue for people sensitive to small, but regular jitter when frequency is not set right.
  • Pass-through does not seem supported yet.
  • Some apps may wrongly switch to portrait mode.
  • I failed to transfer picture via Bluetooth

The only critical issue for my usage is Ethernet, but otherwise both the hardware and firmware are great. I’ll try Linux on the box, probably next week-end.

WeTek Play is not currently available for purchase, but should be soon, in the meantime, you can check more information on

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

Probox2 EX Android TV Box and Remote+ Unboxing

August 15th, 2014 5 comments

W2COMP sent me their Probox2 EX Android TV Box (click link for full specs) powered by Amlogic S802-H processor with DTS and Dolby hardware decoding, 2GB RAM, 16GB eMMC, and the usual USB ports, and wired and wireless connectivity. Probox2 EX is a direct competitor to MINIX NEO X8-H with similar features, and it also comes with an air mouse called Remote+ with gaming and voice control functions. Today, I’ll post some pictures, and videos about the device and its internal, following by a full review sometimes next week.

Probox2 EX Unboxing

I’ve received not one, but two boxes in the package I received via Fedex.

Probox2_EX_Remote+_PackageThe first package contains Probox2 EX Android media player, and the smaller one Probox2 Remote+ air mouse.

Probox2 EX and Accessories (Click to Enlarge)

Probox2 EX and Accessories (Click to Enlarge)

The device comes with a few accessories including a 5V/2A power supply, HDMI and AV cables, an external Wi-Fi antenna, a micro USB to USB cable, an infrared remote control. and a user’s manual in English.

Probox2 EX (Click to Enlarge)

Probox2 EX (Click to Enlarge)

The power button can be found on the top of the plastic enclosure, which IMHO is more convenient than a power button placed in the side, but that’s just a details.  At the back of the device, we’ll find the power barrel, AV output (also used as a firmware upgrade button), an Ethernet port, HDMI output, optical S/PDIF, and on the side, we have all USB ports (2x USB 2.0 host ports, 1x micro USB ITG), as well as a micro SD card slot. An Wi-Fi antenna connector can be found on the other side.

Probox2 Remote+ with RF Dongle and  User guide  (Click to Enlarge)

Probox2 Remote+ with RF Dongle and User guide (Click to Enlarge)

Now let’s open the air mouse package. It contains the air mouse, the RF dongle and a user guide (See side and back of the guide for reference). The main listed features are: 2.4GHz technology, six-axis remote control air mouse + gaming + gyroscope + mic. It can be used with Android, Linux, Mac OS and Windows just like all other air mice. There’s no internal battery, and it’s powered by 2 AAA batteries that are not included.
The video unboxing of Probox2 EX and Remote+ can be watched below.

Probox2 EX PCBA

When I tried to open the device, I was surprised not to see any screws. It can’t be a pain to open casing that are just clipped, but thsi one came off pretty easily. You just need to insert a sharp object such as a flat precision screwdriver on the bottom of the enclosure, between the two plastic parts, and it comes off pretty easily.

Bottom of Probox2 EX Board (Click to Enlarge)

Bottom of Probox2 EX Board (Click to Enlarge)

There’s a steel plate at the bottom, and some pads to protect the board, and maybe help with heat dissipation. But there’s not much to see here, so let’s remove the four screws holding the board.

Top of Probox2 EX Board (Click to Enlarge)

Top of Probox2 EX Board (Click to Enlarge)

There’s an aluminium heatsink on top of S802-H SoC, the Wi-Fi module is AP6330, and the UART pins can be found on the left of PROBOX2 sticker on the bottom right of the board. You’ll also notice the switch for firmware upgrade just behind the AV jack, a solution commonly found in Amlogic devices.

Probox2 EX can be purchased for $149.99 on W2COMP including shipping, and a Probox2 Remote+ air mouse.

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

Unboxing of WeTek Play DVB-S2 Android / Linux STB

August 14th, 2014 16 comments

WeTek Electronics, a company based in Hong Kong, has sent me an Android TV powered by Amlogic AML8726-MX dual core Cortex A9 processor. Nothing new here, but I was very very interested in reviewing it because it includes a DVB-S2 tuner, and on top of their stock Android firmware, the company provides various Android and Linux firmware files such as CyanogenMod, ParanoidAndroid, OpenELEC, Linux with Enlightenment desktop environment, Lubuntu 14.04 and so on. Today, I’ll list the hardware specifications of the device, show some unboxing pictures and video, and as usual, open the device to see what’s inside. I’ll provide a full review in one or two more posts.

WeTek Play Specifications

Apart from the DVB-S2 tuner are the serial port, the hardware specifications sound familiar:

  • SoC – Amlogic AML8726-MX dual core Cortex A9 @ 1.5GHz with Mali-400MP GPU
  • System Memory – 1GB DDR3
  • Storage – 4 GB NAND flash + 1x micro SD slot
  • Video Output – HDMI, AV (CVBS + R/L audio)
  • Audio Output – HDMI, AV, and optical S/PDIF
  • Connectivity – 10/100M Ethernet, 802.11 b/g/n Wi-Fi , and Bluetooth 4.0 (AP6210)
  • USB – 3x external USB 2.0 ports, 2x internal USB 2.0 ports (used)
  • Misc – IR receiver, 3 LEDs for power, Ethernet and Wi-Fi, RS-232 port for serial console.
  • Power – 12V/1.5A

The remote control uses RF technology (air mouse), as well as IR for power on/off.

WeTek Play Unboxing

I’ve received the box via TNT in the package below, together with a registration card with a QR code.

WeTek_Play_PackageThe QR code redirected to a registration page (under development), but in the final product it will simply redirect to, and you just need to click on Activate your device to join the membership section. I’ve been told this can also be done in the box itself with the Welcome Wizard.

WeTek Play and Accessories (Click to Enlarge)

WeTek Play and Accessories (Click to Enlarge)

Inside the package you’ve got two boxes: one with WeTek Play box, and the other with an IR + RF remote control / air mouse, a 12V/1.5A power supply, and, to my surprise, a serial cable (TTL to RS232). There’s no user’s manual with this early sample, but the final product will come with the user’s manual (See PDF), and a HDMI cable. The two AAA batteries required by the remote control are not included, but you’ll probably want to use rechargeable battery with RF remotes as the ones I have need to be recharged every 2 weeks or so.

WeTek Play (Click to Enlarge)

WeTek Play (Click to Enlarge)

The box is made of plastic, but still feel nice. At the front, we’ve got a power button, and the three LEDs for power, LAN, and Wi-Fi, on one side, we can find a USB port, and the micro SD slot, and on the back panel, there are two antenna connectors for DVB-S2, 2 more USB 2.0 ports, the AV port, Ethernet (RJ45), HDMI output, optical S/PDIF, the RS-232 connector, and the power jack.

If you’d rather watch an unboxing video, and listen to my soothing voice, here it is…

Wetek Play Main Board and DVB-S2 Tuner

And now the fun part. The back of the enclosure comes with 4 rubber pads, that I had to remove in order to remove the 5 screws. You’ll also notice the box can be wall-mounted, and there’s a upgrade through hole for firmware upgrade.

Bottom of WeTek Play Enclosure (Click to Enlarge)

Bottom of WeTek Play Enclosure (Click to Enlarge)

The top cover does not pop-up that easily, and I took off the Wi-Fi cable as I opened it, and I’ll need to do some soldering. The final product will come with a Wi-Fi connector, so that issue is less likely to happen for the few people that may open the box.

Top of WeTek Play Board (Click to Enlarge)

Top of WeTek Play Board (Click to Enlarge)

So we’ve got a daughter board with two DVB-S2/S tuners with Availink AVL6211 channel receiver (enhanced version of AVL2108), and the mainboard simply called MX with the Amlogic processor and memory, AP6210 Wi-Fi module, another AVL6211 chip, and two USB dongles with PCB marking reading “USB Token” and “2.4G dongle”.

RF Dongle and USB Token

RF Dongle and USB Token

The one of the top is the 2.4G RF receiver for the remote control, which I find it much nicer than having to connect it outside. I’ve taken it out, and Linux reports it as a USB keyboard mouse by HGBIC (VID=0×2252, PID=0×0100). The dongle at the bottom, is not recognized by Linux, but I’ve been told it’s an anti-copy USB token to protect the firmware, and avoid clones using their firmware. The box won’t boot if you remove this dongle.

Wi-Fi Antenna

Wi-Fi Antenna

Another intriguing part is the way the Wi-Fi antenna is fixed to the enclosure. I’m not sure why it is done that way, but I’ve never seen anything like it in the other boxes I opened.

Bottom of WeTek Play Board (Click to Enlarge)

Bottom of WeTek Play Board (Click to Enlarge)

There’s not that much to see at the back of the board.

WeTek Play does not seem to be available yet, and the company is looking for distributors.

That’s all for today. Next, I’ll probably test Android, especially the satellite receiver part, and post a review, following up by a review of the Linux images with VPU support (hardware video decoding) via Gstreamer (Gplay), but maybe not DVB-S support (TBC).

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