umtrx

Flash

See http://code.google.com/p/umtrx/wiki/FlashingUmTRX

~/Public/src/umtrx/UHD-Fairwaves/host/utils$ ./usrp_n2xx_net_burner.py --addr=192.168.10.2 --fw=../../../people.osmocom.org/ipse/umtrx-v2/fpga_bitsream/2013-06-25-2f3817a9/usrp2p_txrx_uhd.bin 
USRP-N2XX found.
Hardware type: umtrx
Flash size: 8388608
Sector size: 65536

Begin firmware write: this should take about 1 second...
Erasing 16383 bytes at 6291456
Writing image
Verifying data
Read back 16383 bytes
Success.
Time elapsed: 0.999201 seconds

~/Public/src/umtrx/UHD-Fairwaves/host/utils$ ./usrp_n2xx_net_burner.py --addr=192.168.10.2 --fpga=../../../people.osmocom.org/ipse/umtrx-v2/fpga_bitsream/2013-06-25-2f3817a9/u2plus_umtrx_v2.bin 
USRP-N2XX found.
Hardware type: umtrx
Flash size: 8388608
Sector size: 65536

Begin FPGA write: this should take about 1 minute...
Erasing 2464964 bytes at 3145728
Writing image
Verifying data
Read back 2453092 bytes
Success.
Time elapsed: 79.289549 seconds


~/Public/src/umtrx/UHD-Fairwaves/host/utils$ ./usrp_n2xx_net_burner.py --addr=192.168.10.2 --fpga=../../../people.osmocom.org/ipse/umtrx-v2/fpga_bitsream/2013-06-25-2f3817a9/u2plus_umtrx_v2.bin --overwrite-safe
Are you REALLY, REALLY sure you want to overwrite the safe image? This is ALMOST ALWAYS a terrible idea.
If your image is faulty, your USRP2+ will become a brick until reprogrammed via JTAG.
Type "yes" to continue, or anything else to quit: yes
USRP-N2XX found.
Hardware type: umtrx
Flash size: 8388608
Sector size: 65536

Begin FPGA write: this should take about 1 minute...
Erasing 2464964 bytes at 0
Writing image
Verifying data
Read back 2453092 bytes
Success.
Time elapsed: 76.724576 seconds

Funny enough, using xc3sprog at offset 0 complains:

~/Public/src/umtrx/xc3sprog$ sudo ./xc3sprog -c jtaghs2 -I../s6slx75_fgg484.bit ../people.osmocom.org/ipse/umtrx-v2/fpga_bitsream/2013-06-25-2f3817a9/u2plus_umtrx_v2.bit:w:0:BIT
XC3SPROG (c) 2004-2011 xc3sprog project $Rev: 724 $ OS: Linux
Free software: If you contribute nothing, expect nothing!
Feedback on success/failure/enhancement requests:
http://sourceforge.net/mail/?group_id=  170565 
Check Sourceforge for updates:
http://sourceforge.net/projects /xc3sprog/develop

Using Libftdi, 
DNA is 0x99139185525f47fe
JEDEC: 20 20 0x17 0x10
Found Numonyx M25P Device, Device ID 0x2017
256 bytes/page, 32768 pages = 8388608 bytes total 

Verify failed  at flash_page    258

Hardware reboot:

USRP N210 UDP bootloader
FPGA compatibility number: 8
Firmware compatibility number: 11
Production image = 0
Checking for valid production FPGA image...
Valid production FPGA image found. Attempting to boot.

USRP N210 UDP bootloader
FPGA compatibility number: 8
Firmware compatibility number: 11
Production image = 1
Valid production firmware found. Loading...
Finished loading. Starting image.

TxRx-UHD-ZPU
FPGA compatibility number: 8
Firmware compatibility number: 11
LMS1 chip version = 0x22
LMS2 chip version = 0x22
00:1F:11:02:19:01
192.168.10.2

eth link changed: speed = 0
ethernet flow control: WE_TX
Speed set to 1000

eth link changed: speed = 1000

Calibration

See https://github.com/fairwaves/umtrx_scripts.git

~/Public/src/umtrx/kalibrate-uhd/src$ ./kal -s GSM900 
linux; GNU C++ version 4.7.2; Boost_104900; UHD_003.004.000-8d6da29

