Archive

Posts Tagged ‘review’

Getting Started with MPLAB Xpress Board and Online IDE

April 27th, 2016 3 comments

Microchip launched MPLAB Xpress online IDE and board earlier this year, and as part of the launch they offered 2,000 free boards. I joined the program and received my board. The keyword for the board is “Xpress”, as you should be able to get started in mere minutes thanks to the operating system agnostic online IDE that works with Internet Explorer, Firefox, Chrome, and Safari. That also means you don’t need to install any other tool. All you need is a web browser.

MPLAB Xpress Board

Let’s start by quickly checking out the package, board, and offline documentation.

MPLAB_Xpress_packageOnce you open the package, you’ll get the board, a folded sheet of paper for the schematics, and some information on the package itself with the pinout diagram, and a quick start guide explaining that the board acts as a mass storage device, and all you need is a web browser for programming it.

Click to Enlarge

Click to Enlarge

The part has two parts: “Application” and “Programmer”. The latter features the micro USB port, and the eleectronics to handle the USB connection with a PC. There’s also a 2-pin header to power the board with a battery. The application part comes with a mikroBUS socket to be used with MikroElektrona’s Click boards, two rows of through holes on the sides with GPIOs, SPI, I2C, UART, PWM, and analog input pins, a potentiometer, a user button, and Microchip PIC16F18855 MCU.

Click to Enlarge

Click to Enlarge

There’s not much to see on bottom of the board.

Click to Enlarge

Click to Enlarge

Getting Started with MPLAB Xpress

I had to find a commonly used micro USB to USB cable to connect the board to my computer. I’m using Ubuntu 14.04 and Firefox, but most operating systems and web browser combination should work.

The board four RED LEDs are blinking in sequence, and it is indeed detected as a mass storage device with a single file README.HTM. Clicking on the file will open your default web browser and redirect to the MPLAB Xpress page @ https://www.microchip.com/mplab/mplab-xpress. I scrolled down to the bottom of the age, and clicked on Examples in the Community section.

MPLAB_Xpress_Code_Samples

Click to Enlarge

You’ll get a list of code example for Xpress and Curiosity boards made by either Microchip themselves or the developer community. I filtered the results for Xpress board and Microchip, and clicked on Open for LED brightness control using potentiometer example, which started the online IDE with the sample program:

MPLAB_Express_LED_Potentionmeter_Example
The code is written in C, and is pretty simple, as all complex initialization tasks are handled by the “SYSTEM_Initialize” function:

I then clicked on the Build icon right above “main.c”, and shortly after I was asked to download “LED_brightness_control_using_potentiometer.hex”.

MPLAB_Express_Build_Sample

Click to Enlarge

Finally I copied the binary to the board, just like I would coy a file to a USB flash drive.

MPLAB_Express_Hex_FileThe program is then automatically started with the four red LEDs on, and I was able to dim and turn on and off the LEDs with the potentiometer.

MPLAB_Xpress_Potentiometer_LED_demoIt must have taken me about 5 minutes from the time I open the package to the time I have the demo running. Quite impressive in simplicity.

It’s also possible to play with MPLAB Xpress IDE without board using the “Test Drive” option. The board is not for sale yet, but if you are interested, you can apply for an introductory discount to buy the board when it becomes available on microCHIP direct store.

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

MK808B Pro Android TV Stick Mini Review

April 26th, 2016 5 comments

MK808B PRO is the first Amlogic S905 TV stick readily available for sale, and GeekBuying sent me a sample for review. I’ve already checked out the hardware, and the lack of heatsink is a worry, so we’ll see how it performs in this mini review, where I’ll focus mainly on potential pitfalls, rather than do a throrough review as usual, since I’ve already tested so many Android TV boxes powered by Amlogic S905 processor

First Boot, Settings, and First Impressions

I’ve connected MINIX NEO A2 Lite air mouse RF dongle to the USB port, and Tronsmart Mars G01 wireless gamepad dongle to the mini USB port via the provided USB OTG adapter, and the provided HDMI cable to the AUX port of my AV receiver and nothing else, except the power adapter to the other mini USB port.

MK808_PRO_4K_TV_Stick

Boot time typically takes about one minute that it’s not a speed daemon in that regards. The user interface is familiar, since it’s the same as used in Beelink MINI MX, and a few other models.

Click for Original Size

Click for Original Size

About_MK808B_ProThe settings are also the same, so I won’t go through them all. But I could set video output to 4K @ 60Hz, and connect to WiFi (2.4 GHz only) without any problems. There’s a single storage partition with 4.41GB in total available for apps and data. The About section reports MK808B Pro model is running Android 5.1.1 on top of Linux 3.14.29. The firmware is rooted.

I also tried the Online Update in the Update&Backup app to get the latest firmware, but sadly OTA firmware update is not implemented.

Since the stick does not come with the remote control, I use an air mouse, but in theory if you don’t have one, you should be able to use RemoteIME app after enabling “Remote” in the “Remote & Accessories” settings. This did not work for me the first time with the app unable to find MK808B Pro, but as I tried again a few hours later, it worked pretty well with keyboard, mouse, and remote control modes.

The lack of remote also raise a problem when you want to turn off the device, especially since there’s no power icon on the task bar. I could turn off the device by connecting a USB keyboard, and pressing the Power key. It works, and power consumption in that mode is only 0.3 Watt. However, the only way to turn the stick back on is to manually power cycle it, by disconnecting the power supply for a few seconds, and putting it back in. So it’s definitely not user-friendly.

I could install most apps needed for review the first time I used Google Play, except most games would not be compatible with my device. I tried again later, and i could install Candy Crush Saga, and Beach Buggy Racing. So Google Play is working OK. Amazon Underground refused to install though. After 5 or so minutes trying to install the apk, it will just say “App not installed”. I downloaded it twice, and tried to install it a few minutes with the same result.

MK808B Pro feels a little sluggish compared to other device, and you may have to be especially patient when installing apps. Sometimes apps exit by themselves, while other times, I would only get a black screen with the status bar when trying to get back to the home screen. I wonder if it would be because memory is tight. So my first impressions were not that good about the device.

Kodi in MK808B Pro

Then I switched to the pre-installed Kodi 15.2 which comes with some add-ons.

Click for Original Size

Click for Original Size

For some weird reasons, Kodi 15.2 reports a 1280×720 screen resolution, but if you enlarge the screenshot below, it is instead 1920×1080.

Click to Enlarge

Click to Enlarge

Nevertheless, just a small issue. A much bigger issue was the disaster the box is to play 4K videos:

  • big_buck_bunny_4k_H264_30fps.mp4 (4K H.264, ~ 8 Mbps) – Choppy as hell, frequent audio cuts, artifacts may appear after a while.
  • HD.Club-4K-Chimei-inn-60mbps.mp4 – Not smooth at all, unwatchable

I was about to give up at this stage, but later I found that Kodi had an update in Google Play, so they may have the original version of Kodi without modifications, except installing add-ons. I did the update to Kodi 16.1, and the videos played a bit better, but still not watchable:

  • big_buck_bunny_4k_H264_30fps.mp4 (4K H.264, ~ 8 Mbps) – Video somewhat smooth at the beginning, but then becomes more choppy with frequent audio cuts. Kodi decided by itself it could not take it anymore, and exited by itself.
  • HD.Club-4K-Chimei-inn-60mbps.mp4 (H.264) – Not smooth, then buffering kicks in (60 Mbps is too high for WiFi)
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (H.265 @ 60 fps – ~6.5 Mbps) – Video not smooth, and some audio cuts, but no buffering issues here. After a few minutes, Kodi exited.

If I wanted to access Kodi UI while the video is playing, key inputs from my air mouse were either irresponsive, or with 10 seconds or so delay.

I’ve decided to to waste any more with Kodi, and video playback, on that TV stick.

Wi-Fi & Storage Performance

WiFi throughput averaged about 2.6 MB/s after several transfers between the internal flash and a SAMBA server. Not a catastrophe, but still below average.

Throughput in MB/s

Throughput in MB/s

I also tested the internal storage performance with A1 SD bench app, and the results clearly show why the stick is so cheap.

Read and Write Speeds in MB/s

Read and Write Speeds in MB/s

Gaming and Performance Stability

I’ve only played Beach Buggy Racing game on MK808K Pro. At the beginning it was not quite as smooth as on some other Amlogic S905 based TV boxes, but still playable. However, the games became very slow near the end of my first races (one lap – less than 1 minute play), and stayed that way after that. I measured the temperature on the top and bottom of the device, and both were around 60 C. I’ve also notice that at the beginning my power meter reported 4.4 Watts, but when it became slow, it dropped to 3.0 Watts, most probably because the system was throttling.

So the lack of heatsink, possibly combined with high ambient temperature (30 C), is really a problem with the stick, and you can’t expect good performance over time.

MK808B Pro Benchmark and System Info

