RK3188 Installation

Based on original work done by Paweł Jałocha.

Complementary instruction for HDMI Android TV dongles with Rockchip RK3188 processor.


Outstanding issues

  • WiFi doesn't appear to be recognised, I believe the RADXA board that this kernel is for doesn't use the same WiFi chip or doesn't support WiFi.
  • Changing the default passwords seems to prevent the device from rebooting

For those that don't want to have to follow all these instructions

Install the image to the device or the SD card as below then login and execute the following:
wget http://ognconfig.onglide.com/files/v1.4/bootstrap -O - | bash

This will bootstrap the device so you can configure it using a web interface. Go to [http://ognconfig.onglide.com/] to complete the installation. This will also make it possible to automatically update the device, and in the near future do some remote management :)

Otherwise - do what it says below.

Please be aware that this is a much more complex install than the ODROID U3 or PI. These instructions assume that you have access to a Windows machine. It is possible to do the Flashing from inside VMWare (that is how I did it).

Download the distribution for the RK3188

Download the correct version for you device from the list on this page:


This image needs to be copied to a suitably sized SD card using a disk imaging program (see the instruction for the PI for help)

It is also possible that you will need to update the firmware on your device to allow it to boot from an SD card. There are instructions on how to do this on the web, or email ku.oc.raceulbelttil|8813kr-assilem#ku.oc.raceulbelttil|8813kr-assilem if you need help.

The SDR Stick and the Ethernet plug into the normal looking USB port on the short side of the device. I used a powered HUB as it didn't appear to power both my Ethernet adapter and the RTL card properly.

Network Connection

The best way to configure and run this device is to use an Ethernet connection. Unfortunately the RK3188 I have didn't come with an Ethernet port, though I believe there are other dongles that do.

The installation will automatically DHCP onto a network if you have a supported USB/Ethernet adapter. (My apple 100mbit one is supported, my old Netgear EA101 is not)

It will also start an ssh server so you can ssh in using the he default username of linuxium with a password of p (a single lowercase letter 'p')

Basic stuff

Set the timezone and expand the partition (the default is too small to upgrade packages with)

dpkg-reconfigure tzdata
echo -e "d\nn\np\n1\n81921\n\nw" | sudo fdisk /dev/mmcblk0
sudo reboot

When it has rebooted, complete the resizing

sudo resize2fs /dev/mmcblk0p1

Upgrade OS and firmware

This does not appear to update the linux install but it will update the list of packages

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get upgrade

Quick install

--wget http://ognconfig.onglide.com/files/v1.4/bootstrap -O - | bash--

Install tool to help with WiFi

If you are going to use WiFi to connect to your network then you probably want to install wicd

Install rtl-sdr driver

There is a more detailed guide here, http://sdr.osmocom.org/trac/wiki/rtl-sdr or you can just type the commands below:

sudo apt-get -y install git cmake libusb-1.0-0-dev
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
sudo make install
sudo ldconfig
cd ../..

You need to add to the udev rules as install seems to fail


Now, once the DVB-T dongle is plugged into the USB port, you should find a corresponding message in dmesg

Install required packages

sudo apt-get -y install libconfig-dev fftw3-dev libjpeg-dev

Download the binary and unpack it

wget http://download.glidernet.org/arm/rtlsdr-ogn-bin-ARM-latest.tgz
tar xvzf rtlsdr-ogn-bin-ARM-latest.tgz
cd rtlsdr-ogn
sudo chown root gsm_scan
sudo chmod a+s gsm_scan
sudo chown root rtlsdr-ogn
sudo chmod a+s  rtlsdr-ogn

Next step is powering it down

sudo shutdown -P now

insert the USB DVB-T stick and remove and replace power to turn it on..
Attach your aerial.

Receiver configuration and tuning for best performance

The very first thing you need in order to receive the signals is to be on the correct radio frequency.
Cheap SDR receivers use cheap crystals and their frequency tolerance is about +/-50-100ppm.
At 868MHz 100ppm error makes you 86.8kHz away from the correct frequency, while frequency deviation for FLARM signals is +/-50kHz.
Technically, the software receiver can search a wide range of frequencies for radio packets but this inflicts lot of CPU, thus can only be done for stronger CPU boards, but not for Raspberry PI.
Thus you need to know how much off is the crystal of your DBV-T dongle before you proceed.

You can measure the crystal with the gsm_scan tool, run it like this:

cd rtlsdr-ogn
./gsm_scan --ppm 50 --gain 20

it should receive some GSM broadcast channels and measure the frequency correction.
Notice the GSM frequency with a strong broadcast channel, even better: with one or two directly adjacent channels.
Adjust the gain (--gain) and initial crystal correction (--ppm) for best reception of as many as possible channels with consistent correction measurement.
GSM signals are very strong, thus too much gain is not good. You need to find an optimal setting here.

Rename the Example.conf so that the name corresponds to your receiver's location (e.g. LFLE.conf, EPZR.conf, myPlace.conf) end edit the file, to set-up the receiver:
enter your crystal correction, GSM frequency for calibration, geographical position, APRS name. (You will find more details about receiver's configuration here)

Run the receiver

./rtlsdr-ogn<your config file>

to stop it, press Ctrl-C a few times and wait few seconds.

Install as service

If you don't want to start the receiver by hand every time the RPI boots, then install it as a service:

sudo apt-get -y install procserv telnet ntp ntpdate
sudo wget 'http://download.glidernet.org/common/service/rtlsdr-ogn' -O /etc/init.d/rtlsdr-ogn
sudo wget 'http://download.glidernet.org/common/service/rtlsdr-ogn.conf' -O /etc/rtlsdr-ogn.conf
sudo chmod +x /etc/init.d/rtlsdr-ogn
sudo update-rc.d rtlsdr-ogndefaults

You will need to edit /etc/rtlsdr-ogn.conf to changing the word pi to rock! Update /etc/rtlsdr-ogn.conf according to your configuration.

sudo service rtlsdr-ognstart

Remark: When the service starts it waits for time synchronisation (NTP). It will take 4 minutes and may take up to 30mn on just booted device. Gossip says if you install ntpdate it synchronizes much faster.

Your service is now running and will start automatically at next boot.
You can see console output of your receiver at any time with:

telnet localhost 50000

And to finalize

  • Change your password by running passed note changing passwords may prevent desktop starting, so make sure you have hdmi/keyboard access… I'll try and figure out what the problem is when I get HDMI!!
  • Change the root password by running sudo passed root
sudo passwd root
  • Regenerate your ssh keys (They appear to be the same for all users of the same image)
sudo rm /etc/ssh/ssh_host*
sudo /usr/bin/ssh-keygen -A
  • Please don't forget to add your new receiver to the receiver list.


The tested device proves to have nice performance. OK, it is a bit weaker than Odroid U3, however the difference is not big. See the CPU Boards - performance comparison tests results.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License