diff options
author | Eric Wild <ewild@sysmocom.de> | 2020-03-24 17:19:27 +0100 |
---|---|---|
committer | Eric <ewild@sysmocom.de> | 2020-08-25 01:00:03 +0200 |
commit | 1e17c4fb0a77dcee49a7cd566dca7e8f48f6d8e7 (patch) | |
tree | 9e680f91408ff7741fe62d7689ad420c1f48648a /contrib | |
parent | f9a2f4427277f36b9459cd349512f6ca3230fe9c (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-x | contrib/jenkins.sh | 2 | ||||
-rw-r--r-- | contrib/osmo-trx.spec.in | 37 | ||||
-rw-r--r-- | contrib/systemd/Makefile.am | 7 | ||||
-rw-r--r-- | contrib/systemd/osmo-trx-ipc.service | 11 |
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 |