aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorEric Wild <ewild@sysmocom.de>2020-03-24 17:19:27 +0100
committerEric <ewild@sysmocom.de>2020-08-25 01:00:03 +0200
commit1e17c4fb0a77dcee49a7cd566dca7e8f48f6d8e7 (patch)
tree9e680f91408ff7741fe62d7689ad420c1f48648a /contrib
parentf9a2f4427277f36b9459cd349512f6ca3230fe9c (diff)
osmo-trx-ipc
This adds a IPC backend that uses shared memory interface to communicate with (proprietary) devices. Requires config file option dev-args ipc_msock=/path/to/socket to specify the master socket the ipc backend should connect to. If UHD is avaialble the ipc-driver-test tool can be used to test the backend with a uhd device, this was so far only tested with a b2xx. Change-Id: Ice63d3499026293ade8aad675ff7a883bcdd5756
Diffstat (limited to 'contrib')
-rwxr-xr-xcontrib/jenkins.sh2
-rw-r--r--contrib/osmo-trx.spec.in37
-rw-r--r--contrib/systemd/Makefile.am7
-rw-r--r--contrib/systemd/osmo-trx-ipc.service11
4 files changed, 53 insertions, 4 deletions
diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh
index df444ca..95ea128 100755
--- a/contrib/jenkins.sh
+++ b/contrib/jenkins.sh
@@ -85,7 +85,7 @@ export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="$inst/lib"
export PATH="$inst/bin:$PATH"
-CONFIG="--enable-sanitize --enable-werror --with-uhd --with-usrp1 --with-lms $INSTR"
+CONFIG="--enable-sanitize --enable-werror --with-uhd --with-usrp1 --with-lms --with-ipc $INSTR"
# Additional configure options and depends
if [ "$WITH_MANUALS" = "1" ]; then
diff --git a/contrib/osmo-trx.spec.in b/contrib/osmo-trx.spec.in
index aebd355..ace7212 100644
--- a/contrib/osmo-trx.spec.in
+++ b/contrib/osmo-trx.spec.in
@@ -129,6 +129,26 @@ between different telecommunication associations for developing new
generations of mobile phone networks. (post-2G/GSM)
%endif
+%package ipc
+Summary: SDR transceiver that implements Layer 1 of a GSM BTS (IPC)
+Group: Productivity/Telephony/Servers
+
+%description ipc
+OsmoTRX is a software-defined radio transceiver that implements the Layer 1
+physical layer of a BTS comprising the following 3GPP specifications:
+
+TS 05.01 "Physical layer on the radio path"
+TS 05.02 "Multiplexing and Multiple Access on the Radio Path"
+TS 05.04 "Modulation"
+TS 05.10 "Radio subsystem synchronization"
+
+In this context, BTS is "Base transceiver station". It's the stations that
+connect mobile phones to the mobile network.
+
+3GPP is the "3rd Generation Partnership Project" which is the collaboration
+between different telecommunication associations for developing new
+generations of mobile phone networks. (post-2G/GSM)
+
%prep
%setup -q
@@ -142,14 +162,16 @@ autoreconf -fi
--with-systemdsystemunitdir=%{_unitdir} \
--without-lms \
--with-uhd \
- --without-usrp1
+ --without-usrp1 \
+ --with-ipc
%else
%configure \
--docdir=%{_docdir}/%{name} \
--with-systemdsystemunitdir=%{_unitdir} \
--with-lms \
--with-uhd \
- --with-usrp1
+ --with-usrp1 \
+ --with-ipc
%endif
make %{?_smp_mflags} V=1
@@ -174,6 +196,10 @@ make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
%post usrp1 %service_add_post osmo-trx-usrp1.service
%preun usrp1 %service_del_preun osmo-trx-usrp1.service
%postun usrp1 %service_del_postun osmo-trx-usrp1.service
+%pre ipc %service_add_pre osmo-trx-ipc.service
+%post ipc %service_add_post osmo-trx-ipc.service
+%preun ipc %service_del_preun osmo-trx-ipc.service
+%postun ipc %service_del_postun osmo-trx-ipc.service
%endif
%files
@@ -206,4 +232,11 @@ make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
%{_unitdir}/osmo-trx-usrp1.service
%endif
+%files ipc
+%{_bindir}/osmo-trx-ipc
+%{_bindir}/ipc-driver-test
+%dir %{_sysconfdir}/osmocom
+%config(noreplace) %{_sysconfdir}/osmocom/osmo-trx-ipc.cfg
+%{_unitdir}/osmo-trx-ipc.service
+
%changelog
diff --git a/contrib/systemd/Makefile.am b/contrib/systemd/Makefile.am
index 800b1e1..6566b97 100644
--- a/contrib/systemd/Makefile.am
+++ b/contrib/systemd/Makefile.am
@@ -1,7 +1,8 @@
EXTRA_DIST = \
osmo-trx-lms.service \
osmo-trx-uhd.service \
- osmo-trx-usrp1.service
+ osmo-trx-usrp1.service \
+ osmo-trx-ipc.service
if HAVE_SYSTEMD
SYSTEMD_SERVICES =
@@ -18,5 +19,9 @@ if DEVICE_LMS
SYSTEMD_SERVICES += osmo-trx-lms.service
endif
+if DEVICE_IPC
+SYSTEMD_SERVICES += osmo-trx-ipc.service
+endif
+
systemdsystemunit_DATA = $(SYSTEMD_SERVICES)
endif # HAVE_SYSTEMD
diff --git a/contrib/systemd/osmo-trx-ipc.service b/contrib/systemd/osmo-trx-ipc.service
new file mode 100644
index 0000000..c886ed7
--- /dev/null
+++ b/contrib/systemd/osmo-trx-ipc.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Osmocom SDR BTS L1 Transceiver (IPC Backend)
+
+[Service]
+Type=simple
+Restart=always
+ExecStart=/usr/bin/osmo-trx-ipc -C /etc/osmocom/osmo-trx-ipc.cfg
+RestartSec=2
+
+[Install]
+WantedBy=multi-user.target