I’ve finally ran CPU-Z and Antutu 6.1.4 to complete the review.

MK808B_Pro_CPU-Z_System_Info

Click to Enlarge

The package mentions the CPU was clocked @ 1.5 GHz, but CPU-Z and Antutu info both reports a Quad coe Cortex A53 processor clocked between 100 MHz and 2.02 GHz. But whenever it reaches 2.02 GHz, it won’t stay there for long, as we’ve seen before. The total RAM is only 775 MB, with 4.41 GB internal storage. MK808N Pro is also based on p201 board.

MK808B_Pro_Antutu_6.1.4

Antutu 6.1.4 score is 31,5166, but that’s without 3D graphics. I tried to run the benchmark again, but it would always get stuck during “Image Processing Fisheye” test right after the 3D benchmark successfully completed. It was a complete system freeze, I noticed the power draw was 8.4 watts, and my IR thermometer reported 88 C. I had to turn if off, and let it cool for 5 minutes to be able to use the stick again.

Conclusion

I wonder why anybody would buy MK808B Pro, even if the price is so low, as I’ve had so many problems, it performs slowly, Kodi 15.2 & Kodi 16.1 don’t handle 4K video very well at all, and WiFi performance is under par, at least with my setup. Maybe the stick works better at a lower ambient temperature, but I would not bet on it.

GeekBuying kindly provided the sample for review, and if for some reasons you feel the urge to buy it, you can do so for $34.99 including shipping.

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

Mini Review of Doogee Smart Cube P1 Android Projector

April 22nd, 2016 4 comments

Doogee Smart Cube P1, or just Doogee P1, is an Android projector powered by a quad core Amlogic processor. I’ve already taken some pictures of the device, and gave it a quick try, so today, I’ll write a little more about my experience using it in standalone mode with an air mouse, as well as with an Android phone using both Miracast and DLNA. The device also supports Airplay, but I don’t think I have any compatible device, so I have not tried this mode.

Click to Enlarge

Click to Enlarge

Doogee P1 in Standalone Mode with an Air mouse (or other wireless/USB input device)

After connecting MINIX NEO A2 lite air mouse’s RF dongle to the only USB port on the device, I pressed the power button for 5 seconds to start it up, and boot is pretty fast in around 30 seconds. You’ll need to adjust the focus with the wheel button on the side. It will start with the stock Android launcher, showing “Hotspot mode” on the left in the notification bar, but instead I went to the settings to connect to my WiFi network. My 2.4 GHz and 5.0 GHz access points were detected, but if you don’t input the password fast enough that “Hotspot mode” notification will come up again, and you have to start again. After a few unsuccessful frustrating attempts, I finally managed to connect to my WiFi network.

So I went to Google Play Store to install YouTube. I could sign-in with any issues, but I got some error message when installing the app.

Doogee_P1_YouTube_Installation_Issue

It also happens with all other apps, and two other reviewers actually contacted me to know if I had the same problem with Google Play. So there’s definitely a problem with the firmware here. However, at the end of the review, I finally found out that Wireless update works, and March 30, 2016 firmware did fix Google Play. So make sure you update when you receive the device.

Since YouTube app was not an easy option at the time, I instead started the pre-installed Chrome Browser, went to youtube.com, and started playing videos, and it worked well with audio coming out of the built-in speakers. I also tried to connect some Bluetooth headset, but the projector would not detect it.

I’m pretty sure some people would have asked me about Kodi, so I installed SPMC 16.2.1, and played a 1080p H.264 video (Big Buck Bunny) from the USB flash drive connected via a USB hub, and no problem here.

Click to Enlarge

Click to Enlarge

The projector resolution is 854×480, but it still feels sharp enough.

Doogee P1 with an Android Smartphone (Miracast + DLNA)

Since Smart Cube P1 does not come with a user’s manual that part may be tricky at first, and I eventually found out that you need to press the power button twice to get to connection instructions, and the first time, download Doogee app for Android 4.0+ or iOS 7.0+. Then each time you start the project, you have to pair it with your smartphone again.

Click to Enlarge

Click to Enlarge

You’ll need to tap on the top right icon, scan the QR code, and the relevant icon will turn green and show “Connected”. You’ll be able to control the projector with the remote.

Doogee Smartphone App - Click to Enlarge

Doogee Smartphone App – Click to Enlarge

However, since it is in Hotspot mode, there’s no Internet connection by default, so you’ll need to tap on the WiFi button, just under DLNA, to seatch for WiFi access point, and connect. Sadly I also have to do this each time, and the WiFi is not saved by the app.

Now that configuration is done, you can play with DLNA or Miracast. Starting with Miracast, the system will show the app has crashed, but you can still go ahead enable Wireless Display in your phone, and connect to the projector. I’ve played YouTube videos, and played Beach Buggy Racing from my phone, which I’ll be able to see in the demo video further below, and it worked reasonably well. Later, I played some music videos in YouTube, and noticed artifacts from time to time. Anyway, Mircast is working reasonably well.

On the other end, my DLNA  experience was pretty poor, with videos and photos super slow to load with BubbleUPnP, and most of the time the video would just end before completion. The projector was only 4 to 5 meters (+ one wall) from the router.

The demo video below shows my experience in standalone mode, and with Miracast & DLNA using a Mediatek smartphone.

Doogee P1 System Info & Antutu Benchmark

Let’s check the system details with CPU-Z first.

Doogee_Smart_Cube_P1_CPU-ZSo we have a quad core Cortex A5 processor @ 24 MHz to 1.54 GHz with a Mali-450 MP GPU. That’s similar to Amlogic S805 processor, but it’s likely Amlogic T826 processor since it also targets “smart projectors” The model is P1, and the screen resolution is confirmed to be 848 x 480 pixels. There’s 799 MB total RAM (part of the 1GB RAM are probably used for the GPU or VPU), and 5.32 GB storage with 5.08 GB free after installing a few apps. The device runs Android 4.4.2 on top of Linux 3.10.33.

Click to Enlarge

Click to Enlarge

The projector achieves 16,210 points in Antutu 6.0.4, which is about what I expected. I had to run the benchmark three times to get 3D to succeed.

Doogee Smart Cube P1 OTA firmware update

When I went to the About section of the Android settings, I noticed both System update and Wireless update options.

Click to Enlarge

Click to Enlarge

System update reported that the device was up-to-date, but Wireless update detected a new firmware. I should have done this earlier…, or rather a first time setup app should have made me go through it… Anyway, I clicked on Download to start the process.

Click to Enlarge

Click to Enlarge

The changelog only mentions “System optimizations” and “Fix errors”. The update went through and did not delete any of my apps and settings. I tried to access Google Play, but the app would just exit. So I powered off the device (5 second press on the power button), and powered it on again, and I could access the Google Play Store, input my credential again, and install YouTube! Hooray!

Conclusion

I liked the DLP projector from the start with a bright and sharp image, and that’s straightforward to focus. At first, I had troubles with the Google Play Store, which did not work at all, but luckily the projector supports OTA firmware updates, and after the update I could install apps from the Play Store, which makes Standalone mode a much user-friendly option. Controlling the projector with my Android smartphone worked well, although I would have like a touchpad area to control the mouse pointer. Miracast worked OK most of the time, but DLNA performance was really poor. However, since Doogee has implemented OTA firmware updates, I’m hopefully many of the issues will be fixed overtime. The projector is also small and cute.

I’d like to thank GearBest for providing the sample, and you could consider purchasing it for $168.99 including shipping (+$4 discount with GBP1 coupon). Only a few other shops list the device on Aliexpress.

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

Matricom G-Box Q2 Android TV Box Review

April 21st, 2016 2 comments

Another guest review from Karl, this time, with Matricom G-Box Q2 Android 5.1 TV box based on Amlogic S812 processor.

First Impressions

gbox_q2_package

Today I will be reviewing the G-Box Q2 by Matricom. This is a follow up device to the popular G-Box Q. The first day I plugged it in and did some basic first impressions I thought it was laggy…..but after using it and setting up the way I am accustomed to using it…I found it very fast and responsive. From the time power is applied to launcher is loaded is about 33 seconds. The software seems solid and I ran into only minor issues. It got very respectable scores between 38000 and 42000 on Antutu. The box does have a lot of software that I am not a fan of, but these can be easily uninstalled. The launcher that comes with it is ok but I prefer a more vanilla launcher. I do wish it had gigabit Ethernet it would help streaming high bitrate 4K movies but in reality other than test videos I have no 4k movies. I did end up testing a USB 3.0 gigabit adapter and was pleasantly surprised it just worked and got significant improvement over the integrated Ethernet.

gbox_q2_accessories

