, 7 Guests, 4 Bots


Print This Post Print This Post

Make Your TV a Smart TV with Android TV Dongles


  On  a recent trip I was looking at a store and saw this dongle that was billed as make any TV a smart TV.  So I looked at it and it looked like a large flash drive with Android as the operating system.  So it was $47 so I decided to give it a try and purchased it.  Well when I got back to the hotel I plugged it in and it had Android 4.2.2 on it and needed some kind of input device hooked to it so you could control it.  All in all I thought it worked really well and that I would now use this as my traveling media center because most TVs these days have a HDMI port and I could watch moves, listen to music, and even surf the internet if I wanted to.  All in all I liked it.

So I decided to dig into the device hardware and what I could do with it.  The device I bought was an AVOL UAD2842 Android TV dongle.  It uses Nexeon board and it turns out these are used in a lot of these devices.  The full specs are below.

  • CPU:  RockChip 3188-T  1.4Ghz Quad core
  • Mem:  2G DDR3
  • Nand:  8G flash ROM
  • GPU:  Mali Quad core 500Mhz
  • USB:  2 micro USB, 1 Standard USB
  • WiFi:  RTL8723bs or AP6210 with Bluetooth
  • Storage:  MicroSD card slot up to 32G

Now the specs can be different depending on your device but both of mine had these specs.  Just as a note insure you now the exact specs of you device before you start trying new ROMs.  I bought one to use and the one to tinker with.  I opened the one I use and the installed new ROMs on the other one.  Well after several attempts and ROMs that are suppose to work on these specs I took the other one apart and found it had a different WiFi card.  So just make sure you now what hardware you have.

So I found some Android 4.4.2 ROMs for similar devices with the same chip set and started researching.  So to make a long story short chances are you will not find a perfect ROM for your device but you will find tons that may work.  So I downloaded about 12 different ROMs and flashed each one.  I only had one that all the hardware worked but the ROM was really laggy on my device.  So here are some of the tools you will need.

  1. A Rockchip flash tool or one for the chip set you have.
  2. Some ROMS of course.
  3. Know how to boot your system into download or flash mode.
  4. Drivers for the computer you will be flashing from.

First thing you have to do is install the usb drivers so the system can read the device.  Mine is a Rockchip based system so I installed the 64bit ones to go with my 64bit laptop.  Once that was completed the dongle has a reset button that you will use to put the device in the right mode.  You plug in the one end of the USB cable and then hold in the button and plug in the other end of the USB.  Then computer should pick up the device, if not you may need to try the process again or reinstall the drivers.  Once the computer recognizes the device you can open the flash tool.  I use RKFirmwareTool version 1.34.  There are several versions so use which one works for you.  The you select the ROM to flash and select restore.  Once it is done plug it into the TV and see how it works.  Below are some pics of the flash tool.

v1 v2

After I tested about 12 ROMs I started looking a Linux for the device.  I also found several ROMs that were Dedian based.  I was a Linux administrator  for a few years so I now my way around a console and thought it would be cool to see how it worked.  I found some ROMs at Radexa and they have several Android and Linux ROMs.  I used the exact same tools to flash Ubuntu to the Nand on the device.  It worked well but I couldn’t get the graphics to work quit right.  Another great thing is the ability to boot Linux from you SDcard.  So if you don’t want to remove you Android you can just prep a MicroSD card to accomplish the same thing.  I found that the Lubuntu image I got from Radexa worked really well when I ran it from the SDcard.  The WiFi didn’t work but I only played with it for about 30 minutes.  Here are some pics of Linux on the device.




So once I get back home I am going to try and get a USB Ethernet device to work so I can work on fixing the WiFi.  I sure beats going out and downloading stuff and trying to get it uploaded through USB or SDcard.

For the most part though these devices work really well for a media center device.  I installed several of my favorite Android apps and I have been listening to music, watching movies, and even checking the status of my network with this device.  Once I have a wireless keyboard to plug into it I believe it will be worth every penny I paid.  I also have a small remote that works like a Wii mote and has a qwerty keyboard on the other side.  This will make the device family room ready for the kids to use.

So if you want to make your TV do a little more than watch shows you may want to pick one of these devices up.  Below will be some links to firmwares and names of devices that you can look for.  I really like the device and I use it everyday.  If you have any questions feel free to leaves a comment and remember that if you decide to change your firmware you always do it at your own risk.



