As an open source enthusiast it was my dream to build an own linux tablet. I kindly received a touchscreen display and a case from Mr. Lim, the founder of Pine64. So the other parts I needed were a Pine A64, a microSD, a powerbank (10000 mAh) and a wifi dongle. On the Pine I previously installed Armbian which is perfect for my build.
How to screw the Pine casing together
I found a useful YouTube tutorial on how to screw together the case (just watch the second part as the guy makes a mistake first). It took me about 20 minutes to get everything together. One thing to note is that you shouldn’t completely pull out the black covers of the display jacks. It is enough to fold them open and then insert the display cable. If the case is closed, you can access almost everything except the microSD and the Gpio pins. However, inside the case there is still enough space to add sensors.
Activate the screen in Armbian
In the terminal, enter:
sudo nano /boot/armbianEnv.txt
There, change pine64_lcd=off to pine64_lcd=on
Back in the terminal, enter:
sudo nano /etc/modules
There, add a line with gt9xxf_ts
Now, shutdown and boot up again. After a few seconds you should see the Armbian desktop (make sure you installed the version that has graphical desktop supported).
You will probably need a touchscreen keyboard. To install it, enter in the terminal:
sudo apt-get install onboard
You can start it the first time in the menu under Accessories. There is also the possibility to customize the behaviour of the keyboard.
So far, I’m positively surprised by the responsiveness of the touchscreen. I had a lot of fun using my own linux tablet. With an RTL-SDR dongle attached and minimal usage the power consumption was about 800mAh for 1h 15min. during the upgrade process. I will test in future how long it can run in real life situations with a 10000 mAh battery.
I bought two Pine a64 2Gb boards when there was a liquidation at my local electronics store half a year ago. Since then they were lying around and collecting dust, mainly because they are a lot more difficult to use than the raspberry pi. I finally found a good use for one. I installed a 12 $ rtlsdr dongle (RTL2832U), so I can listen to the frequencies in the air from 500 kHz up to 1.75 GHz. This means the device receives data from radio, planes, satellites, garage doors and also some mobile communication. One of the most interesting things was to see how smartphones communicate with towers. The following instructions seem pretty long but it is easier than you think and most is copy and paste code.
Installation of Armbian and the RTL-SDR dongle
1. Download the latest Armbian OS (based on Ubuntu) for your device. You should pick the one with graphical desktop. Then on a Windows PC you can unpack it using the free tool 7zip and install the .img file on a microSD card with Win32DiskImager.
2. Hook up the pine64 on a screen with an hdmi cable. Add a usb mouse and keyboard.
Now plug in the microSD and and power the device up. The first boot will take a bit longer then usual.
Eventually, you will be asked to sign in with a username and password. This is for armbian “root” and “1234”.
Now you are prompted to create a new password for the root account and you need to create a normal user with username and password. If you want to access the command line of the pine64 from a windows pc you can use SSH with Putty. Great, now all the basic stuff is done.
3. When you plug in the rtlsdr dongle you should be able to see it in the list created with:
lsusb
.
For me it looks like this:
Bus 001 Device 003: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T
In my case “0bda” is the vendor identification and “2838” is the product number.
Run
You need to insert the vendor id and product number of your device if it is different than my example. This should ensure that the rtl-sdr is available for the pine.
Installation of GNU Radio
1. In the terminal, update the system with:
sudo apt-get update && sudo apt-get upgrade
.
2. First, you can run
sudo apt install gnuradio
to install GNU Radio, which is a software that lets you process information from software radios. Next, you install the rtl-sdr tools. Note that some of the steps can take very long to compute on the Pine a64.
git clone https://github.com/balint256/gr-baz.git
cd gr-baz
mkdir build
cd build
sudo apt-get install cmake
sudo apt-get install gnuradio-dev
cmake ..
make
sudo make install
sudo ldconfig
Installation of Gr-Gsm
1. The installation of gr-gsm follows the instructions from osmocom. First, you need to install a few modules, that are required for the software:
2. When this is done, you can install gr-gsm, which is required to see gsm communication:
cd ~
git clone https://git.osmocom.org/gr-gsm
cd gr-gsm
mkdir build
cd build
cmake ..
mkdir $HOME/.grc_gnuradio/ $HOME/.gnuradio/
cd ~/gr-gsm/build
make
sudo make install
sudo ldconfig
Next, you need some Python modules to run the IMSI-catcher script:
3. Let the fun part begin. You need to have a graphical desktop in front of you. Open two terminal windows. In the first one you enter
grgsm_scanner
to see on what frequencies there are towers around you. Then, start to listen to one of those frequencies with:
grgsm_livemon -f 'YOURFREQUENCY'M
.
e.g.
grgsm_livemon -f 948.2M
In the second window you start to receive the processed data in the form of a list with IMSI numbers, phone providers and countries. To get this run inside the IMSI-catcher folder:
python simple_IMSI-catcher.py
There you go. I hope you have as much fun as I had with this tool 🙂 More information can be found here.
Hint: If you want the data to be directly stored in a textfile, use:
Have you ever seen a demonstration, where a hacker opened a garage door or triggered a wireless doorbell from distance? The Universal Radio Hacker (URH) could be a good choice for such a scenario. However, you can also do more productive things, like connecting incompatible devices to your computer or smart home.
Instructions
Note: In case, that you need to set up rtl-sdr or you get an error, make sure that you check my previous tutorials in the RTL-SDR series in order to have the same starting point.
Gqrx is a graphical tool that visualizes radio signals in the spectrum. One of the easiest applications is, to tune to the frequency of a local FM or AM radio station and listen to the music. Assuming that you followed the airplane tracking tutorial, the installation is simple.
1. Run each line separately to add the repositories that are required:
sudo add-apt-repository -y ppa:bladerf/bladerf
sudo add-apt-repository -y ppa:myriadrf/drivers
sudo add-apt-repository -y ppa:myriadrf/gnuradio
sudo add-apt-repository -y ppa:gqrx/gqrx-sdr
sudo apt-get update
2. Install the program:
sudo apt-get install gqrx-sdr
3. Now, you can run the program with
gqrx-sdr
or by clicking on it in the startmenu-section internet. The first time you run it, you need to select an input device. For me it was the recommended one. In the window under ‘file>Start DSP’ you can start the waterfall and the audio.
It’s school vacation time and I hear a lot of planes passing by, when I am in the garden. This reminded me of a project for the Rtl-Sdr, that I saw a while ago. I could track the ADS-B signals of aircrafts to mark their position on a map. And this all can be done in minutes!
Required hardware:
– 1x Pine A64 with power adaptor and wifi module or ethernet
– 1x MicroSD 16 GB
– 1x MicroSD to usb adaptor (to plug microSD into PC)
– 1x RTL-SDR (DVB-T Dongle with the RTL2832U Chip)
Preparation of Armbian:
1. Download the Armbian operating system with desktop (right one).
2. Unpack it until you see a .img file (e.g. with 7-Zip).
3. Plug-in the microSD with an adaptor and write the .img on it with Win32DiskImager. Select the .img file as image and the usb adaptor as medium.
4. Put the microSD back into the Pine and connect an usb-mouse and -keyboard as well as an hdmi display. Now connect the power and let it boot.
5. Log in with the user “root” and password “1234”. You are forced to change the password and create a new standard user. Then, you will see the desktop. SSH starts automatically, so you can access the terminal from another pc (e.g. with Putty).
Install the RTL-SDR dongle:
1. Open the terminal and run
sudo apt-get update && sudo apt-get upgrade
.
2. Plug in the RTL-SDR dongle and run:
lsusb
. You should now see the dongle in the list. For me it looks like this:
Bus 001 Device 003: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T.
In my case “0bda” is the vendor identification and “2838” is the product number.
You need to insert the vendor id and product number of your device if it is different than my example. This should ensure that the rtl-sdr is accessible by the pine. Now shutdown with
sudo halt
and then start it again (the reboot command can cause problems).
4. Run ‘sudo apt-get install librtlsdr-dev’ to install the development package for rtl-sdr.
5. Install two more packages:
sudo apt-get install pkg-config build-essential
6. Download the plane tracking program Dump1090 from Github:
9. Now, you will see the raw data. If you want to get a neat map with all the planes around you, open the browser on any pc in the network and go to “IP of Pine64”:8080. You can see your IP with
ifconfig
. The map might be watermarked, but you can get a free API code in the Google Console. Then, open the gmap file: ‘sudo nano ~/dump1090/public_html/gmap.html’. Insert the following line before the