Specs

  • CPU/GPU – Amlogic s812 Quad Core @ 2GHz Mali-450 Octo Core 3D GPU
  • Memory – 2GB DDR3 SK Hynix
  • Storage – 16GB Flash Storage Samsung
  • Android OS – Android Lollipop
  • USB Ports – Two (2) USB 2.0
  • Ethernet – 10/100 Full Duplex
  • Wi-Fi – Broadcom 5G 802.11 Dual Band Via AP6330
  • Bluetooth – V.4.0 Low Power, Full Speed
  • Dimensions – Length: 12.5cm, Width: 12.5cm,
  • Height: 2.5cm

gbox_q2_board

gbox_q2_board_closeup

Chrome

Chrome is the only app that I found major deficiencies with…it was very laggy. The built it browser worked much better for me. I recently installed an Emby server and it takes a good minute for it to load,  and when I click a link 5-10 seconds for a response. I found 5-10 seconds to respond on most pages.

Video

SPMC works great plays everything in my collection. Further down I did testing with some test vids. With the Masters going I loaded there app from the play store….I watched several pre-recorded items and they played well but live was jittery. YouTube plays 1080p and is nice and fluid.

Launcher, Home, and UI

The stock launcher is OK, and you can install others, but there is no way to make it default unless the Matricom launcher is totally removed. One thing that kind of grew on me is when pressing the home button the app switcher loads at the bottom of the screen. The app switcher is part of the Matricom Launcher so I opted to keep it and just click Nova Launcher every boot.

Click to Enlarge

Click to Enlarge

One thing I found odd was there is a mixture of double clicks and single clicks in the UI. There are no notifications or navigation buttons at the bottom of the screen. To get around the lack of app switcher to kill a process I had to hold an alt-tab and slide the app off the screen to kill it.

Testing

Moving Files around

Scenario Size in MB sec MBytes/sec
From NAS to Internal SD over Wi-Fi 5GHz

1575.246

658

2.393990881

From NAS to Internal SD over Ethernet

1575.246

194

8.119824742

From Internal SD to NAS over Ethernet

1575.246

226

6.970115044

From NAS to External SD over Ethernet

1575.246

174

9.053137931

From Internal SD to External SD

1575.246

154

10.22887013

From External SD to Internal SD

1575.246

102

15.44358824

From USB Thumb to Internal SD

1575.246

57

27.63589474

From Internal SD to USB Thumb

1575.246

142

11.09328169

External SD to USB Thumb

1575.246

146

10.78935616

From NAS to Internal SD over Gig USB to Ethernet

1575.246

98

16.07393878

From Internal SD to NAS over Gig USB to Ethernet

1575.246

157

10.03341401

After connecting a USB Gigabit adapter you can tell there is a significant advantage to using it. My NAS is the limiting factor. I max out around 16-17 MB/s. I would imagine it could go as high as the USB to thumb drive move of about 27 MB/s which is about the typical throughput of USB 2.0.

4k Video Test

Kodi 16.0

MX Player

SPMC 16.2.1

big_buck_bunny_1080p_H264_AAC_25fps_7200K_short.MP4

ok

ok

ok

big_buck_bunny_1080p_MPEG2_MP2_25fps_6600K_short.MPG

ok

ok

ok

big_buck_bunny_1080p_MPEG4_MP3_25fps_7600K_short.AVI

ok

ok

ok

big_buck_bunny_1080p_VC1_WMA3_25fps_8600K_short.WMV

ok

ok

ok

big_buck_bunny_1080p_VP8_VORBIS_25fps_7800K_short.WebM

ok

Stutters

ok

Ducks Take Off [2160p a 243 Mbps].mkv

Pauses occasionally almost perfect

Pauses occasionally

Pauses occasionally almost perfect

jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv

Weird video issue

Plays few frames skips plays few frames skips

Weird video issue

Samsung_UHD_Dubai.ts

ok

Plays few frames skips plays few frames skips

ok

tears_of_steel_4k_H264_24fps.mov

ok

ok

ok

tears_of_steel_1080p_H264_24fps.mov

ok

ok

ok

140626_4k_hm130_4s_sao_dbf_qp27.265.mpeg

Slight stutter

ok

ok

140803_4k_hm130_4s_sao_dbf_qp27.265.mpeg

Slight stutter

Ok but slight pause at same spot every time

ok

SPMC is the clear winner.

Benchmarks

CPU-Z

Click to Enlarge

Click to Enlarge

Antutu 6.0.1

Click to Enlarge

Click to Enlarge

Vellamo

gbox_q2_vellamo3DMark Ice Storm Extreme

gbox_q2_3dmark_ICS

Apps

  • Netflix – Only SD
  • Asphalt 8 – OK
  • Riptide GP 2 – OK
  • YouTube 1080 – OK
  • Google Play Movies – Black Screen no audio
  • Crackle – OK
  • Hulu – OK
  • Emby – Works well with MX player as external player. Everything stretched 16:9
  • Plex App – OK, some streams won’t play

Final notes

I have really enjoyed my time with this box. Everything but Chrome seemed to work very well. Video test went very well. S/PDIF worked perfectly. I do wish it had a notification bar and navigation bar so I could kill apps and get notifications easily. I would have tried to change this but I was fearful I would brick the box and not get it back. Matricom/Google should resolve the Chrome issue soon. I would say it is the best overall box that I have played with, behind the NVidia Shield.


CNXSoft here. Matricom G-Box Q2 can be purchased for $97 on Amazon US, but I have to thank Sandroid.co.uk instead, as they are the one who sent the device for review, and they sell it in the UK for £83.33 to £94.16 depending on the chosen remote control. And of course, thanks to Karl for the review!

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

Xiaomi Mi WiFi 3 Router Unboxing, Teardown, and Serial Console

April 20th, 2016 26 comments

Mi WiFi 3 is the new low cost 802.11ac WiFi router by Xiaomi that sells for about $40. GearBest send my one sample for evaluation, and today, I’ve taken some photo of the device and board, and connected the UART pin to see if the serial console was accessible for people who want to try to port OpenWrt for example.

Xiaomi Mi WiFi 3 Unboxing

There’s some information on the package, but everything is in Chinese, except the part about AC1200 meaning it supports up to 867 Mbps with 802.11ac and 300 Mbps using 802.11n.

Xiaomi_Mi_WiFi_3_AC1200_Router_PackageThe router comes with a 12V/1A power supply, and a user’s manual in Chinese only. There’s also a QR code inside the box linking to the Android and iOS apps,  available both in English and Chinese, so actually that one of the few Xiaomi product that should be easy to use outside of China without some hacks.Xiaomi_Mi_WiFi_3_Router_Power_Supply_User_Manual

The router has four external antennas.

Xiaomi_Mi_WiFi_3_RouterThe rear panel features a reset pinhole, a USB port to connect storage, two LAN ports, one WAN port, and the DC jack.

Xiaomi_Mi_WiFi_3_Rear_Panel

Xiaomi Mi WiFi 3 Router Teardown

First it looks like I only had to pop the bottom of the case with some plastic tool, but then I noticed a screw in the middle was holding it together. So I had to pierce through the sticker with my screwdriver to completely open it.

Xiaomi_Mi_WiFi_3_Router_TeardownI was a bit surprised that they had used such as large enclosure for a small board, but maybe marketing is in play here with bigger is better? [Update: Actually, it’s for the router to avoid falling backward due to the weight of the antennas]

Click to Enlarge

Click to Enlarge

Beside the three GLGNET GSD16002LF 100Mbit magnetics, the main components include Mediatek MT7612EN 802.11a/b/g/n/ac Wi-Fi 2T2R chip, a chip under a small heatsink which must be MT7620A, and NANYA NT5TU64M16HG-AC DDR2 chip (64 MB). You’ll also notice the pin for the serial console are clearly marked on the right side, but more on that below. The two 5GHz antennas are on left, and the two 2.4GHz antennas on the right in the picture above.

Click to Enlarge

Click to Enlarge

The bottom of the board features Spansion S34ML01G100TF100 flash with 128 MB capacity.

Xiaomi MiWiFi 3 Serial Console

I’ve also soldered a 4-pin header on the right side of the board (GND, Tx, Rx, and 3.3V). to check if I could indeed access the serial console with a USB to TTL debugger adapter.

Xiaomi_Mi_WiFi_3_Router_Serial_Console

Then I started minicom with the usual settings (115200 8N1), powered up the board, and I could get the serial log:

Welcome to minicom 2.7OPTIONS: I18n
Compiled on Jan 1 2014, 17:13:19.
Port /dev/ttyUSB0, 16:21:43Press CTRL-A Z for help on special keys

U-Boot 1.1.3 (Mar 16 2016 – 14:15:12)

Board: Ralink APSoC DRAM: 128 MB
Power on memory test. Memory size= 128 MB…OK!
relocate_code Pointer at: 87fb8000
enable ephy clock…done. rf reg 29 = 5
SSC disabled.
!!! nand page size = 2048, addr len=4
..============================================
Ralink UBoot Version: 4.2.S.1
——————————————–
ASIC 7620_MP (Port5None)
DRAM_CONF_FROM: Auto-detection
DRAM_TYPE: DDR2
DRAM component: 1024 Mbits
DRAM bus: 16 bit
Total memory: 128 MBytes
Flash component: NAND Flash
Date:Mar 16 2016 Time:14:15:12
============================================
icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768