Print This Post Print This Post

Serviio Media Server is Awesome


In an effort to for a better way to watch my movies I searched a ton of different media servers and ways of sharing.  What i was looking for was pretty basic.  I wanted a media server that could stream to all of my devices on the LAN and through the Internet.  Then I came across Serviio.  This server can do almost anything and runs on Linux, Windows, or Mac.  So I set out to do a little more research on this an learned it did everything I wanted and more.    So lets start out with features and other specs for the server.


  • streams audio, video (SD & HD) and image files in their native format or transcoded in real-time
  • streams content from online sources, like RSS feeds, live audio/video streams, web page content
  • includes a plugin system to support streaming from non-trivial online sources
  • supports most known playlist formats
  • supports subtitles
  • automatically updates the media library when you add/update/remove a media file or a metadata file
  • supports RAW camera images
  • wide array of localized library browsing options
  • supports different editable renderer profiles
  • supports automatic renderer detection and per-IP profile assignment
  • extracts metadata of your media files the way you want it, incl. embedded metadata tags, local metadata files, online metadata sources (in preferred language), XBMC, Swisscenter, MyMovies
  • supports video thumbnails, CD covers, DVD posters, etc.
  • categorizes video files into movie and/or series and marks last viewed episodes of a series
  • available for Windows, Linux and Mac (with the possibility to run the server part on one platform and console on another)

Supported media files

  • Audio: MP3( .mp3), MP2 (.mp2), Windows Media Audio (.wma), AAC (.m4a), OGG (.ogg, .oga), FLAC (.flac), Wawpack (.wv), Musepack (.mpc), Monkey’s Audio (.ape)
  • Video: MPEG-1 (.mpg, .mpeg), MPEG-2 PS (.mpg, .mpeg, vob, mod), MPEG-2 TS (.ts, .m2ts), MPEG-4 (.mp4, m4v, mov), AVI (.avi, .divx), Windows Media Video (.wmv, .asf), Matroska (.mkv), Flash (.flv, .f4v), DVR-MS (.dvr, .dvr-ms), WTV (.wtv), OGG (.ogv, .ogm), 3GP (.3gp, .3g2), RealVideo (.rm, .rmvb)
  • Image: JPEG (.jpg, .jpeg), GIF (.gif), PNG (.png), RAW (.arw, .cr2, .crw, .dng, .raf, .raw,. rw2, .mrw, .nef, .nrw, .pef, .srf, .orf)
  • Playlist: PLS (.pls), M3U (.m3u, .m3u8), ASX (.asx, .wax., .wrx), WPL (.wpl)
  • Subtitles: SubRip (.srt, .txt), SSA/ASS (.ssa, .ass), MicroDVD (.sub, .txt), SAMI (.smi), VTT (.vtt), MOV open text

I think it is worth mentioning that Serviio has a free and Pro edition.  The free edition starts out with Pro for 15 days and then convert to the free on.   The differences are pretty minimal but the Pro edition had the features I needed so I went with Pro.  The good thing is it only cost $25.  The Pro edition had the Android app access and I wanted that so I bought it.  So below are the differences between the two and you can decide.

So once I decided I was going to build a Serviio server for my network I had to decide what platform I was going to put it on.  I was leaning towards Linux but I already had a Windows box that wasn’t doing anything but using electricity so I used it.  Installation is straight forward.  You just download the install package and install it. Below are some of the requirements to run Serviio.  Mine is a dual core with 2 gigs of memory.  It works well but the cpu goes way up during usage so maybe a quad core would be better.  So what every hardware or virtual you decide to use just keep that in mind.

Minimal requirements

  • 512 MB of memory or more
  • 150 MB of disk space (plus additional space for storing the media library), when using transcoding make sure there is at least 1GB free (depending on the original file size)
  • if on Linux, Java 8 must be installed. Windows and OSX come with Java runtime aready included in the installation.

Additional information

  • Linux users need to install the FFmpeg package (incl. libRTMP, libASS, libx264 and libmp3lame) for their OS distributions or, ideally, compile FFmpeg using the source files provided above
  • Linux users need to install the dcraw package if they need RAW image support
  • Only 64-bit OSX machines are supported, with OSX 10.8 minimum

Once installed it has a pretty easy to use interface.  You tell it where you store your media and it scans it.  One of the feature I like is that it downloads the cover pictures for the media along with the rest of the meta data.  I use mine for moves and when you log into the web or android interfaces,  you see all the picture and just click on it to play.  Here are some pics of the server interface.

