Odroid U3 mit BladeRF als GSM-Basissation
Beim Betrieb der GSM-Basisstation beachtet unbedingt die Gesetze in euerm Land!
Benötigte Hardware und andere Vorrausetzungen:
- Odroid U3
- MicroSD-Karte 4GB oder größer
- MicroSD-Kartenlesern
- Linux oder MacOSX auf dem Host-System
- Bladerf mit GSM-Antenne (FPGA-Größe egal)
- Internetzugang für den Odroid U3
- Grundlegende Linuxkenntnisse
UBuntu auf dem Odroid U3 installieren:
Installlationsimage downloaden von http://odroid.com/dokuwiki/doku.php?id=en:u3_release_linux_ubuntu
Image entpacken und auf die SD-Karte kopieren
unxz ubuntu-14.04.2lts-lubuntu-odroid-u-20150224.img.xz
sudo dd if=./ubuntu-14.04.2lts-lubuntu-odroid-u-20150224.img.xz of=/dev/disk2
Der Pfad /dev/disk2 ist die SD-Karte. Bei ben meistens System heißt das in etwa wie folgt /dev/mmcblk0. Der Befehl dd dauert mehre Minuten je nach Geschwindigkeit der SD-Karte.
Nach dem das Image auf die SD-Karte Kopiert wurde. Den Odroid stromlos schalten und die SD-Karte einsetzen.
Den Odroid mit dem Netzwerk verbinden.
Via SSH einloggen.
ssh odroid@odroid
Das Passwort ist "odroid".
Die Paket-Verwaltung aktuliesieren und die benötigten Pakete installieren.
sudo apt-get update sudo apt-get install subversion build-essential make cmake autoconf gcc libusb-1.0-0-dev libgsm1-dev pkg-config apache2 libapache2-mod-php5 php5 sudo apt-get install --reinstall iptables
Yate installieren
cd /usr/src/ sudo svn checkout http://voip.null.ro/svn/yate/trunk yate cd yate/ sudo ./autogen.sh sudo ./configure sudo make sudo make install
Yatebts installieren
cd /usr/src sudo svn checkout http://voip.null.ro/svn/yatebts/trunk yatebts cd yatebts/ sudo ./autogen.sh sudo ./configure sudo make install
Treiber für den BladeRF installieren
cd /usr/src/ sudo wget http://voip.null.ro/tarballs/misc/bladeRF.tar.gz sudo tar -xzf bladeRF.tar.gz cd bladeRF cd host/ sudo mkdir build cd build sudo cmake -DCMAKE_BUILD_TYPE=Release -DINSTALL_UDEV_RULES=ON ../ sudo make install sudo ldconfig
Webfrontend einrichten
cd /usr/src/yatebts/nib/ sudo make install cd /var/www/html sudo ln -s /usr/local/share/yate/nib_web nib sudo chmod a+rw -R /usr/local/etc/yate/ sudo /etc/init.d/nginx reload
Konfiguration-Webseite aufrufen und Werkseinstellungen setzen
Die Adresse http://odroid/nib/main.php aufrufen
- BTS Configuration => Radio.Band ein Frequenzband auswählen
- BTS Configuration => Radio.C0 passenden Kanel zum ausgwählten Band
- BTS Configuration => GPRS => GGSN => Firewall.Enable => "no Firewall"
- BTS Configuration => GPRS => GGSN => DNS => 8.8.8.8
- Subscribers => Accept by REGEXP => ".*" ohne "-Zeichen eingeben
Jetzt erst die eigentliche Basisstation starten, damit die GPRS-Einstellungen auch wirklich übernommen werden!
Basisstation starten
sudo su echo "1" > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -o eth0 -i sgsntun -s 192.168.99.0/24 -m conntrack --ctstate NEW -j ACCEPT sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT exit sudo yate -v