-- Opening a UmTRX device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes

kal: Scanning for GSM-900 base stations.
stephane@qosmio:~/Public/src/umtrx/kalibrate-uhd/src$ ./kal -s GSM850
linux; GNU C++ version 4.7.2; Boost_104900; UHD_003.004.000-8d6da29

-- Opening a UmTRX device...
-- Current recv frame size: 1472 bytes
-- Current send frame size: 1472 bytes

kal: Scanning for GSM-850 base stations.
chan: 195 (882.6MHz - 20.796kHz)        power: 42429.42

Installation

Used http://openbsc.osmocom.org/trac/wiki/network_from_scratch except that I used dpkg-buildpackage then installed the resulting packages. (My packages are under http://debian.sotelips.net/shimaore/pool/experimental/main/libo/ )

OpenBSC dependencies

libgtp-dev is provided by OpenGGSN:

git clone git://git.code.sf.net/p/ggsn/code openggsn

libosmo-sscp:

git://git.osmocom.org/libosmo-sccp

Note: installed libdbi-dev instead of libdbi0-dev.

Note: when building the osmobsc packages, osmo-bsc_nat can’t be compiled. Remove --enable-nat from debian/rules, remove its entry from debian/control, and remove debian/osmocom-bsc-nat.install. Then for osmo-bsc, add

$(top_builddir)/src/libmsc/libmsc.a \
-ldbi \

after the line that says $(top_builddir)/src/libtrau/libtrau.a. In other words:

~/Public/src/umtrx/openbsc$ git branch
* jolly/testing
  master

~/Public/src/umtrx/openbsc$ git diff
diff --git a/debian/control b/debian/control
index e0d75aa..6fe2186 100644
--- a/debian/control
+++ b/debian/control
@@ -37,8 +37,3 @@ Package: osmocom-gbproxy
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, libosmocore
 Description: Osmocom GPRS Gb Interface Proxy
-
-Package: osmocom-bsc-nat
-Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libosmocore
-Description: Osmocom Base Station Controller Network Address Translation
diff --git a/debian/osmocom-bsc-nat.install b/debian/osmocom-bsc-nat.install
deleted file mode 100644
index b561a7e..0000000
--- a/debian/osmocom-bsc-nat.install
+++ /dev/null
@@ -1 +0,0 @@
-/usr/bin/osmo-bsc_nat
diff --git a/debian/rules b/debian/rules
index 89f96cc..12ddbfc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -26,5 +26,5 @@ override_dh_autoreconf:
 
 override_dh_auto_configure:
        echo $(VERSION) > openbsc/.tarball-version
-       dh_auto_configure --sourcedirectory=openbsc -- --enable-nat --enable-osmo-bsc
+       dh_auto_configure --sourcedirectory=openbsc -- --enable-osmo-bsc
 
diff --git a/openbsc/src/osmo-bsc/Makefile.am b/openbsc/src/osmo-bsc/Makefile.am
index 63972c8..147e286 100644
--- a/openbsc/src/osmo-bsc/Makefile.am
+++ b/openbsc/src/osmo-bsc/Makefile.am
@@ -13,6 +13,8 @@ osmo_bsc_LDADD = $(top_builddir)/src/libbsc/libbsc.a \
                 $(top_builddir)/src/libmsc/libmsc.a \
                 $(top_builddir)/src/libbsc/libbsc.a \
                 $(top_builddir)/src/libtrau/libtrau.a \
+                $(top_builddir)/src/libmsc/libmsc.a \
+                -ldbi \
                 $(top_builddir)/src/libcommon/libcommon.a \
                 $(top_builddir)/src/libctrl/libctrl.a \
                 $(top_builddir)/src/libcommon/libcommon.a \

osmo-bts

Ignore the error (sysmocom/femtobts/superfemto.h: No such file or directory), it’s only in the tests.

Contrarily to what the website says, osmo-bts.cfg has to be in the same folder.

You need to start: * the OpenBTS transceiver (Transceiver52M/transceiver) * osmo-bts (src/osmo-bts-trx/osmobts-trx) * osmo-nitb / osmo-bsc

(To be continued)

People

zecke = Holger Hans Peter Freyther laforge = Harald Welte jolly = Andreas Eversberg

Written on August 4, 2013