Diese Seite drucken

BeagleboardBlack mit BladeRF als GSM-Basissation

Beim Betrieb der GSM-Basisstation beachtet unbedingt die Gesetze in euerm Land!

Der Beaglebone Black ist noch zulangsam für eine GSM-Basistation. Wenn einer eine Idee hat wie man den BeagleBoneBlack schneller macht einfach unten in das Formular die Antwort eintagen und ich werd die Lösung hier aufführen. Zur Zeit teste ich mit einem Odroid U3. 

Benötigte Hardware und andere Vorrausetzungen:

  • BeagleBone Black
  • MicroSD-Karte 4GB oder größer (nur zur Installation)
  • MicroSD-Kartenlesern
  • Linux oder MacOSX auf dem Host-System
  • Bladerf mit GSM-Antenne (FPGA-Größe egal)
  • Internetzugang für den BeagleBone Black
  • Grundlegende Linuxkenntnisse

 

Debian auf den BeagleBoneBlack installieren:

Installlationsimage downloaden

wget -c https://rcn-ee.net/rootfs/2015-02-19/flasher/BBB-eMMC-flasher-debian-7.8-console-armhf-2015-02-19-2gb.img.xz

 

Image entpacken und auf die SD-Karte kopieren


unxz BBB-eMMC-flasher-debian-7.8-console-armhf-2015-02-19-2gb.img.xz
sudo dd if=./BBB-eMMC-flasher-debian-7.8-console-armhf-2015-02-19-2gb.img 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 Beaglebone Black stromlos schalten und die SD-Karte einsetzen. Dann Einschalten und warten bis die vier LED neben der Ethernetbuchse aufgehört haben zu blinken. Da nach die SD-Karte entfernen und durch kurzzeitges entfernen der Stromversorgung den Beaglebone Black neustarten.

Computer mit dem BeagleBoneBlack via der Mini-USB-Schnittstelle verbinden. Der BeagleBoard Black wird als Netzwerkkarte erkannt.

Via SSH einloggen.

ssh debian@192.168.7.2

 Das Passwort ist "temppwd".

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 nginx-light php5-fpm php5-xcache
sudo apt-get remove apache2

 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

Webserver konfigurieren

Konfigurationsdatei /etc/nginx/nginx.conf

in Zeile 2 bei dem Eintrag "worker_processes" die Zahl auf 1 reduzieren

Konfigurationsdatei /etc/nginx/sites-enabled/default

Die folgende Zeilen wie folgt auskommentieren: 

        location ~ \.php$ (
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
        #       # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }

Webfrontend einrichten

cd /usr/src/yatebts/nib/
sudo make install
cd /usr/share/nginx/www
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

Basisstation starten

yate -v

Konfiguration-Webseite aufrufen und Werkseinstellungen setzen

Die Adresse http://192.168.7.2/nib/main.php aufrufen

  • BTS Configuration => Radio.Band ein Frequenzband auswählen
  • BTS Configuration => Radio.C0 passenden Kanel zum ausgwählten Band
Subscribers => Accept by REGEXP => .*