Installing ORx on Raspberry Pi with Raspbian
This document describes the prerequisites and steps for creating a home-made Outernet Receiver.
What you need
You will need the following:
- Satellite dish (60cm or larger)
- LNB (must support Ku band)
- USB satellite tuner (see below for devices know to work)
- Raspberry Pi (model B or B+ recommended)
- Internet connection
- HDMI cable for display connection (or HDMI-DVI, HDMI-VGA and similar convertors)
- USB keyboard
- Micro USB cable or AC power adaptor for Raspberry Pi
- SD card (4GB or more should be fine)
- (optional) Wi-Fi dongle (see below for supported devices)
Point the dish
See Transponders document for information on where you should point your dish.
Option 1 - Install using Outernet-provided image file
This section uses an image file we've built from arch or raspbian, your choice. For users interested in simply flashing an sd card and going, this is worth a look. Please see image.mkd for more information.
Option 2 - Install using ORx scripts
This method uses normal procedure for installing an operating system on your Raspberry Pi, and then uses scripts to convert the system into Outernet receiver.
Prepare for software install
This section is intended for people who are not familiar with Raspberry Pi. Experienced users may safely skip to next section.
Format the SD card and unpack NOOBS (the install scripts are tested with NOOBS lite and Raspbian image from the Raspberry Pi downloads page). Insert the card into the card slot on Raspberry Pi. Attach the display's HDMI cable and USB keyboard. Connect the Ethernet cable. Finally, connect the micro USB cable or AC adaptor.
Once NOOBS boots up, it will display a choice of operating systems it can install. Mark Raspbian (use arrow keys to navigate and space to mark) and proceed (press i key to install).
When the system is installed, press OK and Raspberry Pi will reboot. The first time you boot it, Raspbian will start a setup program. You can set the user account password, start SSH server (in Advanced section), and a few other things. One booted, you can log into Raspbian either directly using the attached keyboard and display, or you can SSH into it. Use the username 'pi' and the password you have set (or default password of 'raspberry'). If you decide to SSH into it, you may reattach the keyboard and display to your PC.
Install Outernet software and TVHeadend
To install the base software for Outernet Receiver, you must first be root:
You can then use our install script:
wget https://raw.githubusercontent.com/Outernet-Project/orx-install/master/raspbian/install.sh bash install.sh
Alternatively, you can run the second command with
The script will do the following:
- add jessie and tvheadend repositories to the list of package repositories
- installs necessary packages (python python-dev python-setuptools, tvheadend libev)
- installs firmwares for supported DVB-S/S2 tuners (see list below)
- installs Outernet Data Delivery agent package
- installs Outernet Librarian
- Creates Librarian system service
- Creates necessary directories
- Configures and starts system services
You can troubleshoot problems during the install by looking at
file created in the same directory where you started the install script.
During installation, the script will ask you a few questions about TVHeadend configuration. You will have choice of starting TVHeadend without superuser account, setting up the superuser username and password, or leaving things unconfigured. If you choose to have a superuser account, you will use the username and password you specified to log into TVHeadend.
Upgrade the kernel
Upgrading the kernel may be necessary for newer USB DVB-S/S2 tuners. This topic is outside the scope of this document. Generally, you have two options. You can try using the rpi-update tool, or compile the kernel yourself.
Attach the DVB-S/S2 tuner
Attach your DVB-S/S2 tuner to the USB port (you may need a USB hub depending on Raspberry Pi model).
Restart Raspberry Pi
Restart Raspberry Pi. You can issue the reboot command, or simply unplug and plug back in the micro USB cable or AC adaptor.
Please see tvheadend.mkd for more information.
You can access Librarian by pointing your browser to Raspberry Pi's IP address. It runs as web browser so there is no need to type in any port number.
Using Librarian is outside the scope of this document so we won't go into details here.
Convert your receiver to access point
For convenience, we have provided a script that converts your Raspberry Pi into a Wi-Fi access point. Advanced users may prefer to configure everything themselves, though.
Access point configuration is based on hostapd. It also performs DNS spoofing so that any address resolves to the device's IP address.
There are many Wi-Fi dongles that can potentially be used for this purpose. Our scripts has only been tested with the devices listed in the Supported USB Wi-Fi dongles section.
Get the script:
To start the conversion, plug in your device and simply run the script:
The script will perform the following modifications:
- Install necessary packages (iw hostapd isc-dhcp-server dsniff)
- Check that the device uses the supported drivers
- Check that hostapd supports the device
- Ask you to edit the network configuration
- Disable hotplugging for Ethernet interface
- Configure hostapd
- Configure DHCP server
- Configure DNS spoofing
- Start the access point
The script will ask you to edit the network configuration at one point. It will
open the configuration file
/etc/network/interfaces in nano. If you would
like to use another editor, set the
EDITOR environment variable to the
command that opens your editor of choice. For example, to use vi:
EDITOR=vi bash setap.sh
Network configuration for Raspbian should generally be:
auto eth0 inet eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet static address 10.0.0.1 netmask 255.255.255.0
Note that the wlan0 configuration should not include any
Ethernet hotplugging was found to interfere with correct Wi-Fi configuration, so the script will offer to disable it for you. If you are looking for a different configuration, you may skip that step.
If the access point is not up immediately after the script runs, try waiting a
little until all services are properly initialized. If waiting doesn't help,
try rebooting the system. You can troubleshoot problems during install by
taking a look at
setap.log file created in the same directory where you ran
You can customize many of the network-related settings by editing the values near the top of the script file. This includes the subnet and IP address of the access point, the SSID and password, and so on.
Supported USB DVB-S/S2 tuners
- PCTV 460e
- PCTV 461e (requires kernel v3.18.9 or newer)
- Geniatech HDStar TV box
Please report any working devices that are not included in this list.
Supported USB Wi-Fi dongles
- Edimax EW-7811UN (Realtek)