Change in osmo-gsm-manuals[master]: trx: Add Hardware device support section
Pau Espin Pedrol has uploaded this change for review. ( https://gerrit.osmocom.org/9895 Change subject: trx: Add Hardware device support section .. trx: Add Hardware device support section Change-Id: I87fc54cf1751f31a3e92d6503625e984f9a6130f --- A OsmoTRX/chapters/trx-backends.adoc M OsmoTRX/osmotrx-usermanual.adoc 2 files changed, 69 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/95/9895/1 diff --git a/OsmoTRX/chapters/trx-backends.adoc b/OsmoTRX/chapters/trx-backends.adoc new file mode 100644 index 000..b92a2da --- /dev/null +++ b/OsmoTRX/chapters/trx-backends.adoc @@ -0,0 +1,67 @@ +[[osmotrx_device_support]] +== OsmoTRX hardware device support + +OsmoTRX consists of a _common_ part that applies to all TRX devices as well as +_hardware-specific_ parts for each TRX device. The hardware-specific parts are +usually provided by vendor-specific or device-specific libraries that are then +handled by some OsmoTRX glue code presenting a unified interface towards the +rest of the code by means of a _RadioDevice_ class. + +The common part includes the core TRX architecture as well as code for +implementing the external interfaces such as the TRX Manager UDP socket, +control, and VTY interfaces. + +The hardware-specific parts include support for driving one particular +implementation of a radio modem. Such a physical layer +implementation can come in many forms. Sometimes it runs on a general +purpose CPU, sometimes on a dedicated ARM core, a dedicated DSP, a +combination of DSP and FPGA. + +Joining the common pare with each of the available backends results in a +different binary with different suffix for each backend. For instance, when +OsmoTRX is built with UHD backend, an _osmo-trx-uhd_ binary is generated; when +OsmoTRX is built with LimeSuite backend, an _osmo-trx-lms_ binary is generated. +Build of different backend can be enabled and disabled by means of configure +flags, which can be found in each subsection relative to each backend below. + +== `osmo-trx-uhd` for UHD based Transceivers + +This OsmoTRX model uses _libuhd_ (UHD, USRP Hardware Driver) to drive the +device, that is configuring it and reading/writing samples to it. + +This backend has been mostly used to so far to drive devices such as the Ettus +B200 family and Fairwaves UmTRX family, and used to be the default backend used +for legacy @osmo-trx@ binary when per-backend binaries didn't exist yet. + +Any device providing generic support for UHD should theoretically be able to be +run through this backend without much effort, but pracitcal experience showed +that some devices don't play well with it, such as the LimeSDR family of +devices, which showed far better results when using its native interface. + +Related code can be found in the _Transceiver52M/device/uhd/_ directory in +_osmo-trx.git_. + +== `osmo-trx-lms` for LimeSuite based Transceivers + +This OsmoTRX model uses LimeSuite API and library to drive the device, that is +configuring it and reading/writing samples to it. + +This backend was developed in order to be used together with LimeSDR-USB and +LimeSDR-mini devices, due to to the poor results obtained with the UHD backend, +and to simplify the stack. + +Related code can be found in the _Transceiver52M/device/lms/_ directory in +_osmo-trx.git_. + + +== `osmo-trx-usrp1` for libusrp based Transceivers + +This OsmoTRX model uses the legacy libusrp driver provided in GNU Radio 3.4.2. + +As this code was dropped from GNU Radio at some point and was found very +difficult to build, some work was done to create a standalone libusrp which can +be nowadays found as a separate git repository together with other osmocom git +repositories, in https://git.osmocom.org/libusrp/ + +Related code can be found in the _Transceiver52M/device/usrp1/_ directory in +_osmo-trx.git_. diff --git a/OsmoTRX/osmotrx-usermanual.adoc b/OsmoTRX/osmotrx-usermanual.adoc index f2ccbaf..7d04f78 100644 --- a/OsmoTRX/osmotrx-usermanual.adoc +++ b/OsmoTRX/osmotrx-usermanual.adoc @@ -25,6 +25,8 @@ include::chapters/trx-architectures.adoc[] +include::chapters/trx-backends.adoc[] + include::../common/chapters/trx_if.adoc[] include::../common/chapters/port_numbers.adoc[] -- To view, visit https://gerrit.osmocom.org/9895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I87fc54cf1751f31a3e92d6503625e984f9a6130f Gerrit-Change-Number: 9895 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol
Change in osmo-gsm-manuals[master]: trx: Add Hardware device support section
Vadim Yanitskiy has posted comments on this change. ( https://gerrit.osmocom.org/9895 ) Change subject: trx: Add Hardware device support section .. Patch Set 1: (5 comments) Not a code but text review ;) https://gerrit.osmocom.org/#/c/9895/1/OsmoTRX/chapters/trx-backends.adoc File OsmoTRX/chapters/trx-backends.adoc: https://gerrit.osmocom.org/#/c/9895/1/OsmoTRX/chapters/trx-backends.adoc@11 PS1, Line 11: socket There are at least three sockets, so s/socket/sockets/. https://gerrit.osmocom.org/#/c/9895/1/OsmoTRX/chapters/trx-backends.adoc@20 PS1, Line 20: pare s/pare/part? https://gerrit.osmocom.org/#/c/9895/1/OsmoTRX/chapters/trx-backends.adoc@30 PS1, Line 30: to reading/writing .. to/from ;) https://gerrit.osmocom.org/#/c/9895/1/OsmoTRX/chapters/trx-backends.adoc@32 PS1, Line 32: to Do we need this 'to'? https://gerrit.osmocom.org/#/c/9895/1/OsmoTRX/chapters/trx-backends.adoc@47 PS1, Line 47: to same applies here -- To view, visit https://gerrit.osmocom.org/9895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I87fc54cf1751f31a3e92d6503625e984f9a6130f Gerrit-Change-Number: 9895 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Thu, 05 Jul 2018 19:56:36 + Gerrit-HasComments: Yes Gerrit-HasLabels: No
Change in osmo-gsm-manuals[master]: trx: Add Hardware device support section
Pau Espin Pedrol has posted comments on this change. ( https://gerrit.osmocom.org/9895 ) Change subject: trx: Add Hardware device support section .. Patch Set 1: (2 comments) https://gerrit.osmocom.org/#/c/9895/1/OsmoTRX/chapters/trx-backends.adoc File OsmoTRX/chapters/trx-backends.adoc: https://gerrit.osmocom.org/#/c/9895/1/OsmoTRX/chapters/trx-backends.adoc@11 PS1, Line 11: socket > There are at least three sockets, so s/socket/sockets/. Well in here I basically have a comma separated list of interfaces, so it basically should be read as "RX Manager UDP socket interface". https://gerrit.osmocom.org/#/c/9895/1/OsmoTRX/chapters/trx-backends.adoc@30 PS1, Line 30: to > reading/writing .. […] The other way actually :P -- To view, visit https://gerrit.osmocom.org/9895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I87fc54cf1751f31a3e92d6503625e984f9a6130f Gerrit-Change-Number: 9895 Gerrit-PatchSet: 1 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 06 Jul 2018 10:00:40 + Gerrit-HasComments: Yes Gerrit-HasLabels: No
Change in osmo-gsm-manuals[master]: trx: Add Hardware device support section
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/9895 to look at the new patch set (#2). Change subject: trx: Add Hardware device support section .. trx: Add Hardware device support section Change-Id: I87fc54cf1751f31a3e92d6503625e984f9a6130f --- A OsmoTRX/chapters/trx-backends.adoc M OsmoTRX/osmotrx-usermanual.adoc 2 files changed, 69 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/95/9895/2 -- To view, visit https://gerrit.osmocom.org/9895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: I87fc54cf1751f31a3e92d6503625e984f9a6130f Gerrit-Change-Number: 9895 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy
Change in osmo-gsm-manuals[master]: trx: Add Hardware device support section
Harald Welte has posted comments on this change. ( https://gerrit.osmocom.org/9895 ) Change subject: trx: Add Hardware device support section .. Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/9895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I87fc54cf1751f31a3e92d6503625e984f9a6130f Gerrit-Change-Number: 9895 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy Gerrit-Comment-Date: Fri, 06 Jul 2018 14:48:43 + Gerrit-HasComments: No Gerrit-HasLabels: Yes
Change in osmo-gsm-manuals[master]: trx: Add Hardware device support section
Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/9895 ) Change subject: trx: Add Hardware device support section .. trx: Add Hardware device support section Change-Id: I87fc54cf1751f31a3e92d6503625e984f9a6130f --- A OsmoTRX/chapters/trx-backends.adoc M OsmoTRX/osmotrx-usermanual.adoc 2 files changed, 69 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved diff --git a/OsmoTRX/chapters/trx-backends.adoc b/OsmoTRX/chapters/trx-backends.adoc new file mode 100644 index 000..32ff82a --- /dev/null +++ b/OsmoTRX/chapters/trx-backends.adoc @@ -0,0 +1,67 @@ +[[osmotrx_device_support]] +== OsmoTRX hardware device support + +OsmoTRX consists of a _common_ part that applies to all TRX devices as well as +_hardware-specific_ parts for each TRX device. The hardware-specific parts are +usually provided by vendor-specific or device-specific libraries that are then +handled by some OsmoTRX glue code presenting a unified interface towards the +rest of the code by means of a _RadioDevice_ class. + +The common part includes the core TRX architecture as well as code for +implementing the external interfaces such as the TRX Manager UDP socket, +control, and VTY interfaces. + +The hardware-specific parts include support for driving one particular +implementation of a radio modem. Such a physical layer +implementation can come in many forms. Sometimes it runs on a general +purpose CPU, sometimes on a dedicated ARM core, a dedicated DSP, a +combination of DSP and FPGA. + +Joining the common part with each of the available backends results in a +different binary with different suffix for each backend. For instance, when +OsmoTRX is built with UHD backend, an _osmo-trx-uhd_ binary is generated; when +OsmoTRX is built with LimeSuite backend, an _osmo-trx-lms_ binary is generated. +Build of different backend can be enabled and disabled by means of configure +flags, which can be found in each subsection relative to each backend below. + +== `osmo-trx-uhd` for UHD based Transceivers + +This OsmoTRX model uses _libuhd_ (UHD, USRP Hardware Driver) to drive the +device, that is configuring it and reading/writing samples from/to it. + +So far, this backend has been mostly used to drive devices such as the Ettus +B200 family and Fairwaves UmTRX family, and used to be the default backend used +for legacy @osmo-trx@ binary when per-backend binaries didn't exist yet. + +Any device providing generic support for UHD should theoretically be able to be +run through this backend without much effort, but pracitcal experience showed +that some devices don't play well with it, such as the LimeSDR family of +devices, which showed far better results when using its native interface. + +Related code can be found in the _Transceiver52M/device/uhd/_ directory in +_osmo-trx.git_. + +== `osmo-trx-lms` for LimeSuite based Transceivers + +This OsmoTRX model uses LimeSuite API and library to drive the device, that is +configuring it and reading/writing samples from/to it. + +This backend was developed in order to be used together with LimeSDR-USB and +LimeSDR-mini devices, due to to the poor results obtained with the UHD backend, +and to simplify the stack. + +Related code can be found in the _Transceiver52M/device/lms/_ directory in +_osmo-trx.git_. + + +== `osmo-trx-usrp1` for libusrp based Transceivers + +This OsmoTRX model uses the legacy libusrp driver provided in GNU Radio 3.4.2. + +As this code was dropped from GNU Radio at some point and was found very +difficult to build, some work was done to create a standalone libusrp which can +be nowadays found as a separate git repository together with other osmocom git +repositories, in https://git.osmocom.org/libusrp/ + +Related code can be found in the _Transceiver52M/device/usrp1/_ directory in +_osmo-trx.git_. diff --git a/OsmoTRX/osmotrx-usermanual.adoc b/OsmoTRX/osmotrx-usermanual.adoc index f2ccbaf..7d04f78 100644 --- a/OsmoTRX/osmotrx-usermanual.adoc +++ b/OsmoTRX/osmotrx-usermanual.adoc @@ -25,6 +25,8 @@ include::chapters/trx-architectures.adoc[] +include::chapters/trx-backends.adoc[] + include::../common/chapters/trx_if.adoc[] include::../common/chapters/port_numbers.adoc[] -- To view, visit https://gerrit.osmocom.org/9895 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I87fc54cf1751f31a3e92d6503625e984f9a6130f Gerrit-Change-Number: 9895 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol Gerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Pau Espin Pedrol Gerrit-CC: Vadim Yanitskiy