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