Serviio3serviio1  Serviio2

Now on thing  I didn’t mention is security.  You set the access password on the server and everyone uses that password to access the server.  Only one person can access the server at a time so one password it all you need.  However it would be better to have accounts and access by multiple people at a time.  This would take a pretty powerful computer to run so maybe one account  is the best choice.

Now the web interface isn’t to shabby either.  It is designed well and easy to use.  You can also create a play list,  I really don’t have a use for this but it is a cool feature.  It does take a little while to fully load, but it is a lot of pictures.  The android interface loads faster.  I never really use the web interface because I wanted the Android interface.  We have a few Android media players and it really works great on these devices.  Here is some pics of the two interfaces.



Another good thing is that Serviio has support for multiple mobile devices as well.  The have apps for Android and Windows phone.  There are also several different apps that you can choose from.  They are third party and not directly supported by the group that makes Serviio.  Anyhow I use this all the time.  I really enjoy it and it works great.

The following are my dislikes about Serviio.

  • The movie metadata isn’t always correct.  Not Serviios fault but can be annoying.
  • Have to buy pro to get mobile features.  But they got to make their money somehow.

That’s it I really enjoy this program and use it all the time.  One thing to note is that to use the program outside of the LAN you have to open port 23424 on your router.  This is the port it talks on inside the network as well.  But $25 isn’t bad for a fully functional media server.  I recommend it to everyone that is looking for a good media server.  I should also note it does music and pictures.  I don’t use them yet but plan to move my music over to this server as well.  Any how check it out.  If you have any questions about performance, resource utilization, or anything else.  Feel free to leave a comment.  I will get back to you as soon as I have an answer for you.  Thanks I how you find this informative.

Print This Post Print This Post

Spacewalk Configuration for Red Hat Packages


A few months ago I build a Spacewalk server to automate patching of Linux machines. Well after a lot of banging my head against the wall I finally got the system work and auto updating. Depending on what you what you are looking for in your Spacewalk server will have an impact on what you really need to do. I was trying to get Red Hat patches to auto download and import into Spacewalk so when it came time to patch they were there and read to go. So here is what I did.

My first mistake was while testing the registering of systems I registered the Spacewalk server to itself. While this does work, to get Red Hat patches you need a system that is registered with Red Hat. So we did a little copy and replace to get the machine back to using the RHN network. Once this was done and it was registered we were ready to get started. We already had Mrepo installed so we could build a repos for the packages. Spacewalk doesn’t interact with Red Hat directly, if you want that you have to buy Red Hat Satellite. It is the Red Hat version of Spacewalk and come ready to go, unfortunately it was not in the card for me. So back to Mrepo. I used the rpm file I got from RPM Here is the link to the Mrepo files. Click here.  Simple install and it is ready for configuration.

There are a few files you will need to look at.  Then mrepo.conf file is located in etc and has login info for a Red Hat account, which you will need.  The version I installed used /etc/mrepo.conf.d as the place to configure your channels to download from.  The configuration of theses file is pretty straight forward and really doesn’t need my spin.  But you will need one for each channel that you plan to download.  Whether it be from Red Hat, CentOS, or Fedora.  I am working with Red Hat so things are different, if you anted CentOS you don’t need mrepo at all.  You can just download them straight into Spacewalk.  I need the mrepo work around because you have to login to RHN to get these patches.  Here is what the base channel config looks like.


srcdir = /var/mrepo
wwwdir = /var/www/mrepo
confdir = /etc/mrepo.conf.d
arch = i386

mailto = root@localhost
smtp-server = localhost

#rhnlogin = username:password

Channel files in /etc/mrepo.conf.d

name = Distribution example $release ($arch)
release = 2
arch = i386 i586 i686 x86_64
metadata = repomd
os = rsync://$release/$arch/$repo/
updates = rsync://$release/$arch/$repo/

You can customize a lot of these settings for location of files and what all you want to be in the repo.  Anyway if you have not messed with Mrepo here is the basic config.

Next you will need to generate system IDs for each channel that you plan to download.  This is simple and you just run the following command for each architecture.  The following command is just a guide but you will need to know where you want to store the systemid file and you will need it to download from Red Hat.  I stored mine in the /var/satellite directory.  This is the default Spacewalk package storeage point as well.

 gensystemid -u redhatuser -p password –release=5Server –arch=x86_64 /var/satellite/mrepo/5Server-x86_64/