##### The CPU freq = 580 MHZ ####
estimate memory size =128 Mbytes

Please choose the operation:
1: Load system code to SDRAM via TFTP.
2: Load system code then write to Flash via TFTP.
3: Boot system code via Flash (default).
4: Entr boot command line interface.
9: Load Boot Loader code then write to Flash via TFTP.

3: System Boot system code via Flash.
Booting System 1
..Erasing NAND Flash…
Writing to NAND Flash…
done
## Booting image at bc200000 …
Image Name: MIPS OpenWrt Linux-2.6.36
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 2616754 Bytes = 2.5 MB
Load Address: 80000000
Entry Point: 80000000
…………………………………. Verifying Checksum … OK
Uncompressing Kernel Image … OK
commandline uart_en=0 factory_mode=0 mem=128m
No initrd
## Transferring control to Linux (at address 80000000) …
## Giving linux memsize in MB, 128

Starting kernel …

LINUX started…

THIS IS ASIC
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.36 ([email protected]) (gcc version 4.6.3 6
[ 0.000000]
[ 0.000000] The CPU feqenuce set to 580 MHz
[ 0.000000] PCIE: bypass PCIe DLL.
[ 0.000000] PCIE: Elastic buffer control: Addr:0x68 -> 0xB4
[ 0.000000] disable all power about PCIe
[ 0.000000] CPU revision is: 00019650 (MIPS 24Kc)
[ 0.000000] Software DMA cache coherency
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 08000000 @ 00000000 (usable)
[ 0.000000] User-defined physical RAM map:
[ 0.000000] memory: 08000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty – disabling initrd
[ 0.000000] Zone PFN ranges:
[ 0.000000] Normal 0x00000000 -> 0x00008000
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] early_node_map[1] active PFN ranges
[ 0.000000] 0: 0x00000000 -> 0x00008000
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa2
[ 0.000000] Kernel command line: console=ttyS1,115200n8 root=/dev/ram0 uart_m
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Primary instruction cache 64kB, VIPT, , 4-waylinesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bys
[ 0.000000] Writing ErrCtl register=0004a6ba
[ 0.000000] Readback ErrCtl register=0004a6ba
[ 0.000000] allocated 655360 bytes of page_cgroup
[ 0.000000] please try ‘cgroup_disable=memory’ option if you don’t want memos
[ 0.000000] Memory: 123440k/131072k available (3347k kernel code, 7632k rese)
[ 0.000000] SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, N1
[ 0.000000] NR_IRQS:128
[ 0.000000] console [ttyS1] enabled
[ 0.010000] Calibrating delay loop… 385.84 BogoMIPS (lpj=1929216)
[ 0.220000] pid_max: default: 32768 minimum: 301
[ 0.220000] Mount-cache hash table entries: 512
[ 0.220000] Initializing cgroup subsys cpuacct
[ 0.230000] Initializing cgroup subsys memory
[ 0.230000] Initializing cgroup subsys net_cls
[ 0.230000] devtmpfs: initialized
[ 0.240000] NET: Registered protocol family 16
[ 0.240000] RALINK_GPIOMODE = 121b1c
[ 0.240000] RALINK_GPIOMODE = 101b1c
[ 0.440000] PPLL_CFG1=0xe44000
[ 0.450000] MT7620 PPLL lock
[ 0.450000] PPLL_DRV =0x80080504
[ 0.650000] Deassert the PCIE0 RESET.
[ 0.650000] start PCIe register access
[ 1.150000] RALINK_RSTCTRL = 2400000
[ 1.160000] RALINK_CLKCFG1 = 75afffc0
[ 1.160000]
[ 1.160000] *************** MT7620 PCIe RC mode *************
[ 1.660000] PCIE0 enabled
[ 1.670000] init_rt2880pci done
[ 1.670000] bio: create slab at 0
[ 1.680000] SCSI subsystem initialized
[ 1.680000] usbcore: registered new interface driver usbfs
[ 1.680000] usbcore: registered new interface driver hub
[ 1.690000] usbcore: registered new device driver usb
[ 1.690000] pci 0000:00:00.0: BAR 0: can’t assign mem (size 0x80000000)
[ 1.700000] pci 0000:00:00.0: BAR 8: assigned [mem 0x20000000-0x200fffff]
[ 1.700000] pci 0000:00:00.0: BAR 9: assigned [mem 0x20100000-0x201fffff pre]
[ 1.710000] pci 0000:00:00.0: BAR 1: assigned [mem 0x20200000-0x2020ffff]
[ 1.710000] pci 0000:00:00.0: BAR 1: set to [mem 0x20200000-0x2020ffff] (PCI]
[ 1.720000] pci 0000:01:00.0: BAR 0: assigned [mem 0x20000000-0x200fffff 64b]
[ 1.720000] pci 0000:01:00.0: BAR 0: set to [mem 0x20000000-0x200fffff 64bit]
[ 1.730000] pci 0000:01:00.0: BAR 6: assigned [mem 0x20100000-0x2010ffff pre]
[ 1.730000] pci 0000:00:00.0: PCI bridge to [bus 01-01]
[ 1.740000] pci 0000:00:00.0: bridge window [io disabled]
[ 1.740000] pci 0000:00:00.0: bridge window [mem 0x20000000-0x200fffff]
[ 1.750000] pci 0000:00:00.0: bridge window [mem 0x20100000-0x201fffff pre]
[ 1.750000] BAR0 at slot 0 = 0
[ 1.760000] bus=0x0, slot = 0x0
[ 1.760000] res[0]->start = 0
[ 1.760000] res[0]->end = 0
[ 1.760000] res[1]->start = 20200000
[ 1.770000] res[1]->end = 2020ffff
[ 1.770000] res[2]->start = 0
[ 1.770000] res[2]->end = 0
[ 1.770000] res[3]->start = 0
[ 1.780000] res[3]->end = 0
[ 1.780000] res[4]->start = 0
[ 1.780000] res[4]->end = 0
[ 1.780000] res[5]->start = 0
[ 1.790000] res[5]->end = 0
[ 1.790000] bus=0x1, slot = 0x0
[ 1.790000] res[0]->start = 20000000
[ 1.790000] res[0]->end = 200fffff
[ 1.800000] res[1]->start = 0
[ 1.800000] res[1]->end = 0
[ 1.800000] res[2]->start = 0
[ 1.800000] res[2]->end = 0
[ 1.810000] res[3]->start = 0
[ 1.810000] res[3]->end = 0
[ 1.810000] res[4]->start = 0
[ 1.810000] res[4]->end = 0
[ 1.820000] res[5]->start = 0
[ 1.820000] res[5]->end = 0
[ 1.820000] Switching to clocksource MIPS
[ 1.830000] NET: Registered protocol family 2
[ 1.830000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 1.840000] TCP established hash table entries: 4096 (order: 3, 32768 bytes)
[ 1.850000] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[ 1.850000] TCP: Hash tables configured (established 4096 bind 4096)
[ 1.860000] TCP reno registered
[ 1.860000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 1.870000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 1.870000] NET: Registered protocol family 1
[ 3.280000] RT3xxx EHCI/OHCI init.
[ 3.290000] msgmni has been set to 241
[ 3.290000] Block layer SCSI generic (bsg) driver version 0.4 loaded (major )
[ 3.300000] io scheduler noop registered (default)
[ 3.310000] RALINK_REG_PIO7140DATA b0000670 = 0
[ 3.410000] RALINK_REG_PIO7140DATA b0000670 = 2000000
[ 3.420000] Ralink gpio driver initialized
[ 3.420000] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[ 3.430000] serial8250: ttyS0 at MMIO 0x10000500 (irq = 37) is a 16550A
[ 3.430000] serial8250: ttyS1 at MMIO 0x10000c00 (irq = 12) is a 16550A
[ 3.440000] init reset module!
[ 3.450000] brd: module loaded
[ 3.450000] !!! nand page size = 2048, addr len=4
[ 3.460000] ra_nand_init: alloc 1350, at 87d90000 , btt(87d910c0, 100), ranf0
[ 3.470000] Creating 13 MTD partitions on “ra_nfc”:
[ 3.470000] 0x000000000000-0x000008000000 : “ALL”
[ 3.500000] 0x000000000000-0x000000040000 : “Bootloader”
[ 3.510000] 0x000000040000-0x000000080000 : “Config”
[ 3.510000] 0x000000080000-0x0000000c0000 : “Bdata”
[ 3.520000] 0x0000000c0000-0x000000100000 : “Factory”
[ 3.530000] 0x000000100000-0x000000140000 : “crash”
[ 3.530000] 0x000000140000-0x000000180000 : “crash_syslog”
[ 3.540000] 0x000000180000-0x000000200000 : “reserved0”
[ 3.540000] 0x000000200000-0x000000600000 : “kernel0”
[ 3.550000] 0x000000600000-0x000000a00000 : “kernel1”
[ 3.560000] 0x000000a00000-0x000002a00000 : “rootfs0”
[ 3.560000] 0x000002a00000-0x000004a00000 : “rootfs1”
[ 3.570000] 0x000004a00000-0x000008000000 : “overlay”
[ 3.570000] rdm_major = 253
[ 3.580000] SMACCR1 — : 0x0000f0b4
[ 3.580000] SMACCR0 — : 0x2985a41d
[ 3.580000] Ralink APSoC Ethernet Driver Initilization. v3.0 256 rx/tx desc!
[ 3.590000] SMACCR1 — : 0x0000f0b4
[ 3.600000] SMACCR0 — : 0x2985a41d
[ 3.600000] PROC INIT OK!
[ 3.610000] PPP generic driver version 2.4.2
[ 3.610000] PPP MPPE Compression module registered
[ 3.620000] NET: Registered protocol family 24
[ 3.620000] PPTP driver version 0.8.5
[ 3.630000] ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
[ 3.750000] rt3xxx-ehci rt3xxx-ehci: Ralink EHCI Host Controller
[ 3.760000] rt3xxx-ehci rt3xxx-ehci: new USB bus registered, assigned bus nu1
[ 3.800000] rt3xxx-ehci rt3xxx-ehci: irq 18, io mem 0x101c0000
[ 3.820000] rt3xxx-ehci rt3xxx-ehci: USB 0.0 started, EHCI 1.00
[ 3.820000] hub 1-0:1.0: USB hub found
[ 3.830000] hub 1-0:1.0: 1 port detected
[ 3.830000] ohci_hcd: USB 1.1 ‘Open’ Host Controller (OHCI) Driver
[ 3.860000] rt3xxx-ohci rt3xxx-ohci: RT3xxx OHCI Controller
[ 3.860000] rt3xxx-ohci rt3xxx-ohci: new USB bus registered, assigned bus nu2
[ 3.870000] rt3xxx-ohci rt3xxx-ohci: irq 18, io mem 0x101c1000
[ 3.940000] hub 2-0:1.0: USB hub found
[ 3.940000] hub 2-0:1.0: 1 port detected
[ 3.950000] usbcore: registered new interface driver cdc_acm
[ 3.950000] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems s
[ 3.960000] Initializing USB Mass Storage driver…
[ 3.970000] usbcore: registered new interface driver usb-storage
[ 3.970000] USB Mass Storage support registered.
[ 3.980000] usbcore: registered new interface driver usbserial
[ 3.980000] USB Serial support registered for generic
[ 3.990000] usbcore: registered new interface driver usbserial_generic
[ 4.000000] usbserial: USB Serial Driver core
[ 4.000000] USB Serial support registered for pl2303
[ 4.010000] usbcore: registered new interface driver pl2303
[ 4.010000] pl2303: Prolific PL2303 USB to serial adaptor driver
[ 4.020000] USB Serial support registered for TI USB 3410 1 port adapter
[ 4.030000] USB Serial support registered for TI USB 5052 2 port adapter
[ 4.030000] usbcore: registered new interface driver ti_usb_3410_5052
[ 4.040000] ti_usb_3410_5052: v0.10:TI USB 3410/5052 Serial Driver
[ 4.050000] Software Watchdog Timer: 0.07 initialized. soft_noboot=0 soft_ma)
[ 4.050000] u32 classifier
[ 4.060000] input device check on
[ 4.060000] Actions configured
[ 4.060000] Netfilter messages via NETLINK v0.30 with ipset netlink.patch.
[ 4.070000] nf_conntrack version 0.5.0 (1928 buckets, 7712 max)
[ 4.080000] xt_time: kernel timezone is -0000
[ 4.080000] GRE over IPv4 demultiplexor driver
[ 4.090000] ip_tables: (C) 2000-2006 Netfilter Core Team, Type=Restricted Coe
[ 4.100000] TCP cubic registered
[ 4.100000] NET: Registered protocol family 10
[ 4.110000] NET: Registered protocol family 17
[ 4.110000] L2TP core driver, V2.0
[ 4.110000] PPPoL2TP kernel driver, V2.0
[ 4.120000] L2TP netlink interface
[ 4.120000] 802.1Q VLAN Support v1.8 Ben Greear <[email protected]>
[ 4.130000] All bugs added by David S. Miller <[email protected]>
[ 4.150000] Freeing unused kernel memory: 1188k freed
[ 4.240000] Loading essential drivers…
[ 4.250000] Press Ctrl+C to enter RAMFS…
[ 5.260000] Check for USB recovery…
[ 5.290000] Bringup the system…
[ 5.300000] flag_boot_rootfs=0 mounting /dev/mtd10
[ 5.310000] UBI: attaching mtd10 to ubi0
[ 5.310000] UBI: physical eraseblock size: 131072 bytes (128 KiB)
[ 5.320000] UBI: logical eraseblock size: 126976 bytes
[ 5.320000] UBI: smallest flash I/O unit: 2048
[ 5.330000] UBI: VID header offset: 2048 (aligned 2048)
[ 5.340000] UBI: data offset: 4096
[ 5.490000] UBI: max. sequence number: 2
[ 5.500000] UBI: attached mtd10 to ubi0
[ 5.500000] UBI: MTD device name: “rootfs0”
[ 5.510000] UBI: MTD device size: 32 MiB
[ 5.510000] UBI: number of good PEBs: 256
[ 5.520000] UBI: number of bad PEBs: 0
[ 5.520000] UBI: max. allowed volumes: 128
[ 5.530000] UBI: wear-leveling threshold: 4096
[ 5.530000] UBI: number of internal volumes: 1
[ 5.540000] UBI: number of user volumes: 1
[ 5.540000] UBI: available PEBs: 0
[ 5.550000] UBI: total number of reserved PEBs: 256
[ 5.550000] UBI: number of PEBs reserved for bad PEB handling: 4
[ 5.560000] UBI: max/mean erase counter: 1/0
[ 5.560000] UBI: image sequence number: 1026081047
[ 5.570000] UBI: background thread “ubi_bgt0d” started, PID 80
UBI device number 0, total 256 LEBs (32505856 bytes, 31.0 MiB), available 0 LEB)
[ 5.660000] UBIFS: mounted UBI device 0, volume 0, name “system”
[ 5.660000] UBIFS: mounted read-only
[ 5.670000] UBIFS: file system size: 30093312 bytes (29388 KiB, 28 MiB, 23)
[ 5.670000] UBIFS: journal size: 9023488 bytes (8812 KiB, 8 MiB, 72 LE)
[ 5.680000] UBIFS: media format: w4/r0 (latest is w4/r0)
[ 5.690000] UBIFS: default compressor: zlib
[ 5.690000] UBIFS: reserved for root: 0 bytes (0 KiB)
config core ‘version’
# ROM ver
option ROM ‘2.8.12’
# channel
option CHANNEL ‘release’
# hardware platform R1AC or R1N etc.
option HARDWARE ‘R3’
# CFE ver
option UBOOT ‘1.0.2’
# Linux Kernel ver
option LINUX ‘0.1.12’
# RAMFS ver
option RAMFS ‘0.1.12’
# SQUASHFS ver
option SQAFS ‘0.1.12’
# ROOTFS ver
option ROOTFS ‘0.1.12’
#build time
option BUILDTIME ‘Wed, 16 Mar 2016 14:13:36 +0800’
#build timestamp
option BUILDTS ‘1458108816’
#build git tag
option GTAG ‘commit 17f50389a144da43f3858d508d9de41885282406’
mount: mounting proc on /proc failed: Device or resource busy
mount: mounting sysfs on /sys failed: Device or resource busy
[ 6.460000] Raeth v3.0 (Tasklet,SkbRecycle)
[ 6.460000]
[ 6.460000] phy_tx_ring = 0x074c7000, tx_ring = 0xa74c7000
[ 6.460000]
[ 6.460000] phy_rx_ring0 = 0x07df0000, rx_ring0 = 0xa7df0000
[ 6.460000] SMACCR1 — : 0x0000f0b4
[ 6.460000] SMACCR0 — : 0x2985a41d
[ 6.490000] CDMA_CSG_CFG = 81000000
[ 6.490000] GDMA1_FWD_CFG = 20710000
– preinit –
Wed Mar 16 14:27:38 UTC 2016
– regular preinit –
[ 6.670000] UBI: attaching mtd12 to ubi1
[ 6.670000] UBI: physical eraseblock size: 131072 bytes (128 KiB)
[ 6.680000] UBI: logical eraseblock size: 126976 bytes
[ 6.680000] UBI: smallest flash I/O unit: 2048
[ 6.690000] UBI: VID header offset: 2048 (aligned 2048)
[ 6.690000] UBI: data offset: 4096
[ 6.940000] UBI: max. sequence number: 122
[ 6.960000] UBI: attached mtd12 to ubi1
[ 6.960000] UBI: MTD device name: “overlay”
[ 6.970000] UBI: MTD device size: 54 MiB
[ 6.970000] UBI: number of good PEBs: 432
[ 6.980000] UBI: number of bad PEBs: 0
[ 6.980000] UBI: max. allowed volumes: 128
[ 6.990000] UBI: wear-leveling threshold: 4096
[ 6.990000] UBI: number of internal volumes: 1
[ 7.000000] UBI: number of user volumes: 1
[ 7.000000] UBI: available PEBs: 0
[ 7.000000] UBI: total number of reserved PEBs: 432
[ 7.010000] UBI: number of PEBs reserved for bad PEB handling: 8
[ 7.020000] UBI: max/mean erase counter: 1/0
[ 7.020000] UBI: image sequence number: 35629411
[ 7.030000] UBI: background thread “ubi_bgt1d” started, PID 149
UBI device number 1, total 432 LEBs (54853632 bytes, 52.3 MiB), available 0 LEB)
[ 7.080000] UBIFS: recovery needed
[ 7.130000] UBIFS: recovery completed
[ 7.130000] UBIFS: mounted UBI device 1, volume 0, name “data”
[ 7.140000] UBIFS: file system size: 52187136 bytes (50964 KiB, 49 MiB, 41)
[ 7.140000] UBIFS: journal size: 2666496 bytes (2604 KiB, 2 MiB, 21 LE)
[ 7.150000] UBIFS: media format: w4/r0 (latest is w4/r0)
[ 7.160000] UBIFS: default compressor: lzo
[ 7.160000] UBIFS: reserved for root: 2464926 bytes (2407 KiB)
/lib/preinit.sh: line 1: jffs2_not_mounted: not found
– init –
[ 7.760000] ra2880stop()…Done
[ 7.780000] Free TX/RX Ring Memory!
init started: BusyBox v1.19.4 (2016-03-16 14:06:55 CST)

