This document describes the prerequisites and steps for creating a home-made Outernet Receiver.
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)
See Transponders section for information on where you should point your dish.
Please see image.mkd for more information.
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.
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 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 Arch Linux ARM (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. One booted, you can log into Arch Linux ARM either directly using the attached keyboard and display, or you can SSH into it. User username 'root' and password 'root'. If you decide to SSH into it, you may reattach the keyboard and display to your PC.
Once logged into the system, you want to configure repository package mirrors.
Run the following commands:
mv /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.old
sed -i 's|^# Server|Server|' /etc/pacman.d/mirrorlist.old
rankmirrors /etc/pacman.d/mirrorlist.old > /etc/pacman.d/mirrorlist
For the receiver to display date and time information, it is important to set your date, time and timezone correctly. To set the date and time, use the following command:
timedatectl set-time "YYYY-MM-DD HH:MM"
Replace "YYYY" with correct year, "MM" with zero-padded month (e.g., 09 for September), "DD" with zero-padded day (e.g., 03 for 3rd), and "HH:MM" with 24-hour format time.
To set the timezone, use the following command:
timedatectl set-timezone TIMEZONE
"TIMEZONE" should be replace by an appropriate time zone name. To get a list of time zones, you can use this command:
timedatectl list-timezones
You can use the grep
command to filter the timezones. For example, if
you want to know what the timezone for Chicago, you can type:
timedatectl list-timezones | grep -i chicago
The above command returns "America/Chicago", which you can then use like so:
timedatectl set-timezone America/Chicago
To install the base software for Outernet Receiver, you can use our install script:
wget https://raw.githubusercontent.com/Outernet-Project/orx-install/master/archarm/install.sh
bash install.sh
The script will do the following:
- installs necessary packages (Python 3, Python 2, openssl, git, avahi)
- 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
- Installs TVHeadend from AUR
- Configures and starts system services
You can troubleshoot problems during the install by looking at install.log
file created in the same directory where you started the install script.
Attach your DVB-S/S2 tuner to the USB port (you may need a USB hub depending on Raspberry Pi model).
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.
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:
wget https://raw.githubusercontent.com/Outernet-Project/orx-install/master/archarm/setap.sh
To start the conversion, plug in your device and simply run the script:
bash setap.sh
The script will perform the following modifications:
- Install necessary packages (iw hostapd dhcp dsniff)
- Check that the device uses the supported drivers
- Check that hostapd supports the device
- Configure the Wi-Fi interface (wlan0) to use static IP of 10.0.0.1
- Create and install system service that configures the interface on boot
- Configure hostapd
- Configure DHCP server
- Configure DNS spoofing
- Start the access point
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
the script.
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.
- PCTV 460e
- PCTV 461e (requires kernel v3.16 and later)
- Geniatech HDStar TV box (only gen2 model)
Please report any working devices that are not included in this list.
- TP-Link TL-WN722N (Atheros)
- Edimax EW-7811UN (Realtek)
See transponders.mkd.