gensystemid -u redhatuser -p password –release=5Workstation –arch=i386 /var/satellite/mrepo/5Workstation-i386/

Now that we have system IDs for each channel we will register with Red Hat for each channel.  Once you register you will need to go into the RHN website and check the permissions for each registration so you can download what you need.  So if you wanted Supplementary or optional packages you would check that box.  You should know that each registration take 1 Red Hat license.

With that out of the way we will set up the mrepo download process.  I had problems with Mrepo throwing an error I decided to run the download command manually.  The command is a log string but it worked great for me.  After it is done you would just run the mrepo generate command to build the repo.  I built the system on RHEL 6 so maybe there are some problems with compatibility, but most likely I needed to install something to fix the problem.  So if mrepo work fine you just run mrepo -ugvvv.  It will update and build you repos.  With my errors I did it this way.

rhnget -v -v -v -v -v –delete –systemid=”/var/satellite/mrepo/5Server-x86_64/systemid” –release=”5Server” –username=”redhatuser” –password=”password” ‘rhns:////rhel-x86_64-server-5’ ‘/var/satellite/mrepo/5Server-x86_64/updates’

 mrepo -gvvv

This will take a while if it is the first time.  It will pull down a few thousand packages.  So I wrote a script that put this command in for each channel I wanted to download and then run the mrepo command at the end.  This gives me all the package and you can check it by going to the mrepo webpage that will be hosted from you Spacewalk server.

With all of the packages downloaded I had to import then into Spacewalk.  This was pretty easy and just required a command that you would of  jumped to if you had CentOS or Fedora.  This command imports and write the packages to the Spacewalk db.  Spacewalk stores the packages in directory after directory so digging through /var/satellite/”channel name”  will be a little on the crazy side.  Anyhow, you need to have your channels configured in Spacewalk for each architecture you are going to have packages for.  So in Spacewalk go to channels and create channel.  You will want to put some thought into how you want to do this because it would require deleting and reimporting everything for any changes you wan to make.  So the import command is the following.

rhnpush -vvv –newest –channel=rhel5_x86_64_local –server=http://localhost/APP –dir=/var/satellite/mrepo/5Server-x86_64/updates 

Let me break this command down a little.  My channels are all OS and arch,  rhel5_x86_64_local.  You will have to have the –server=http://localhost/APP statement in hte command for Spacewalk.  It will fail without it.  Finally the dir is the location you plan to pull the packages from.  So if this was a repo on the internet that you could download from, you would just put the url here.  This will also take a while to run for the first time.  Once this is completed and runs correctly, you will have a channel in Spacewalk with a few thousand packages.  

I also needed to get the Errata information for my Spacewalk server.  For this I used some scripts that I found on the Internet.  It is called  You can go to the Github for the script by clicking HERE.  If you are using Red Hat like I am you will use the file.  When you open it you will have to do a little configuration to set it up for the channels you need.    This give you all the Errata imported into Spacewalk as long as the channels are updated.  If you are missing packages it will not upload that particular Errata.  But it works and I have all the Errata I need.  Here is an example of the config.

/(path to scripts)/ –server localhost –channel rhel-i386-server-5 –os-version 5 –publish –redhat –startfromprevious twoweeks –quiet

There is a ya-errata-import.cfg file that will need some user account information so you can download and upload the Errata.

Now that we have all of the part working I just tied it together in two scripts. I grouped the mrepo stuf together and the Spacewalk stuff together.
This was to help if part of it error-ed out I could troubleshoot and it would not kill the entire process. So here are my two scripts that I put
together. Now the scripts my not be perfect but they work.


###This script will pull down the updates from Red Hat for each OS