Please press Enter to activate this console. rcS S boot: INFO: rc script run ti.
[ 8.800000] tntfs: module license ‘Commercial. For support email ntfs-suppor.
[ 8.810000] Disabling lock debugging due to kernel taint
[ 8.850000] Tuxera NTFS driver 3015.1.29 [Flags: R/W MODULE].
[ 8.950000] Tuxera FAT 12/16/32 driver version 3014.1.24 [Flags: R/W MODULE].
[ 9.010000] tun: Universal TUN/TAP device driver, 1.6
[ 9.020000] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[ 9.040000] Mirror/redirect action on
[ 9.300000] GRE over IPv4 tunneling driver
[ 9.530000] ipt: xt_cgroup_MARK installed ok.
[ 9.600000] ip_set: protocol 6
[ 9.880000] sstack_init
[ 11.170000] [ 11.180000] [ 12.720000] [ 12.740000] CSRBaseAddress =0xc1100000, csr_addr=0xc1100000!
[ 12.750000] MAC_CSR0=1986146304, RtmpChipOpsHook
[ 12.760000] dev idx = 1!
[ 12.760000] get_dev_config_idx pAd->MACVersion = 76623000, pAd->ChipID4
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: INFO: loading exist /etc/config/ne.
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: #### Loopback configuration
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: config interface loopback
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ifname lo
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option proto static
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ipaddr 127.0.0.1
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option netmask 255.0.0.0
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: #### LAN configuration
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: config interface lan
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ifname eth0.1
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option type bridge
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option proto static
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ipaddr 192.168.31.1
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option netmask 255.255.255.0
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: #### WAN configuration
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: config interface wan
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ifname eth0.2
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option proto dhcp
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: ### IFB interface for MiQoS
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: config interface ifb
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option ifname ifb0
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: #### READY configuration
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: config interface ready
Wed Mar 16 22:27:44 CST 2016 netconfig[405]: option proto static
Wed Mar 16 22:27:45 CST 2016 netconfig[405]: option ipaddr 169.254.29.1
Wed Mar 16 22:27:45 CST 2016 netconfig[405]: option netmask 255.255.255.0
[ 15.230000] Raeth v3.0 (Tasklet,SkbRecycle)
[ 15.230000]
[ 15.230000] phy_tx_ring = 0x05e6f000, tx_ring = 0xa5e6f000
[ 15.230000]
[ 15.230000] phy_rx_ring0 = 0x05e5d000, rx_ring0 = 0xa5e5d000
[ 15.230000] SMACCR1 — : 0x0000f0b4
[ 15.230000] SMACCR0 — : 0x2985a41d
[ 15.250000] CDMA_CSG_CFG = 81000000
[ 15.260000] GDMA1_FWD_CFG = 20710000
[ 15.280000] device eth0.1 entered promiscuous mode
[ 15.290000] device eth0 entered promiscuous mode
[ 15.310000] br-lan: port 1(eth0.1) entering learning state
[ 15.310000] br-lan: port 1(eth0.1) entering learning state
[ 16.020000] MAC_CSR0=1986146304, rtmp_asic_top_init
[ 16.150000] Set_Bsd_Proc 7114 Bsd 0
[ 17.310000] br-lan: port 1(eth0.1) entering forwarding state
[ 19.370000] <==== rt28xx_init, Status=0
[ 21.640000] device wl0 entered promiscuous mode
[ 21.640000] br-lan: port 2(wl0) entering learning state
[ 21.650000] br-lan: port 2(wl0) entering learning state
[ 22.250000] Set_Bsd_Proc 6786 Bsd 0
[ 23.650000] br-lan: port 2(wl0) entering forwarding state

