My notes on use of the MK808B Plus (MK808B+) Android-based TV stick in our house for home theater and related uses.
I'm a movie fan (hesitate to use the term "buff"). I like to watch movies and TV on the big screen as well as in bed, or in one of the two guest room setups (one doubles as an office), and certainly the family likes having movie watching ability in the kids' rooms as well. Over the years, I've tried a number of solutions for a whole house setup, but now it's actually close to fully working.
Previous solutions attempts include NextPVR (previously GB-PVR), Plex Media Server, Sony Streaming device, WD LiveTV, Popcorn Hour. Never fully met my needs and expectations, especially as it related to the Family (who has to use this stuff, too). I kept re-addressing about every year or so, and finally encounted XBMC again (reviewed and discarded years prior) as my new path for a distributed, whole house media center. It's worth it, and relatively easy, and infinitely rewarding. Highly recommended, and as good as, if not better than, the ATT commercials.
Welcome to my notes - used to keep my setups rocking along (and so I don't have to keep it all in my head). Use as you desire. No guarantees or warranties expressed. I'll also make page updates and never note the changes made.
Current Setup
- Movies Archive (DVD, Blu-Rays, other videos)
- NAS: QNAP TS-220 with 8TB storage running MySQL (backed up with another NAS)
- Multi-station viewing home with Home Theater Projector setup, 3 TVs, plus PCs, tablets, etc.
- Music Archive (still on MediaMonkey), mostly lossless
- Photos (amateur Photographer), NEF (Nikon), JPG, other misc.
- Live TV: HDHomeRun Prime Cablecard QAM/cable 3-channel tuner
Quick Background
After playing with MK908 sticks (Rockchip 3188) in 2014 but having problems with streaming my HDHomeRun (MPEG2-TS), in May 2015, from discussion on FreakTab, I first purchased 2 MK808B Plus android TV sticks (AMLogic S805 32-bit ARM Processor) from GeekBuying, and later 2 from GearBest (a touch cheaper). While I've had to return one thing to GeekBuying and that worked out relatively well (1 month roundtrip), both were as quick as expected in shipping to the house.
Apparently I have the MK808B Plus v3 with latest firmware which identifies, upon 2015-06 shipping from GeekBuying as MK808B Plus, Android 4.4.2 (KitKat), kernal 3.10.33 Oman@ubuntu #1 Wed May 13 12:10:04 CST 2015, Build number 111k4. There are also some clones out there that aren't "original," including EC-MK808B, so be careful (different WiFi chip).
WiFi Chips (look in /?? for compatibility info):
- v1 - (unknown)
- v2 - ap6210 wifi
- v3 - ap6212 wifi (requires build 111k4)
Finless ROM
Finless ROM spoofs Nexxus 10 in the build.prop file: Build Finless 1.1 109k4.
I liked the Finless ROM used on the MK908 much better than stock. And the stock ROM installed on this one also could be much better. Finless ROM 1.1 for MK808B Plus is based on firmware 109k4 which does not include drivers for the ap6212 WiFi (and bluetooth) chip included on the v3 board, thus WiFi and Bluetooth will not work, without a fix for ap6212 wifi/bluetooth chip (essentially unzip Cristobal's zip file - a diff between 109k4 and 111k4 in the /etc/bluetooth, /etc/wifi/40181, /lib, /libhw, and /vendor/lib directories). Hardwired USB ethernet does work (with idiosyncracies noted below), which is what I wanted anyways - more dependable and faster, and I'm generally not using WiFi or Bluetooth on these devices, currently. Note, too, that Finless ROM 1.1 doesn't support DHCP on wired Ethernet, so you have to run static IP. The ap6212 drivers were included in the 111k4 update, but the fix above will fix that until Finless does his update magic.
Before flashing Finless ROM, I made sure to have the original firmware stuff (how to flash stock firmware on MK808B Plus). If you've already invested time, you may want to make a Nandroid and/or other backup. I then downloaded Finless ROM 1.1 and tools and followed instructions closely. Yeehaw! Easy enough.
Idiosyncracies
- Locations Services didn't work, presumably since the WiFi isn't working. so Weather Underground app having issues, especially. After searching for a solution, found I just need a location spoofer app. Who knew those existed. I used Fake GPS location, which does allow to run at boot time, and per app specification. Could also look at Fake Location Spoofer (both have free/paid, but first is smaller).
- WiFi Network Required - [Update: There is now a fix for WiFi on AP6212 chip. WiFi doesn't work with Finless ROM 1.1 on these v3 (with ap6212 chip) devices, and that's a problem for logging into the Comedy Central app with my TV Provider which apparently requires a WiFi connection (there may be others, just not ones I'm using). I found Fake WiFi Connection, a module requiring Xposed framework. To install, first install the framework (stable recommended) (and I did a full ROM Manager backup prior to the installation) and reboot, then download/install Fake Wifi, open Xposed and check it and then reboot, then run the app and check the boxes for the apps that need it (Comedy Central app). Boom. Roasted. Note that other background apps will require a reboot.
Nova Launcher
- Custom Icons (for launcher page nav): /Android/data/icons
- Backups: /data/com.teslacoilsw.launcher/backup
- Themes and Icons: DCikonZ (not a huge fan of themes, but....)
- Wallpaper: I liked the Spectrum live wallpaper music visualization. I'm not sure where it came from, but after researching on the web, I copied the following files from /system/app and then rebooted and it worked: LiveWallpapers.apk, NoiseField.apk, VisualizationWallpapers.apk; I did find some other interesting music visualization wallpapers, but liked this one still for my needs. [According to one post, perhaps they belong in /system/priv-app folder]
Settings
(changes from Default)
- Location: Mode: Device only
- System
- Ethernet - to set static IP address.
- Gain Developer access (1 time process): About Media Box: click on Android Version about 5+ times (you will get a new screen with a big K that rotates), then click on Build Number about 7 times, you'll see a countdown; now you can access developer options. I see no method to reverse this process (not that I needed it).
- Developer Options: USB debugging ON (for ROM Manager backups); Allow mock locations ON
- MBox Settings:
- Display -> Display Position (Adjust as appropriate, 89-100% for me, depending on the monitor, but turn off any overscan on the TV)
Problematic Applications
Make sure to turn off Auto-Updates in the Google Play store because some apps aren't working with Finless ROM (haven't yet checked against standard build prop).
(latest version working | non-working versions I've tried but fail to work correctly). I'm reminded that this device spoofs another (Nexxus 10)
- Comedy Central (1.?? | 1.0.9-3.0.3) - until 3.x update (late 2016) it was working fine, but having issues related to network access; unsure why yet
- Crackle (4.2.1.6 | 4.3.1.0-4.4.5.0) - even 4.2.1.6 isn't working; I think I need to explore further some various idiosyncracies of the device.
- Weather Underground: (5.1.2 | 5.2.x-5.6) - except for the expandable map widgets, works great (black non-transparent overlays on this device) (5.0.2-5.1.2: overlay ok, but detail lacking; )
- Netflix: will no longer update (because of rooting), but can still sideload - so far
Kodi Media Center
Version as of this Wriiting: 16.1 Jarvis (Although I may need to go to SPMC as they are dumping AMLogic support related to video sizing - sigh). Note that 17.X Krypton requires Android 5.X (Lollipop) and since latest Exodus update is using more https links, and that requires 17.X Krypton, it's getting time for needing a new streaming box.
Configuration info below; however, I just install, run Kodi, then copy a backup of the .kodi configuration folder and then it's the same everywhere. I do have to make a few modifications for the Home Theater setup related to audio: passthrough may be best.
Additional Software:
- Media Companion (for movie library management)
File Changes (paths from Android/data/org.xbmc.kodi/files/.kodi) (worth transferring upon new rebuilds):
- ./userdata
- advancedsettings
- MySQL database setup
- path substitutions: Thumbnails (note: shared folder ActorThumbs is setup using MediaCompanion, which sets the paths in the .nfo file)
- Video Cache - Default is 20MB (requires 3X in RAM),
- favorites ??? guisettings??? (unlikelyneeded; rebuilt)
- passwords - to access network shares (media as well as Thumbs)
- sources - repository and media sources
- Database/ [Kodi Info] (apparently sqlite format - SQLite/XML Editor, but had errors so may need to install SQLite first based on this post, or perhaps use DB Browser for SQLite). Numbers are based on the version.
- onechannelcache.db (for 1channel Addon)
- keymaps/Keyboard.xml (kurrently only K for next audio language)
- playlists/video/New.xsp (my "new" Smart Playlist for new-to-me movies)
Settings (Changes from Default):
- Appearance
- Skins: Aeon MQ5 Modded for Kodi 15 Isengard (MQ6 isn't quite ready, apparently): Install: download repository file, install repository (System -> Settings -> Add-ons -> Install from Zip File -> [locate zip]), then Check for Updates (in View Options sidebar), then Install from repository -> AEON MQ5... -> Skins -> Aeon MQ5 (and -> Sounds -> Aeon MQ5).
- Requires Skin Info Service script (load using Addon Installer: Install Add-on from Zip -> Fusion Installer -> Start Here -> Addon Installer; next Program Add-ons, Run Addon Installer (on first run, will build the database; be patient, seems to do this more than once); next run Addon Installer -> Search -> "skin info" -> Enter -> Enter (to install)
- ExtrasPack (themes, icons, sounds): download, unzip just the parts you need/want to ./userdata/addon_data/skin.aeonmq5.extrapack (and don't update)
- Skin Widgets: as noted, to work, install the modified/updated addon.xml file for widgets (one line change) to ./addons/service.skin.widgets.
- Skins: MQ6 is modded for Jarvis. Aeon MQ requires the Modded MQ6 for Jarvis. Be VERY patient when installing. It doesn't give any clues but after about 5-6 minutes it finally finishes and ask if you'd like to switch to that skin. Make sure to follow their instructions. It appears one must rebuild skin customizations from scratch.Download the Aeon MQ 6 extrapack manually (stored in userdata/addon_data/skin.aeonmq6.extrapack/). (theme includes: addons, aplaylist, autumn, concerts, disc, extras, favourites, games, livetv, movies, music, mymenu, pictures, programs, radio, red_metal, settings, shutdown, spring, summer, tvshows, vnodes, vplaylist, winter - and can have images for settings too)
- Skin Settings: GUI Sounds: Must change to MQ6 (to delete things)
- Deleted stuff in Add-Ons to clean out unused stuff and old theme.
- Extracted ExtraPack images into ./userdate/addon_data
- Menu Changes - i noticed anomalies - mainly submenus showing and the menu actually working - with the menu changes until I closed and re-opened Kodi.
- Skin: Show RSS news feeds: Off
- File Lists:
- Show "Add Source" Buttons: Off [removes the Add Source/Get More...]
- Show Parent (..) Folders: Off [This prevents users from seeing the "unknown" in movie lists
- Video
- Library: Group movies in sets: On
- Subtitles: Preferred subtitle language: User interface language
- System
- Input Devices: DISABLE mouse/touch screen support (it's been sketchy on my HTdroid devices)
- Apps
- HDHomeRun Live TV - Install - Connects to my PRIME (HDHR3-CC)
- Skin Settings (from default):
- Main Menu
- Customize (you have to say the language is good - as set in International)
- Disble (unshow): Radio, Games, Programs, Images, Weather, Extras)
- Views (Note, so views remember, in Movies enable these in use Views: Wall Poster, Wall, Showcase):
- New: Showcase
- Movies: Wall; Collection/Change View: Informations Bar ON;
- Menu Settings
- Sources (also via File Manager):
- Movies
- New (custom Playlist)
- TV
- Concerts
- Add-ons: Configure to NOT Auto Update (but periodically update them and push out with overall updates)
- Addons Installed: Kodi Info | TVAddons Community Endorsed
- Repositories
- Kodi Brasil Forum (SkinInfo Script)
- Lambda Add-on
- TVAddOns Fusion Installer (Source: http://fusion.tvaddons.ag/)
- TKNorris (
1Channel, Stream All the Sources)
- Program
- Addon Installer (from Fusion Installer)
- Video
- Addons Previous
- Video: PBS, Ted Talks, USTV VoD, World News Live, YouTube
- Still Not Found: Comedy Channel
- Changes for Kodi 16 (Jarvis) Update
- Database changes for Videos, Movies (and others not used)
Odd Notes Not put to use:
- Perhaps the logitech game pads work: The dual action works fine but the Rumblepad 2 doesn't get recognized (R2 has vibration feedback). Gamepads work on Cyanogen Mod 11 (or 12). Maybe. or not.
- static ip settings may be lost on reboot.
Backup/Restore/Updates
I backup using multiple methods/for multiple reasons:
- Nandroid (full system): using recovery (TWRP)
- Titanium Backup - all apps
- Kodi - just the data directory
And I update Kodi more than I update the overall system/apps. I usually do a Nandroid before doing a major update JIC.
Backup
Titanium Backup
Install and backup to external SD card. I had to go into the menu and have it re-find the /TitaniumBackup directory that did exist. Odd, but moving on....
ROM Backups
- Security: ensure the LAN QUIMBY icon in ESExplorer doesn't have password on it
- TWRP System Backups ([/data/media/0|sdcard]/TWRP/BACKUPS/x8_h/backupName)
Backups
Kodi/NovaSettings
- Data Backups:
- Backup Kodi directory (.kodi in ./Android/data/org.xbmc.kodi/files) (there is also a file in Android/obb/org.xbmc.kodi, but that seems to be recreated after a restore) )
- Backup NovaSettings (sdcard/data/com.teslacoilsw.launcher/backup) - widgets may require touching after restore
Restore
New (Install Finless/TWRP Recovery):
- Per Finless instructions, copy the 3 Finless files onto MicroSD card; unpower; hold reset button, power, wait for GoogleTV screen, release; wait wait wait, it auto reboots into the new rom
Existing:
- ROM
- Reboot into Recovery Mode [Note: first remove the SDCard - or the Finless install files - or it will just restore Finless ROM repeatedly, I think]
- Restore: choose recovery from external SD card (may need to mount) [Note: For TWRP to see the backups on the external card, one must use the same path with device name, so for this one, it's /TWRP/BACKUPS/x8_h/backupName.]
- Wipe Dalvik/Cache (but don't do factory reset)
- Reboot
- Make other changes as listed/appropriate (or make them again after backup and then restore with (some of) these changes)
- Settings:
- Network Settings:
- Ethernet: set static IP Android Settings (or use DHCP Reservations)
(.20X/MK808BPlus-NAME, where .201/BedMstr, .202/Bed2, .203/Bed3, .204/Office, .205/Theater); change device name using DNS Hostname Changer App.
- MBox:
- Display: may need to change Display Position for monitor/screen (also set specifically to HDMI 1080p-60);
- Advanced: (Digital Audio auto-detect off; output HDMI passthru)
- Kodi
- Open Kodi; let it download OBB and do it's first run; close Kodi
- (Maybe not necessary) Restore kodi data directory/backup (after a 1st run, of course);
- Audio Settings for home theater setup)
- Settings Changes
- Settings -> Add-Ons -> Configure -> Auto-Updates: Off
- Freeze other interface changes?
- Way to freeze Nova Settings?
- ES File Explorer
- Remove/Edit LAN privileged access
Updates
Firmware, Google Apps, Applications
Firmware: There hasn't been another Finless ROM update in a long time. Not expecting it, I'd guess. There was at least another. And one could go try OpenElec or other linux distros.
GApps
There are always Google Apps needing an update that don't go through the store, and since the device provider isn't providing any new ones.... I have to do this with Open GApps (there are others of course). I use the nano install and then self install any of the others I want/need (Calendar, Chrome, YouTube). I always do a TWRP backup prior to this process. I'm also supposed to wipe Dalvik and Cache.
Miscellaneous Notes
(Stuff I've not thrown away yet for some reason that don't fit elsewhere)
Flash an AOSP-based custom ROM: If the previous solution isn't enough for you, the next step is custom ROMs. Most of the major ROMs - including CyanogenMod, AOKP, and Paranoid Android - are as close to stock Android as you can get.
For PVR capabilities, I also need to setup OpenELEC for MK808B Plus. While HDHomeRun Live TV app will have a PVR plug-in, they want a bit for that, and it's subscription based, so we'll continue paying forever, not my usual method. Someone has hacked the HDHomeRun app to allow DVR capabilities.