### RHEL 5 Svr x86_64 ###
rhnget -v -v -v -v -v –delete –systemid=”/var/satellite/mrepo/5Server-x86_64/systemid” –release=”5Server” –username=”redhatuser” –password=”password” ‘rhns:////rhel-x86_64-server-5’ ‘/var/satellite/mrepo/5Server-x86_64/updates’ || rhnget -v -v -v -v -v –delete  –systemid=”/var/satellite/mrepo/5Server-x86_64/systemid” –release=”5Server” –username=”redhatuser” –password=”password” ‘rhns:////rhel-x86_64-server-5’ ‘/var/satellite/mrepo/5Server-x86_64/updates’
### RHEL 5 Svr i386 ###
rhnget -v -v -v -v -v –delete –systemid=”/var/satellite/mrepo/5Server-i386/systemid” –release=”5Server” –username=”redhatuser” –password=”password”  ‘rhns:////rhel-i386-server-5’ ‘/var/satellite/mrepo/5Server-i386/updates’ || rhnget -v -v -v -v -v –delete –systemid=”/var/satellite/mrepo/5Server-i386/systemid” –release=”5Server” –username=”redhatuser” –password=”password” ‘rhns:////rhel-i386-server-5’ ‘/var/satellite/mrepo/5Server-i386/updates’

### RHEL 6 Svr x86_64 ###
rhnget -v -v -v -v -v –delete –systemid=”/etc/sysconf/rhn/systemid” –release=”6Server” –username=”redhatuser” –password=”password” ‘rhns:////rhel-x86_64- server-6’ ‘/var/satellite/mrepo/rhel6es-x86_64/updates’ || rhnget -v -v -v -v -v –delete –systemid=”/etc/sysconf/rhn/systemid” –release=”6Server” –username=”redhatuser” –password=”password” ‘rhns:////rhel-x86_64-server-6’  ‘/var/satellite/mrepo/rhel6es-x86_64/updates’
### RHEL 6 WS x86_64 ###
rhnget -v -v -v -v -v –delete –systemid=”/var/satellite/mrepo/rhel6ws-x86_64/systemid” –release=”6Workstation” –username=”redhatuser” –password=”password” ‘rhns:////rhel-x86_64-workstation-6’ ‘/var/satellite/mrepo/rhel6ws-x86_64/updates’ || rhnget -v -v -v -v -v –delete –systemid=”/var/satellite/mrepo/rhel6ws-x86_64/systemid” –release=”6Workstation” –username=”redhatuser” –password=”password” ‘rhns:////rhel-x86_64-workstation-6’ ‘/var/satellite/mrepo/rhel6ws-x86_64/updates’

mrepo -gv > /var/log/mrepo.log

I added the fail over with the second part of the command. If it is pulling down a lot of packages it would time out about half way through.
This seems to take care of it. Then once it downloads all of the packages it will build the repos for each channel. I have it log to a file
and have the exit code for each piece of the script. Then I can check the log and see if it ran ok or error-ed out.

The next part it the Spacewalk portion. This uploads to all of the packages from mrepo to Spacewalk channels. Then it imports the Errata.
You can set how far back you want it to go for the Errata download. I have it do a week after I imported the past year. Here is the Spacewalk
portion of the update scripts.


### updates packages from mrepo to spacewalk

###### RHEL 5 i386 ########
rhnpush -vvv  –newest –username=spacewalkuser –password=”users password” –channel=rhel5_i386_local –server=http://localhost/APP –dir=/var/satellite/mrepo/5Server-i386/updates

###### RHEL 5 x86_64 ######
rhnpush -vvv  –newest –username=spacewalkuser –password=”users password” –channel=rhel5_x86_64_local –server=http://localhost/APP –dir=/var/satellite/mrepo/5Server-x86_64/updates

###### RHEL 6 Server x86_64 ######
rhnpush -vvv  –newest –username=spacewalkuser –password=”users password” –channel=rhel6_x86_66_local –server=http://localhost/APP –dir=/var/satellite/mrepo/rhel6es-x86_64/updates

###### RHEL 6 WS x86_64 ######
rhnpush -vvv  –newest –username=spacewalkuser –password=”users password” –channel=rhel6-ws-x86_64 –server=http://localhost/APP –dir=/var/satellite/mrepo/rhel6ws-x86_64/updates

###Get Errata for everything

Now with the scripts put togetther I placed them in a folder in roots account.  Then I changed the permissions to 700 on everything for the root account.  That way only root could see the files due to password being in them.  You can do security on these scripts anyway you want as long as the user that will run create the cron can have access to them.  Finally you need to setup the cron jobs to have them run when ever you want them too.  I have them run everyday at 0200 in the morning.   This way my Spacewalk server is up-to-date at all times and ready to push out patches.  So this a shot, it my help you or it may not.  But it is a good start for someone who is starting from scratch.  Good luck.

Page 3 of 4912345...102030...Last »