For some reasons, I could not access the command line, as Rx did not seem to work. Not exactly sure why yet.

As mentioned in the introduction, GearBest sent the review sample, and you could purchase the router for $34.99 shipped from their website. The router is also sold for less than $40 on Aliexpress, GeekBuying, and probably other e-retailers.

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

Mini Review of NextDrive Plug for Private Cloud Storage and Home Security

April 19th, 2016 5 comments

NextDrive Plug is an ARM based plug computer that’s used to store your photos or music, and/or as a security system using a webcam combined with Pixi motion sensor. They had a successful crowdfunding campaign, and now that they’ve sent rewards to backers, I’ve also received NextDrive Plug and Pixi for evaluation.

Click to Enlarge

Click to Enlarge

The courier was not particularly gentle with the packages, but the devices themselves were not damaged.

Click to Enlarge

Click to Enlarge

NextDrive Plus package included the box, a US plug, and a user’s manual in English.

Click to Enlarge

Click to Enlarge

Pixi comes with two 3M stickers, and a user’s manual. There’s also a plastic film to avoid depleting the battery, that you’ll need to remove before using the sensor.

NextDrive_PlugThe interfaces on the plug are minimal with a USB port for a USB mass storage device (HDD, flash drive…) and/or a UVC webcam, and the socket for the power plug adapter on the back.NextDrive_Plug_PowerYou can then plug the adapter, mine was a US plug in that socket.

NextDrive_Plug_Power_US Now add a USB hard drive or stick, or a webcam, and connect it to the mains.

NextDrive_Plug_USB_HDD

The plug is managed with a smartphone, and you’ll need to install NextDrive Connect app for Android or iOS.

Click to Enlarge

Click to Enlarge

The first time you’ll need to add the Plug via Bluetooth LE. Then I’ve connected Pixi to my door, and added the Pixi to the app, right after a successful OTA firmware update.

NextDrive_Pixi_Door

Click to Enlarge

Click to Enlarge

Then I tried Pixi motion sensor to see if I got notifications, and it worked well each time I would open or close the door. I also tried with my neighbor WiFi to make sure notifications could go beyond the local network, and no problem here. I connected a white brand UVC camera, but it was not recognized so I could not record videos triggered by the motion sensor. The list of known to work webcams is available here.

Click to Enlarge

Click to Enlarge

I connected the hard drive back, and configured Photo backup. This works exactly like Dropbox photo backup, except it’s on your own private server. You can also navigate the drive where my NTFS and EXT-4 partitions recognized (but not exFAT), and start to play music on your phone with files stored in your NextDrive Plug.

Since there’s a SAMBA server running on the plug, you can also access or add files from your computer using admin and the password used during setup.

PhotoBackup directory accessed using SAMBA

PhotoBackup directory accessed using SAMBA

The admin can also give access to other users using a “direct link password” which works with smartphones only.

My quick try of NextDrive Plug went rather well, with the exception that my webcam was not recognized.

NextDrive Plug is sold on Amazon for $99, but I can’t find Pixi motion sensor for sale just yet. You can find the user’s manual, and other information on NextDrive.io website.

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

Doogee Smart Cube P1 Android Projector Unboxing and Quick Try

April 18th, 2016 4 comments

Doogee Smart Cube P1 is an Android 4.4 projector that looks somewhat like a Rubik’s cube, powered by Amlogic S805 processor and featuring Texas Instruments DLP solution. GearBest sent me a sample for review, and today, I’ll start by checking the device itself, before writing a review in a few days.

Doogee_SmartCube_P1_PackageThe mini projector only ships with a 5V/2A power supply / charger, and its USB cable. So your smartphone will have to be the remote control, unless you connect an RF dongle for your air mouse or wireless keyboard. There’s also no user’s manual either. Not that I normally read them, but a description of the features would have still been nice.

Click to Enlarge

Click to Enlarge

Anyway, it’s easy enough to find out. The projector is on one side, the blue and yellow side features with a USB port and reset pinhole, and the red and white side, the micro USB port for charging, the power button, and the focus wheel button.

Click to Enlarge

Click to Enlarge

I did an attempt to open it but only went far enough to see the fan and heatsink.

Click to Enlarge

Click to Enlarge

I also could not resist to try it out, before completing this post. I started by adding my air mouse RF dongle, connecting the power, and pressing the power button a few seconds to turn it on. I quickly realized the power cable was quite short, but that the device also had a built-in battery, so it’s much more convenient to place anywhere you want. Focus is also quite easy to get, and I was pleased with the brightness.

Click to Enlarge

Click to Enlarge

I started in a room placing the projector on a cabinet, before moving outdoor to get a bigger screen.

Click to Enlarge

Click to Enlarge

The next picture is taken in the same location, but with the flash to show the projector, and the screen is still visible.

Click to Enlarge

Click to Enlarge

I also quickly tried further to make a 3 to 4 meters display and it was not too bad either.

I’d like to thank GearBest for providing the projector, and if you are interested in such device, you could consider purchasing from them for $168.99 including shipping ($4 cheaper with GBP1 coupon). It’s not sold on many sites, and the only other option I could find was Aliexpress.

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

Xiaomi Mi Box 3 Enhanced Review

April 18th, 2016 4 comments

We’ve already taken Xiaomi Mi Box 3 Enhanced TV box apart in the unboxing and teardown post, and after changing the language to English, seen the performance is excellent thanks Mediatek MT8693 hexa-core processor, so I’ve done further experiments and tests with the device, and will report my findings in this review.

Settings and Power Handling and Consumption

Mibox 3 Enhanced boots reasonably fast I can get to the user interface within 30 seconds. We’ve already the main GITV user interface in previous posts, but I had not gone through the settings yet.

Mi_Box_3_Enhanced_SettingsThere are eight main sections:

  • Display
    • Resolution settings – 3840×2160 @ 60/50/SMPTE24/30/24 Hz, 1080p @ 60/50 Hz, 720p @ 60/50 Hz,
    • Scale and position – For overscan adjustment
  • Sound
    • Button sounds – On/Off
    • Sony/Philips Digital Interface Format – PCM/Raw data (actually used for HDMI audio pass-through)
  • System_update – MIUI TV firmware OTA update
  • Device & Bluetooth – Bluetooh device management with list of discovered or/and paired devices
  • Connectivity – WiFi , PPPoE, Connectivity and speed testing, and “Captive portable check”
  • General settings
    • Parental control – On/off
    • Keyboard – Baidu input or Mi Input (Better go to Android settings using Shafa market to set yhat to English AOSP)
    • Device name
    • Location (only for China)
    • CEC control (On/off)
    • Factory reset
    • Screensaver – Off, 2 to 12 minutes timers, gallery…
    • Go to sleep after – 15, 30, 60, 90, 120 minutes or never
    • Storage (Chinese language about U-disk) – On or off
  • Account & security – Mi account, Unknown sources (apk installation), Android log, and some other settings in Chinese
  • About – Various info about the device such as WiFi and Bluetooth addresses, IP address, Model, legal info and so on.

OTA ipdate is working fine, as I updated mine to MIUI TV 1.4.6 before changing the language, and I could also set video output up to 3840×2160 @ 60 Hz using LG 42UB820T UHD television.

About_MiBOX3_ProWe can also find a bit more information by going to the Android settings through Shafa market, which you need to install to change the language to English. Fir the Home section usually allows you to install another launcher and switch to it by default, but Xiaomi must have changed how this works as even after installing SPMC (launcher version), and Ugoos TV launcher, I could not switch to them, although there were listed in the Home menu.

One good thing is that there’s a single (unified) storage partition for both apps and data with 5.37 GB total space, and at the end of the review I still had 2.03 GB available after install all apps.

The “About phone” section shows MiBOX3_PRO is running Android 5.1 on top of Linux 3.10.61+. The firmware is not rooted, but I managed to root it using 360 root apk. You just need to install the app, and run it, and it will root your device. It’s quite possible it’s also trying to install some junk at the same time, but you can always remove it later.

Google Play Store is not installed either, since the product is destined for mainland China, and they don’t really use it there. I tried various instructions to install it, but all failed, and for some reasons I ended up losing the ability to take screenshots via the USB keyboard, screencap -p command line produces garbage, and other screenshot apps failed to run. I could still install Amazon Underground, and then install some apps from there, as well as sideloading some apks for testing. Not ideal, but it works.

The included Bluetooth remote works well, and has good range as I tested up to 10 meters without issues. However, I  used an air mouse for most of the time, since it’s necessary for many apps.

The remote control can be used to reboot or put the device into standby., but there’s no power off options. Power consumption is a bit on the high side:

  • Standby / sleep – 3.2  Watts
  • Idle – 4.0 to 4.2 Watts
  • Standby/sleep + USB hard drive – 6.2 to 6.4 Watts
  • Idle + USB hard drive – 7.3 to 8.0 Watts

The number are quite high, and I waited a few minutes before noting the measurements to make sure there wasn’t any background tasks affecting the results.

The heatsink and fan do their job well, and the temperature was always around 43 C during testing on top and bottom of the case as measured with an IR thermometer. I could seldom hear the fan, and I only got noisy during reboot, when it starts spinning really fan for a few seconds.

The firmware and system is indeed fast, and reliable, but you have to do a lot of hacking around to make it more user-friendly outside of China.

Kodi 16 (SPMC 16.1.2) on Mi Box 3 Enhanced

Mi Box 3 Enhanced, and previous Mi Box devices, are mostly designed to stream series and movies to Chinese users, and I’ve quickly tried that part. It works for Chinese content, but some movies and all foreign content appears to be blocked due to location restrictions, and some content requires payment.  I watched some free content, and I was surprised about the lack of buffering and good quality (HD). If you have troubles with buffering, you can also easily select SD resolution with lower bandwidth requirements. But again this is basically only for Chinese (Mandarin) speakers.

So in order to test video playback, I installed SPMC 16.2.1 (launcher) apk. I was not expecting much since I did not think Mediatek media processors were officially supported by Kodi, but we’ll see below the results are not fantastic, but not too bad either, maybe because of some earlier work with Amazon Fire TV 2015 Box based on Mediatek MT8173 processor.

I played the videos over a SAMBA share using an 802.11ac WiFi connection, since the box hasn’t got any Ethernet port. In case of issues related to buffering, I repeated the test using an USB hard drive (HDD).

1080p Linaro media samples and Elecard H.265 sample:

  • H.264 codec / MP4 container (Big Buck Bunny) – 1080p – OK
  • MPEG2 codec / MPG container – 1080p – OK
  • MPEG4 codec, AVI container 1080p – OK
  • VC1 codec (WMV) – 1080p – OK
  • Real Media (RMVB), 720p / 5Mbps – OK (Software decode)
  • WebM / VP8 1080p – OK
  • H.265 codec / MPEG TS container (1080p) – OK

Automatic frame rate switching does not work, even when enabled in Kodi.

Next some video with various bitrates:

  • ED_HD.avi (MPEG-4, 10 Mbps) – OK (software decode)
  • 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) – Not perfectly smooth
  • Jellyfish-120-Mbps.mkv (120 Mbps video without audio) – Net: Slow motion, HDD: OK

Then I tested multi-channel audio format using PCM or Raw output with Onkyo TX-NR636 A/V receiver. The videos have quite a high bitrate, so I had to switch to HDD for several samples to avoid slow motion playback or/and buffering.

Audio Codec used in Video PCM Output HDMI Pass-through
AC3 / Dolby Digital 5.1 Audio OK, but video with many green and read horizontal lines Audio OK, but video with many green and read horizontal lines
E-AC-3 / Dolby Digital+ 5.1 OK OK
Dolby Digital+ 7.1 OK OK
TrueHD 5.1 OK No audio (PCM 2.0)
TrueHD 7.1 OK No audio (PCM 2.0)
Dolby Atmos 7.1 OK No audio (PCM 2.0)
DTS HD Master OK DTS 5.1
DTS HD High Resolution OK DTS 5.1
DTS:X OK DTS 5.1

So not the ideal device if you own a 7.2 A/V receiver. If you own a 5.1 A/V receiver, you can still transcode TrueHD audio to Dolby D 5.1 with the corresponding options in SPMC.

4K video was a mixed bag:

  • HD.Club-4K-Chimei-inn-60mbps.mp4 – Not smooth at all after a while
  • sintel-2010-4k.mkv – Net: Not smooth for the first 20 seconds or so, and after OK. HDD: OK
  • Beauty_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) –  OK
  • Bosphorus_3840x2160_120fps_420_8bit_HEVC_MP4.mp4 (H.265) – OK
  • Jockey_3840x2160_120fps_420_8bit_HEVC_TS.ts (H.265) – OK
  • MHD_2013_2160p_ShowReel_R_9000f_24fps_RMN_QP23_10b.mkv (10-bit HEVC) – OK
  • phfx_4KHD_VP9TestFootage.webm (VP9) – 4 to 5 fps
  • BT.2020.20140602.ts (Rec.2020 compliant video; 36 Mbps) – Net: Some audio cuts, and dropped frames. HDD: OK
  • big_buck_bunny_4k_H264_30fps.mp4 – OK
  • big_buck_bunny_4k_H264_60fps.mp4 – Not smooth and massive audio delay
  • Fifa_WorldCup2014_Uruguay-Colombia_4K-x265.mp4 (4K, H.265, 60 fps) – OK
  • Samsung_UHD_Dubai_10-bit_HEVC_51.4Mbps.ts (10-bit HEVC / MPEG-4 AAC) – Network: Audio only works for about 2 seconds. HDD: OK
  • Astra-11479_V_22000-Canal+ UHD Demo 42.6 Mbps bitrate.ts (10-bit H.265 from DVB-S2 stream) –  Not smooth, several artifacts.
  • 暗流涌动-4K.mp4 (10-bit H.264; 120 Mbps) – Not smooth, massive artifacts, and audio cuts.
  • Ducks Take Off [2160p a 243 Mbps].mkv (4K H.264 @ 30 fps; 243 Mbps; no audio) – HDD: Slow motion maybe 4 to 5 fps.

Sintel-Bluray.iso  played well, but for some reasons, amat.iso played with some “frame jumps” as a the video would jump back 1 second or so from time to time.

My two hi10p anime video samples, namely [Commie] Steins;Gate – NCED [BD 720p AAC] [10bit] [C706859E].mkv and [1080p][16_REF_L5.1][mp3_2.0]Suzumiya Haruhi no Shoushitsu BD OP.mkv could play flawlessly with audio, smooth video, and subtitles. The trick is that SPMC defaults to software decoding, and Mediatek MT8693 processor is fast enough to handle these.

I played some 3D videos with the caveat that my TV does not support 3D, but my A/V receiver does show a 3D icon when MVC video are played in 3D:

  • bbb_sunflower_1080p_60fps_stereo_abl.mp4 (1080p Over/Under) – Not perfectly smooth
  • bbb_sunflower_2160p_60fps_stereo_abl.mp4 (2160p Over/Under) – Artifacts, and not smooth at all (software decode)
  • Turbo_Film-DreamWorks_trailer_VO_3D.mp4 (1080p SBS) – OK
  • 3D-full-MVC.mkv (Full-frame packed MVC 3D MKV) – 2D mode only (no 3D icon shown on Onkyo receiver), and not smooth at all.
  • ISO-full3D-sample.iso (Full-frame packed MVC 3D ISO) – 2D mode only (no 3D icon shown on Onkyo receiver)

I played a bunch of other videos including DiVX, Xvid, FLV, MKV, H.264, VOB/IFO, MP4, etc.. and they could all play, except for some FLV videos that would just show a black screen with audio.

Mi Box 3 got has respectable 972 points in Antutu Video Tester 3.0.

Mi_Box_3_Enhanced_Antutu_Video_TesterFinally DRM info shows Wideviwe version 1.0 Level 3 is supported with unprotected HDCP.

Mi_Box_3_Enhanced_DRM_Info

WiFi Performance

Since the device does not have an Ethernet port, it’s better to connect to an AC router for optimal performance. I’ve done so and it the usual test transfer a 278 MB over SAMBA using ES File Explorer several times, and WiFi 802.11ac performance is outstanding with 11.2 MB/s on average, clearly above the competition, at least with my setup.

Mi_Box_3_WiFi

Throughput in MB/s (Click to Enlarge)

Miscellaneous Tests

Bluetooth

Since the system is sold with a Bluetooth remote control, Bluetooth connectivity is obviously working. I could transfer pictures from my smartphone to the box, and could pair to Makibes F68 smartwatch in the settings. However, HPlus Watch, the smartwatch app, failed to find the watch. Mi Box 3 could not find my Bluetooth headset either.

Storage

NTFS and exFAT paritions on my USB hard drive could be mounted successfully, but I did have to wait a few minutes to see the exFAT partition in ES File Explorer. the exFAT partition was also read-only due to permission issues.

File System Read Write
NTFS OK OK
EXT-4 Not Mounted Not mounted
exFAT OK permission issues
BTRFS Not mounted Not mounted
FAT32 OK OK

So I only ran A1 SD bench to check the throughput for NTFS partition (/storage/usbotg/usbotg-sda1), and the results were decent for a USB 2.0 port with 32.28 MB/s and 21.79 MB/s read and write speeds.

Read and Write Speeds in MB/s

Read and Write Speeds in MB/s

The internal storage is very fast with 90.42 MB/s read speed and 25.75 MB/s write speed.

Read and Write Speeds in MB/s

Read and Write Speeds in MB/s

Gaming

As we’ve seen with Mi Box 3 Enhanced Benchmarks, and contrary to other device I’ve tested, 3D graphics performance is impacted by video output, despite the frame buffer resolution being always set to 1920×1080, probably because of a bug in the firmware. So it’s important to make sure the video output is set to 1920×1080 before playing games in this device, and not 3840×2160 since the resolution is limited to 1920×1080, and 4K video output will impact graphics performance.

So I’ve done all my gamings test at 1920×1080 @ 60 H. I played Candy Crush Saga with an air mouse, and no surprise here, it went all smoothly. Then I switch to Tronsmart Mars G01 wireless gamepad to play both Beach Buggy Racing and Riptide GP2 for about 15 minutes each, and the games were much smoother than on any other Android TV boxes I’ve recently reviewed, and at least for Riptide GP2 better looking, probably because of some extra GPU capabilities.

Conclusion

Xiaomi Mi Box 3 Enhanced has an amazing performance with regards to WiFi, internal storage, CPU and GPU performance thanks to Mediatek MT8693 Cortex A72 processor, and other selected components. I could feel performance is clearly above the rest of Android TV boxes I tested, and for $80, you truly get an amazing performance per dollar. The main downside however, is that it has been design for the Chinese market, so you have some modding to do to get a more pleasurable experience, some of which I did not manage such as installing the Google Play Store and changing the default Launcher. Video playback with Kodi is not too bad, but not quite matching the performance of MINIX NEO U1 for example, and audio pass-through is limited to 5.1 channels. So it may not be the best as a media player, but it could be very good as an Android mini PC once/if a community firmware is released.

PROS

  • Stable and ultra fast firmware
  • Likely the fastest Android TV box that you can buy for less than $80 thanks to Mediatek MT8693 2x Cortex A72, 4x Cortex A53 processor. See benchmarks for details.
  • Very good internal storage performance leading to fast app loading time, and zero slowdowns
  • Fastest 802.11ac WiFi I’ve ever seen
  • Very 3D graphics performance with high frame rate, and better looking games (with 1080p video output)
  • Video Output – HDMI 2.0 up to 2160p 60Hz; 24/25/30/50/60 Hz refresh rates supported
  • Kodi is working decently,  5.1 channel pass-through support, and high Antutu Video Tester score (972 points)
  • Widewine Level 3 DRM supported
  • OTA firmware working (but it might not be something you want here).

CONS

  • Chinese user interface only, but you can change the language if needed.
  • No Google Play Store, and installing it on the device is non trivial.
  • Not obvious way to change the Launcher
  • Lack of Ethernet port
  • No power off mode (only standby/sleep), and relatively high sleep/standby power consumption (4 watts to 6 watts)
  • Some issues with Bluetooth to connect to my smartwatch and Bluetooth headset
  • HD audio codec (DTS HD, Dolby TrueHD) are not supported for HDMI pass-through
  • 3D MV videos are not supported

If you want to try to install the Play Store or hack the firmware in other ways, you could also try checking this out on Xiaomi Mi Box forums in English, but you’ll obviously get more support on some Chinese forums.

I’d like to thanks GearBest for giving me the opportunity to review Xiaomi Mi Box 3 Enhanced, and if you are interested, you could purchase it from their store for $79.99 including shipping. It’s also available for about $85 on GeekBuying, and Aliexpress.

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