aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/manuals/Makefile10
-rw-r--r--doc/manuals/chapters/code-architecture.adoc141
-rw-r--r--doc/manuals/chapters/configuration.adoc85
-rw-r--r--doc/manuals/chapters/control.adoc12
-rw-r--r--doc/manuals/chapters/counters.adoc4
-rw-r--r--doc/manuals/chapters/counters_generated.adoc7
-rw-r--r--doc/manuals/chapters/overview.adoc62
-rw-r--r--doc/manuals/chapters/running.adoc19
-rw-r--r--doc/manuals/chapters/trx-architectures.adoc34
-rw-r--r--doc/manuals/chapters/trx-backends.adoc46
-rw-r--r--doc/manuals/chapters/trx-devices.adoc90
-rw-r--r--doc/manuals/osmotrx-usermanual-docinfo.xml46
-rw-r--r--doc/manuals/osmotrx-usermanual.adoc42
-rw-r--r--doc/manuals/osmotrx-vty-reference.xml37
-rw-r--r--doc/manuals/vty/trx_vty_additions.xml2
-rw-r--r--doc/manuals/vty/trx_vty_reference.xml1183
16 files changed, 1820 insertions, 0 deletions
diff --git a/doc/manuals/Makefile b/doc/manuals/Makefile
new file mode 100644
index 0000000..81aec9a
--- /dev/null
+++ b/doc/manuals/Makefile
@@ -0,0 +1,10 @@
+TOPDIR = ..
+
+ASCIIDOC = osmotrx-usermanual.adoc
+ASCIIDOC_DEPS = chapters/*.adoc
+include $(TOPDIR)/build/Makefile.asciidoc.inc
+
+VTY_REFERENCE = osmotrx-vty-reference.xml
+include $(TOPDIR)/build/Makefile.vty-reference.inc
+
+include $(TOPDIR)/build/Makefile.common.inc
diff --git a/doc/manuals/chapters/code-architecture.adoc b/doc/manuals/chapters/code-architecture.adoc
new file mode 100644
index 0000000..18d0e3a
--- /dev/null
+++ b/doc/manuals/chapters/code-architecture.adoc
@@ -0,0 +1,141 @@
+[[code_architecture]]
+== Code Architecture
+
+[[fig-code-architecture-general]]
+.General overview of main OsmoTRX components
+[graphviz]
+----
+digraph hierarchy {
+node[shape=record,style=filled,fillcolor=gray95]
+edge[dir=back, arrowtail=empty]
+
+2[label = "{Transceiver|+ constructor()\l+ destructor()\l+ init()\l+ numChans()\l+ receiveFIFO()\l+ setSignalHandler()}"]
+3[label = "{RadioInterface|...}"]
+4[label = "{RadioInterfaceResamp|...}"]
+5[label = "{RadioInterfaceMulti|...}"]
+6[label = "{RadioDevice|...}"]
+7[label = "{UHDDevice|...}"]
+8[label = "{LMSDevice|...}"]
+9[label = "{USRPDevice|...}"]
+
+2->3[arrowtail=odiamond]
+3->4[constraint=false]
+3->5[constraint=false]
+3->6[arrowtail=odiamond]
+6->7
+6->8
+6->9
+}
+----
+
+[[fig-code-architecture-threads]]
+.Example of thread architecture with OsmoTRX configured to use 2 logical RF channels (Trx=Transceiver, RI=RadioIface)
+[graphviz]
+----
+digraph hierarchy {
+node[shape=record,style=filled,fillcolor=gray95]
+
+trans [label="Transceiver"];
+radioiface [label="RadioInterface"];
+radiodev [label="RadioDevice"];
+
+trans:nw->trans:ne [label="Trx.ControlServiceLoop_0"];
+trans:nw->trans:ne [label="Trx.ControlServiceLoop_1"];
+trans:w->radioiface:w [label="Trx.TxPriorityQueueServiceLoop_0"];
+trans:w->radioiface:w [label="Trx.TxPriorityQueueServiceLoop_1"];
+radioiface:e->trans:e [label="Trx.RxServiceLoop_0"];
+radioiface:e->trans:e [label="Trx.RxServiceLoop_1"];
+radioiface->radiodev[label="RI.AlignRadioServiceLoop"];
+radioiface:sw->radiodev:nw [label="Trx.TxLowerLoop"];
+radiodev:ne->radioiface:se [label="Trx.RxLowerLoop"];
+}
+----
+
+[[code_component_transceiver]]
+=== Transceiver
+
+The Transceiver is the main component managing the other components running in
+the OsmoTRX process. There's a unique instance per process.
+
+This class is quite complex from code point of view, as it starts lots of
+different threads and hence the interaction with this class from the outside is
+quite limited. Only interaction possible is to:
+
+* `Transceiver()`: Create an instance through its constructor, at this time most
+ configuration is handed to it.
+* `init()`: Start running all the threads.
+* `receiveFIFO()`: Attach a `radioInterface` channel FIFO in order to use it.
+* `setSignalHandler()`: Used to set up a callback to receive certain events
+ asynchronously from the Transceiver. No assumptions can be made about from
+ which thread is the callback being called, which means multi-thread locking
+ precautions may be required in certain cases, similar to usual signal handler
+ processing. One important event received through this path is for instance
+ when the Transceiver detected a fatal error which requires it to stop. Since
+ it cannot stop itself (see destructor below), stopping procedure must be
+ delegated to the user who created the instance.
+* `~Transceiver()`: The destructor, which stops all running threads created at
+ `init()` time. Destroying the object is the only way to stop the `Transceiver`
+ completely, and must be called from a thread not managed by the
+ `Transceiver`, otherwise it will deadlock. Usually it is stopped from the main
+ thread, the one that called the constructor during startup.
+
+During `init()` time, `Transceiver` will create a noticeable amount of threads,
+which may vary depending on the amount of RF channels requested.
+
+Static amount of Threads (1 per `Transceiver` instance):
+
+* `RxLowerLoop`: This thread is responsible for reading bursts from the
+ `RadioInterface`, storing them into its FIFO and sending Clock Indications
+ (<<trx_if_clock_ind>>) to _osmo-bts_trx_.
+* `TxLowerLoop`: Manages pushing bursts from buffers in the FIFO into the
+ `RadioInterface` at expected correct time based on the Transceiver clock.
+
+Dynamic amount of Threads (1 per RF logical channel on the `Transceiver` instance):
+
+* `ControlServiceLoop`: Handles commands from the Per-ARFCN Control Interface
+ socket (<<trx_if_control>>). Each thread is responsible for managing one
+ socket related to one ARFCN or which is the same, to one RF logical channel.
+ These are the only threads expected to use the private `start()` and `stop()`
+ methods of the `Transceiver()` class, since those methods don't stop any of
+ the `ControlServiceLoop` threads as they must keep running to handle new
+ commands (for instance, to re-start processing samples with the _POWERON_
+ command).
+* `RxServiceLoop`: Each thread of this type pulls bursts from the
+ `RadioInterface` FIFO for one specific logical RF channel and handles it
+ according to the slot and burst correlation type, finally sending proper data
+ over the TRX Manager UDP socket (<<trx_if>>).
+* `TxPriorityQueueServiceLoop`: Blocks reading from one ARFCN specific TRX
+ Manager UDP socket (<<trx_if>>), and fills the `RadioInterface` with it
+ setting clock related information.
+
+[[code_component_radioiface]]
+=== RadioInterface
+
+The `RadioInterface` sits between the `Transceiver` and the `RadioDevice`, and
+provides extra features to the pipe like channelizers, resamplers, Tx/Rx
+synchronization on some devices, etc.
+
+If the `RadioDevice` it drives requires it (only _USRP1_ so far), the
+`RadioIntercace` will start and manage a thread internally called
+`AlignRadioServiceLoop` which will align current RX and TX timestamps.
+
+Different features are offered through different `RadioInterface` subclasses
+which are selected based on configuration and device detected at runtime. Using
+these features may impact on the amount of CPU required to run the entire pipe.
+
+==== RadioInterfaceResamp
+
+This subclass of `RadioInterface` is automatically selected when some known
+specific UHD are to be used, since they require resampling to work properly.
+Some of this devices are for instance Ettus B100, USRP2 and X3XX models.
+
+==== RadioInterfaceMulti
+
+This subclass of `RadioInterface` is used when <<multiarfcn_mode>> is requested.
+
+[[code_component_radiodev]]
+=== RadioDevice
+
+The `RadioDevice` class is responsible for driving the actual Hardware device.
+It is actually only an interface, and it is implemented in each backend which in
+turn becomes a specific OsmoTRX binary, see <<trx_backends>>.
diff --git a/doc/manuals/chapters/configuration.adoc b/doc/manuals/chapters/configuration.adoc
new file mode 100644
index 0000000..87d7903
--- /dev/null
+++ b/doc/manuals/chapters/configuration.adoc
@@ -0,0 +1,85 @@
+== Configuring OsmTRX
+
+OsmoTRX will read the configuration at startup time and configure the
+transceiver accordingly after validating the configuration.
+
+OsmoTRX can handle several TRX channels, but at least one must be configured in
+order to be able to start it successfully. Channels must be present in the
+configuration file in incremental order, starting from 0 and be consecutive.
+
+Example configuration files for different devices and setups can be found in
+`doc/examples/` in 'osmo-trx' git repository.
+
+=== Documented example
+
+.Example: Static GGSN/APN configuration (single catch-all GGSN)
+----
+trx
+ bind-ip 127.0.0.1 <1>
+ remote-ip 127.0.0.1 <2>
+ base-port 5700 <3>
+ egprs disable <4>
+ tx-sps 4 <5>
+ rx-sps 4 <6>
+ chan 0 <7>
+ tx-path BAND1 <8>
+ rx-path LNAW <9>
+----
+<1> Configure the local IP address at the TRX used for the connection against `osmo-bts-trx`.
+<2> Specify the IP address of `osmo-bts-trx` to connect to.
+<3> Specify the reference base UDP port to use for communication.
+<4> Don't enable EDGE support.
+<5> Use 4 TX samples per symbol. This is device specific.
+<6> Use 4 RX samples per symbol. This is device specific.
+<7> Configure the first channel. As no other channels are specified, `osmo-trx` assumes it is using only one channel.
+<8> Configure the device to use `BAND1` Tx antenna path from all the available ones (device specific).
+<9> Configure the device to use `LNAW` Rx antenna path from all the available ones (device specific).
+
+[[multiarfcn_mode]]
+=== Multi-ARFCN mode
+
+The Multi-ARFCN feature allows to have a multi-carrier approach multiplexed on a
+single physical RF channel, which can introduce several benefits, such as lower
+cost and higher capacity support.
+
+Multi-ARFCN support is available since osmo-trx release `0.2.0`, and it was
+added specifically in commit `76764278169d252980853251daeb9f1ba0c246e1`.
+
+This feature is useful for instance if you want to run more than 1 TRX with an
+Ettus B200 device, or 3 TRX with an Ettus B210 device, since they support only 1
+and 2 physical RF channels respectively. No device from other providers or even
+other devices than B200 and B210 from Ettus are known to support this feature.
+
+With multi-ARFCN enabled, ARFCN spacing is fixed at 800 kHz or 4 GSM channels.
+So if TRX-0 is set to ARFCN 51, TRX-1 _must_ be set to 55, and so on. Up to
+three ARFCN's is supported for multi-TRX.
+
+From BTS and BSC point of view, supporting multiple TRX through multi-ARFCN
+feature in OsmoTRX doesn't make any difference from a regular multi-TRX setup,
+leaving apart of course the mentioned ARFCN limitations explained above and as a
+consequence physical installation and operational differences.
+
+.Example: osmo-bts-trx.cfg using 2 TRX against an osmo-trx driven device
+----
+phy 0
+ osmotrx ip local 127.0.0.1
+ osmotrx ip remote 127.0.0.1
+ instance 0
+ instance 1
+bts 0
+ ...
+ band GSM-1800
+ trx 0
+ phy 0 instance 0
+ trx 1
+ phy 0 instance 1
+----
+
+.Example: osmo-trx.cfg using Multi-ARFCN mode to run 2 TRX
+----
+trx
+ ...
+ multi-arfcn enable
+ chan 0
+ chan 1
+----
diff --git a/doc/manuals/chapters/control.adoc b/doc/manuals/chapters/control.adoc
new file mode 100644
index 0000000..168769a
--- /dev/null
+++ b/doc/manuals/chapters/control.adoc
@@ -0,0 +1,12 @@
+[[control]]
+== Control interface
+
+The actual protocol is described in <<common-control-if>>, the variables
+common to all programs using it are described in <<ctrl_common_vars>>. Here we
+describe variables specific to OsmoTRX.
+
+.Variables available over control interface
+[options="header",width="100%",cols="20%,5%,5%,50%,20%"]
+|===
+|Name|Access|Trap|Value|Comment
+|===
diff --git a/doc/manuals/chapters/counters.adoc b/doc/manuals/chapters/counters.adoc
new file mode 100644
index 0000000..7fbb10c
--- /dev/null
+++ b/doc/manuals/chapters/counters.adoc
@@ -0,0 +1,4 @@
+[[counters]]
+== Counters
+
+include::./counters_generated.adoc[]
diff --git a/doc/manuals/chapters/counters_generated.adoc b/doc/manuals/chapters/counters_generated.adoc
new file mode 100644
index 0000000..b40dc37
--- /dev/null
+++ b/doc/manuals/chapters/counters_generated.adoc
@@ -0,0 +1,7 @@
+// autogenerated by show asciidoc counters
+These counters and their description based on OsmoTRX 0.2.0.61-408f (OsmoTRX).
+
+// generating tables for rate_ctr_group
+// generating tables for osmo_stat_items
+// generating tables for osmo_counters
+// there are no ungrouped osmo_counters
diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc
new file mode 100644
index 0000000..785e26b
--- /dev/null
+++ b/doc/manuals/chapters/overview.adoc
@@ -0,0 +1,62 @@
+[[chapter_introduction]]
+== Overview
+
+[[intro_overview]]
+=== About OsmoTRX
+
+OsmoTRX is a C/C++ language implementation of the GSM radio modem,
+originally developed as the 'Transceiver' part of OpenBTS. This radio
+modem offers an interface based on top of UDP streams.
+
+
+The OsmoBTS bts_model code for OsmoTRX is called
+`osmo-bts-trx`. It implements the UDP stream interface of
+OsmoTRX, so both parts can be used together to implement a complete GSM
+BTS based on general-purpose computing SDR.
+
+As OsmoTRX is general-purpose software running on top of Linux, it is
+thus not tied to any specific physical hardware. At the time of this
+writing, OsmoTRX supports a variety of Lime Microsystems and Ettus USRP SDRs via
+the UHD driver, as well as the Fairwaves UmTRX and derived products.
+
+OsmoTRX is not a complete GSM PHY but 'just' the radio modem. This
+means that all of the Layer 1 functionality such as scheduling,
+convolutional coding, etc. is actually also implemented inside OsmoBTS.
+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
+
+As such, the boundary between OsmoTRX and `osmo-bts-trx` is at
+a much lower interface, which is an internal interface of other more
+traditional GSM PHY implementations.
+
+Besides OsmoTRX, there are also other implementations (both Free
+Software and proprietary) that implement the same UDP stream based radio
+modem interface.
+
+[[fig-gprs-pcubts]]
+.GSM network architecture with OsmoTRX and OsmoBTS
+[graphviz]
+----
+digraph G {
+ rankdir=LR;
+ MS0 [label="MS"];
+ MS1 [label="MS"];
+ MS0->SDR[label="Um"];
+ MS1->SDR [label="Um"];
+ SDR -> OsmoTRX [label="Raw Samples"];
+ OsmoTRX->BTS [label="bursts over UDP"];
+ BTS->BSC [label="Abis"];
+ BSC->MSC [label="A"];
+ BTS->PCU [label="pcu_sock"];
+ PCU->SGSN [label="Gb"];
+ OsmoTRX [color=red];
+}
+----
+
+For more information see
+https://osmocom.org/projects/osmotrx/wiki/OsmoTRX
diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc
new file mode 100644
index 0000000..7ed2884
--- /dev/null
+++ b/doc/manuals/chapters/running.adoc
@@ -0,0 +1,19 @@
+== Running OsmoTRX
+
+The OsmoTRX executable (`osmo-trx`) offers the following command-line
+options:
+
+
+=== SYNOPSIS
+
+*osmo-trx* [-h] [-C 'CONFIGFILE']
+
+
+=== OPTIONS
+
+*-h*::
+ Print a short help message about the supported options
+*-C 'CONFIGFILE'*::
+ Specify the file and path name of the configuration file to be
+ used. If none is specified, use `osmo_trx.cfg` in the current
+ working directory.
diff --git a/doc/manuals/chapters/trx-architectures.adoc b/doc/manuals/chapters/trx-architectures.adoc
new file mode 100644
index 0000000..66eae5e
--- /dev/null
+++ b/doc/manuals/chapters/trx-architectures.adoc
@@ -0,0 +1,34 @@
+[[osmotrx_arch_support]]
+== OsmoTRX hardware architecture support
+
+OsmoTRX comes out-of-the-box with several algorithms and operations
+optimized for certain instruction-set architectures, as well as non-optimized
+fall-back algorithms in case required instruction sets are not supported by the
+compiler at compile time or by the executing machine at run-time. Support for
+these optimized algorithms can be enabled and disabled by means of configure
+flags. Accelerated operations include pulse shape filtering, resampling,
+sequence correlation, and many other signal processing operations.
+
+On Intel processors, OsmoTRX makes heavy use of the Streaming SIMD Extensions
+(SSE) instruction set. SSE3 is the minimum requirement for accelerated use.
+SSE3 is present in the majority of Intel processors since later versions of the
+Pentium 4 architecture and is also present on low power Atom processors. Support
+is automatically detected at build time. SSE4.1 instruction set is supported
+too. This feature is enabled by default unless explicitly disabled by passing
+the configure flag _--with-sse=no_. When enabled, the compiler will build an
+extra version of each of the supported algorithms using each of the supported
+mentioned instruction sets. Then, at run-time, OsmoTRX will auto-detect
+capabilities of the executing machine and enable an optimized algorithm using
+the most suitable available (previously compiled) instruction set.
+
+On ARM processors, NEON and NEON FMA are supported. Different to the x86, there
+is no auto-detection in this case, nor difference between compile and runtime.
+NEON support is disabled by default and can be enabled by passing the flag
+_--with-neon=yes_ to the configure script; the used compiler must support NEON
+instruction set and the resulting binary will only run fine on an ARM board
+supporting NEON extensions. Running OsmoTRX built with flag _--with-neon_ on a
+board without NEON instruction set support, will most probably end up in the
+process being killed with a _SIGILL_ Illegal Instruction signal by the operating
+system. NEON FMA (Fused Multiply-Add) is an extension to the NEON instruction
+set, and its use in OsmoTRX can be enabled by passing the _--with_neon_vfpv4_
+flag, which will also implicitly enable NEON support (_--with_neon_).
diff --git a/doc/manuals/chapters/trx-backends.adoc b/doc/manuals/chapters/trx-backends.adoc
new file mode 100644
index 0000000..8829fa6
--- /dev/null
+++ b/doc/manuals/chapters/trx-backends.adoc
@@ -0,0 +1,46 @@
+[[trx_backends]]
+== OsmoTRX backend support
+
+[[backend_uhd]]
+=== `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_.
+
+[[backend_lms]]
+=== `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_.
+
+[[backend_usrp1]]
+=== `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/doc/manuals/chapters/trx-devices.adoc b/doc/manuals/chapters/trx-devices.adoc
new file mode 100644
index 0000000..10c8529
--- /dev/null
+++ b/doc/manuals/chapters/trx-devices.adoc
@@ -0,0 +1,90 @@
+[[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.
+
+[[dev_ettus_usrp1]]
+=== Ettus USRP1
+
+The binary _osmo-trx-usrp1_ is used to drive this device, see <<backend_usrp1>>.
+
+[[dev_ettus_b200]]
+=== Ettus B200
+
+The binary _osmo-trx-uhd_ is used to drive this device, see <<backend_uhd>>.
+
+Comes only with 1 RF channel. It can still be used in a multi-TRX setup by using
+the <<multiarfcn_mode>> feature. By using this feature, one can drive up to 3
+TRX (with the restrictions explained there).
+
+[[dev_ettus_b200]]
+=== Ettus B210
+
+The binary _osmo-trx-uhd_ is used to drive this device, see <<backend_uhd>>.
+
+Comes with 2 RF channels, which can be used to set up a multi-TRX BTS. However,
+due to a shared local oscillator for both RF channels, ARFCN separation can be
+up about 25 MHz.
+
+This device also supports the <<multiarfcn_mode>> feature. By using this
+feature, one can drive up to 3 TRX (with the restrictions explained there).
+Please note that the above configurations cannot be combined, which means
+maximum number of TRX one can achieve is 2 by using separate physical RF
+channels, or 3 by using multi-ARFCN method. You cannot support, for example, 6
+ARFCN operation on B210 using 3 TRX on side A and another 3 TRX on side B.
+
+[[dev_limesdr_usb]]
+=== LimeSDR-USB
+
+The binary _osmo-trx-lms_ is used to drive this device, see <<backend_lms>>.
+
+This device comes with 2 RF channels, so it should theoretically be possible to
+run a multi-TRX setup with it, but there are yet no records that this kind of
+setup was tested with this device.
+
+This device has 3 different Rx paths with different antenna connectors in the
+PCB, each with a different frequency and bandwidth range. One should make sure
+the physical antenna is connected to the correct connector matching the Rx path
+you want to use. If one wants to be able to use the device in both 900 and 1800
+MHz GSM bands and easily switch between them, then Rx Path `LNAW` should be used
+,since it is the only one covering both bands, and the antenna physically plugged
+accordingly. Following example shows how to then configure _osmo-trx-lms_ to use
+that Rx path to read samples.
+
+.Example: Configure osmo-trx-lms to use LNAW as Rx path and BAND1 as Tx Path
+----
+trx
+ ...
+ chan 0
+ tx-path BAND1
+ rx-path LNAW
+----
+
+[[dev_limesdr_mini]]
+=== LimeSDR-mini
+
+The binary _osmo-trx-lms_ is used to drive this device, see <<backend_lms>>.
+
+As a smaller brother of the [[dev_limesdr_usb]], this device comes only with 1
+RF channel. As a result, it can only hold 1 TRX as of today.
diff --git a/doc/manuals/osmotrx-usermanual-docinfo.xml b/doc/manuals/osmotrx-usermanual-docinfo.xml
new file mode 100644
index 0000000..34225be
--- /dev/null
+++ b/doc/manuals/osmotrx-usermanual-docinfo.xml
@@ -0,0 +1,46 @@
+<revhistory>
+ <revision>
+ <revnumber>1</revnumber>
+ <date>March 6, 2019</date>
+ <authorinitials>PE</authorinitials>
+ <revremark>
+ Initial version.
+ </revremark>
+ </revision>
+</revhistory>
+
+<authorgroup>
+ <author>
+ <firstname>Pau</firstname>
+ <surname>Espin Pedrol</surname>
+ <email>pespin@sysmocom.de</email>
+ <authorinitials>PE</authorinitials>
+ <affiliation>
+ <shortaffil>sysmocom</shortaffil>
+ <orgname>sysmocom - s.f.m.c. GmbH</orgname>
+ <jobtitle>Software Developer</jobtitle>
+ </affiliation>
+ </author>
+</authorgroup>
+
+<copyright>
+ <year>2018</year>
+ <holder>sysmocom - s.f.m.c. GmbH</holder>
+</copyright>
+
+<legalnotice>
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation License,
+ Version 1.3 or any later version published by the Free Software
+ Foundation; with no Invariant Sections, no Front-Cover Texts,
+ and no Back-Cover Texts. A copy of the license is included in
+ the section entitled "GNU Free Documentation License".
+ </para>
+ <para>
+ The Asciidoc source code of this manual can be found at
+ <ulink url="http://git.osmocom.org/osmo-gsm-manuals/">
+ http://git.osmocom.org/osmo-gsm-manuals/
+ </ulink>
+ </para>
+</legalnotice>
diff --git a/doc/manuals/osmotrx-usermanual.adoc b/doc/manuals/osmotrx-usermanual.adoc
new file mode 100644
index 0000000..14f5514
--- /dev/null
+++ b/doc/manuals/osmotrx-usermanual.adoc
@@ -0,0 +1,42 @@
+:gfdl-enabled:
+
+OsmoTRX User Manual
+====================
+Pau Espin Pedrol <pespin@sysmocom.de>
+
+
+include::../common/chapters/preface.adoc[]
+
+include::chapters/overview.adoc[]
+
+include::chapters/running.adoc[]
+
+include::../common/chapters/control_if.adoc[]
+
+include::chapters/control.adoc[]
+
+include::../common/chapters/vty.adoc[]
+
+include::../common/chapters/logging.adoc[]
+
+include::chapters/counters.adoc[]
+
+include::chapters/configuration.adoc[]
+
+include::chapters/trx-architectures.adoc[]
+
+include::chapters/trx-devices.adoc[]
+
+include::chapters/trx-backends.adoc[]
+
+include::chapters/code-architecture.adoc[]
+
+include::../common/chapters/trx_if.adoc[]
+
+include::../common/chapters/port_numbers.adoc[]
+
+include::../common/chapters/bibliography.adoc[]
+
+include::../common/chapters/glossary.adoc[]
+
+include::../common/chapters/gfdl.adoc[]
diff --git a/doc/manuals/osmotrx-vty-reference.xml b/doc/manuals/osmotrx-vty-reference.xml
new file mode 100644
index 0000000..ae0afbf
--- /dev/null
+++ b/doc/manuals/osmotrx-vty-reference.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ex:ts=2:sw=42sts=2:et
+ -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+-->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML 5.0//EN"
+"http://docbook.org/xml/5.0/dtd/docbook.dtd" [
+<!ENTITY chapter-vty SYSTEM "../common/chapters/vty.xml" >
+<!ENTITY sections-vty SYSTEM "generated/docbook_vty.xml" >
+]>
+
+<book>
+ <info>
+ <revhistory>
+ <revision>
+ <revnumber>v1</revnumber>
+ <date>6th March 2018</date>
+ <authorinitials>pe</authorinitials>
+ <revremark>Initial</revremark>
+ </revision>
+ </revhistory>
+
+ <title>OsmoTRX VTY Reference</title>
+
+ <copyright>
+ <year>2018</year>
+ </copyright>
+
+ <legalnotice>
+ <para>This work is copyright by <orgname>sysmocom - s.f.m.c. GmbH</orgname>. All rights reserved.
+ </para>
+ </legalnotice>
+ </info>
+
+ <!-- Main chapters-->
+ &chapter-vty;
+</book>
diff --git a/doc/manuals/vty/trx_vty_additions.xml b/doc/manuals/vty/trx_vty_additions.xml
new file mode 100644
index 0000000..a4c675e
--- /dev/null
+++ b/doc/manuals/vty/trx_vty_additions.xml
@@ -0,0 +1,2 @@
+<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'>
+</vtydoc>
diff --git a/doc/manuals/vty/trx_vty_reference.xml b/doc/manuals/vty/trx_vty_reference.xml
new file mode 100644
index 0000000..ffc642a
--- /dev/null
+++ b/doc/manuals/vty/trx_vty_reference.xml
@@ -0,0 +1,1183 @@
+<vtydoc xmlns='urn:osmocom:xml:libosmocore:vty:doc:1.0'>
+ <node id='_common_cmds_'>
+ <name>Common Commands</name>
+ <description>These commands are available on all VTY nodes. They are listed here only once, to unclutter the VTY reference.</description>
+ <command id='help'>
+ <params>
+ <param name='help' doc='Description of the interactive help system' />
+ </params>
+ </command>
+ <command id='list'>
+ <params>
+ <param name='list' doc='Print command list' />
+ </params>
+ </command>
+ <command id='write terminal'>
+ <params>
+ <param name='write' doc='Write running configuration to memory, network, or terminal' />
+ <param name='terminal' doc='Write to terminal' />
+ </params>
+ </command>
+ <command id='write file'>
+ <params>
+ <param name='write' doc='Write running configuration to memory, network, or terminal' />
+ <param name='file' doc='Write to configuration file' />
+ </params>
+ </command>
+ <command id='write memory'>
+ <params>
+ <param name='write' doc='Write running configuration to memory, network, or terminal' />
+ <param name='memory' doc='Write configuration to the file (same as write file)' />
+ </params>
+ </command>
+ <command id='write'>
+ <params>
+ <param name='write' doc='Write running configuration to memory, network, or terminal' />
+ </params>
+ </command>
+ <command id='show running-config'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='running-config' doc='running configuration' />
+ </params>
+ </command>
+ <command id='exit'>
+ <params>
+ <param name='exit' doc='Exit current mode and down to previous mode' />
+ </params>
+ </command>
+ <command id='end'>
+ <params>
+ <param name='end' doc='End current mode and change to enable mode.' />
+ </params>
+ </command>
+ </node>
+ <node id='view'>
+ <name>view</name>
+ <command id='show version'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='version' doc='Displays program version' />
+ </params>
+ </command>
+ <command id='show online-help'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='online-help' doc='Online help' />
+ </params>
+ </command>
+ <command id='enable'>
+ <params>
+ <param name='enable' doc='Turn on privileged mode command' />
+ </params>
+ </command>
+ <command id='terminal length &lt;0-512&gt;'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='length' doc='Set number of lines on a screen' />
+ <param name='&lt;0-512&gt;' doc='Number of lines on screen (0 for no pausing)' />
+ </params>
+ </command>
+ <command id='terminal no length'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='length' doc='Set number of lines on a screen' />
+ </params>
+ </command>
+ <command id='echo .MESSAGE'>
+ <params>
+ <param name='echo' doc='Echo a message back to the vty' />
+ <param name='.MESSAGE' doc='The message to echo' />
+ </params>
+ </command>
+ <command id='who'>
+ <params>
+ <param name='who' doc='Display who is on vty' />
+ </params>
+ </command>
+ <command id='show history'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='history' doc='Display the session command history' />
+ </params>
+ </command>
+ <command id='show trx'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='trx' doc='Display information on the TRX' />
+ </params>
+ </command>
+ <command id='logging enable'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='all' doc='Do you want to log all messages?' />
+ <param name='0' doc='Only print messages matched by other filters' />
+ <param name='1' doc='Bypass filter and print all messages' />
+ </params>
+ </command>
+ <command id='logging color (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='color' doc='Configure color-printing for log messages' />
+ <param name='0' doc='Don&apos;t use color for printing messages' />
+ <param name='1' doc='Use color for printing messages' />
+ </params>
+ </command>
+ <command id='logging timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp' />
+ </params>
+ </command>
+ <command id='logging print extended-timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='extended-timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn' />
+ </params>
+ </command>
+ <command id='logging print category (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem name' />
+ </params>
+ </command>
+ <command id='logging print category-hex (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category-hex' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem nr in hex (&apos;&lt;000b&gt;&apos;)' />
+ </params>
+ </command>
+ <command id='logging print level (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='level' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the log level name' />
+ </params>
+ </command>
+ <command id='logging print file (0|1|basename)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='file' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the source file and line' />
+ <param name='basename' doc='Prefix each log message with the source file&apos;s basename (strip leading paths) and line' />
+ </params>
+ </command>
+ <command id='logging set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='List of logging categories to log, e.g. &apos;abc:mno:xyz&apos;. Available log categories depend on the specific application, refer to the &apos;logging level&apos; command. Optionally add individual log levels like &apos;abc,1:mno,3:xyz,5&apos;, where the level numbers are LOGL_DEBUG=1 LOGL_INFO=3 LOGL_NOTICE=5 LOGL_ERROR=7 LOGL_FATAL=8' />
+ </params>
+ </command>
+ <command id='logging set log mask MASK'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='set' doc='Decide which categories to output.' />
+ <param name='log' doc='Log commands' />
+ <param name='mask' doc='Mask commands' />
+ <param name='MASK' doc='&apos;set log mask&apos; is deprecated, please refer to the docs of &apos;set-log-mask&apos; instead' />
+ </params>
+ </command>
+ <command id='logging level (all|main|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='main' doc='Main generic category' />
+ <param name='lglobal' doc='Library-internal global log family' />
+ <param name='llapd' doc='LAPD in libosmogsm' />
+ <param name='linp' doc='A-bis Intput Subsystem' />
+ <param name='lmux' doc='A-bis B-Subchannel TRAU Frame Multiplex' />
+ <param name='lmi' doc='A-bis Input Driver for Signalling' />
+ <param name='lmib' doc='A-bis Input Driver for B-Channels (voice)' />
+ <param name='lsms' doc='Layer3 Short Message Service (SMS)' />
+ <param name='lctrl' doc='Control Interface' />
+ <param name='lgtp' doc='GPRS GTP library' />
+ <param name='lstats' doc='Statistics messages and logging' />
+ <param name='lgsup' doc='Generic Subscriber Update Protocol' />
+ <param name='loap' doc='Osmocom Authentication Protocol' />
+ <param name='lss7' doc='libosmo-sigtran Signalling System 7' />
+ <param name='lsccp' doc='libosmo-sigtran SCCP Implementation' />
+ <param name='lsua' doc='libosmo-sigtran SCCP User Adaptation' />
+ <param name='lm3ua' doc='libosmo-sigtran MTP3 User Adaptation' />
+ <param name='lmgcp' doc='libosmo-mgcp Media Gateway Control Protocol' />
+ <param name='ljibuf' doc='libosmo-netif Jitter Buffer' />
+ <param name='everything' doc='Don&apos;t use. It doesn&apos;t log anything' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='show logging vty'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='logging' doc='Show current logging configuration' />
+ <param name='vty' doc='Show current logging configuration for this vty' />
+ </params>
+ </command>
+ <command id='show alarms'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='alarms' doc='Show current logging configuration' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH)'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH) tree ADDRESS'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ <param name='tree' doc='Display only a specific memory chunk' />
+ <param name='ADDRESS' doc='Chunk address (e.g. 0xdeadbeef)' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH) filter REGEXP'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ <param name='filter' doc='Filter chunks using regular expression' />
+ <param name='REGEXP' doc='Regular expression' />
+ </params>
+ </command>
+ <command id='show stats'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='stats' doc='Show statistical values' />
+ </params>
+ </command>
+ <command id='show stats level (global|peer|subscriber)'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='stats' doc='Show statistical values' />
+ <param name='level' doc='Set the maximum group level' />
+ <param name='global' doc='Show global groups only' />
+ <param name='peer' doc='Show global and network peer related groups' />
+ <param name='subscriber' doc='Show global, peer, and subscriber groups' />
+ </params>
+ </command>
+ <command id='show asciidoc counters'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='asciidoc' doc='Asciidoc generation' />
+ <param name='counters' doc='Generate table of all registered counters' />
+ </params>
+ </command>
+ </node>
+ <node id='enable'>
+ <name>enable</name>
+ <command id='disable'>
+ <params>
+ <param name='disable' doc='Turn off privileged mode command' />
+ </params>
+ </command>
+ <command id='configure terminal'>
+ <params>
+ <param name='configure' doc='Configuration from vty interface' />
+ <param name='terminal' doc='Configuration terminal' />
+ </params>
+ </command>
+ <command id='copy running-config startup-config'>
+ <params>
+ <param name='copy' doc='Copy configuration' />
+ <param name='running-config' doc='Copy running config to... ' />
+ <param name='startup-config' doc='Copy running config to startup config (same as write file)' />
+ </params>
+ </command>
+ <command id='show startup-config'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='startup-config' doc='Contentes of startup configuration' />
+ </params>
+ </command>
+ <command id='show version'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='version' doc='Displays program version' />
+ </params>
+ </command>
+ <command id='show online-help'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='online-help' doc='Online help' />
+ </params>
+ </command>
+ <command id='terminal length &lt;0-512&gt;'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='length' doc='Set number of lines on a screen' />
+ <param name='&lt;0-512&gt;' doc='Number of lines on screen (0 for no pausing)' />
+ </params>
+ </command>
+ <command id='terminal no length'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='length' doc='Set number of lines on a screen' />
+ </params>
+ </command>
+ <command id='echo .MESSAGE'>
+ <params>
+ <param name='echo' doc='Echo a message back to the vty' />
+ <param name='.MESSAGE' doc='The message to echo' />
+ </params>
+ </command>
+ <command id='who'>
+ <params>
+ <param name='who' doc='Display who is on vty' />
+ </params>
+ </command>
+ <command id='show history'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='history' doc='Display the session command history' />
+ </params>
+ </command>
+ <command id='terminal monitor'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='monitor' doc='Copy debug output to the current terminal line' />
+ </params>
+ </command>
+ <command id='terminal no monitor'>
+ <params>
+ <param name='terminal' doc='Set terminal line parameters' />
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='monitor' doc='Copy debug output to the current terminal line' />
+ </params>
+ </command>
+ <command id='show trx'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='trx' doc='Display information on the TRX' />
+ </params>
+ </command>
+ <command id='logging enable'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='enable' doc='Enables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging disable'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='disable' doc='Disables logging to this vty' />
+ </params>
+ </command>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='all' doc='Do you want to log all messages?' />
+ <param name='0' doc='Only print messages matched by other filters' />
+ <param name='1' doc='Bypass filter and print all messages' />
+ </params>
+ </command>
+ <command id='logging color (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='color' doc='Configure color-printing for log messages' />
+ <param name='0' doc='Don&apos;t use color for printing messages' />
+ <param name='1' doc='Use color for printing messages' />
+ </params>
+ </command>
+ <command id='logging timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp' />
+ </params>
+ </command>
+ <command id='logging print extended-timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='extended-timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn' />
+ </params>
+ </command>
+ <command id='logging print category (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem name' />
+ </params>
+ </command>
+ <command id='logging print category-hex (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category-hex' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem nr in hex (&apos;&lt;000b&gt;&apos;)' />
+ </params>
+ </command>
+ <command id='logging print level (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='level' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the log level name' />
+ </params>
+ </command>
+ <command id='logging print file (0|1|basename)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='file' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the source file and line' />
+ <param name='basename' doc='Prefix each log message with the source file&apos;s basename (strip leading paths) and line' />
+ </params>
+ </command>
+ <command id='logging set-log-mask MASK'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='set-log-mask' doc='Set the logmask of this logging target' />
+ <param name='MASK' doc='List of logging categories to log, e.g. &apos;abc:mno:xyz&apos;. Available log categories depend on the specific application, refer to the &apos;logging level&apos; command. Optionally add individual log levels like &apos;abc,1:mno,3:xyz,5&apos;, where the level numbers are LOGL_DEBUG=1 LOGL_INFO=3 LOGL_NOTICE=5 LOGL_ERROR=7 LOGL_FATAL=8' />
+ </params>
+ </command>
+ <command id='logging set log mask MASK'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='set' doc='Decide which categories to output.' />
+ <param name='log' doc='Log commands' />
+ <param name='mask' doc='Mask commands' />
+ <param name='MASK' doc='&apos;set log mask&apos; is deprecated, please refer to the docs of &apos;set-log-mask&apos; instead' />
+ </params>
+ </command>
+ <command id='logging level (all|main|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='main' doc='Main generic category' />
+ <param name='lglobal' doc='Library-internal global log family' />
+ <param name='llapd' doc='LAPD in libosmogsm' />
+ <param name='linp' doc='A-bis Intput Subsystem' />
+ <param name='lmux' doc='A-bis B-Subchannel TRAU Frame Multiplex' />
+ <param name='lmi' doc='A-bis Input Driver for Signalling' />
+ <param name='lmib' doc='A-bis Input Driver for B-Channels (voice)' />
+ <param name='lsms' doc='Layer3 Short Message Service (SMS)' />
+ <param name='lctrl' doc='Control Interface' />
+ <param name='lgtp' doc='GPRS GTP library' />
+ <param name='lstats' doc='Statistics messages and logging' />
+ <param name='lgsup' doc='Generic Subscriber Update Protocol' />
+ <param name='loap' doc='Osmocom Authentication Protocol' />
+ <param name='lss7' doc='libosmo-sigtran Signalling System 7' />
+ <param name='lsccp' doc='libosmo-sigtran SCCP Implementation' />
+ <param name='lsua' doc='libosmo-sigtran SCCP User Adaptation' />
+ <param name='lm3ua' doc='libosmo-sigtran MTP3 User Adaptation' />
+ <param name='lmgcp' doc='libosmo-mgcp Media Gateway Control Protocol' />
+ <param name='ljibuf' doc='libosmo-netif Jitter Buffer' />
+ <param name='everything' doc='Don&apos;t use. It doesn&apos;t log anything' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ <command id='show logging vty'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='logging' doc='Show current logging configuration' />
+ <param name='vty' doc='Show current logging configuration for this vty' />
+ </params>
+ </command>
+ <command id='show alarms'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='alarms' doc='Show current logging configuration' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH)'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH) tree ADDRESS'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ <param name='tree' doc='Display only a specific memory chunk' />
+ <param name='ADDRESS' doc='Chunk address (e.g. 0xdeadbeef)' />
+ </params>
+ </command>
+ <command id='show talloc-context (application|all) (full|brief|DEPTH) filter REGEXP'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='talloc-context' doc='Show talloc memory hierarchy' />
+ <param name='application' doc='Application&apos;s context' />
+ <param name='all' doc='All contexts, if NULL-context tracking is enabled' />
+ <param name='full' doc='Display a full talloc memory hierarchy' />
+ <param name='brief' doc='Display a brief talloc memory hierarchy' />
+ <param name='DEPTH' doc='Specify required maximal depth value' />
+ <param name='filter' doc='Filter chunks using regular expression' />
+ <param name='REGEXP' doc='Regular expression' />
+ </params>
+ </command>
+ <command id='show stats'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='stats' doc='Show statistical values' />
+ </params>
+ </command>
+ <command id='show stats level (global|peer|subscriber)'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='stats' doc='Show statistical values' />
+ <param name='level' doc='Set the maximum group level' />
+ <param name='global' doc='Show global groups only' />
+ <param name='peer' doc='Show global and network peer related groups' />
+ <param name='subscriber' doc='Show global, peer, and subscriber groups' />
+ </params>
+ </command>
+ <command id='show asciidoc counters'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='asciidoc' doc='Asciidoc generation' />
+ <param name='counters' doc='Generate table of all registered counters' />
+ </params>
+ </command>
+ </node>
+ <node id='config'>
+ <name>config</name>
+ <command id='hostname WORD'>
+ <params>
+ <param name='hostname' doc='Set system&apos;s network name' />
+ <param name='WORD' doc='This system&apos;s network name' />
+ </params>
+ </command>
+ <command id='no hostname [HOSTNAME]'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='hostname' doc='Reset system&apos;s network name' />
+ <param name='[HOSTNAME]' doc='Host name of this router' />
+ </params>
+ </command>
+ <command id='password (8|) WORD'>
+ <params>
+ <param name='password' doc='Assign the terminal connection password' />
+ <param name='8' doc='Specifies a HIDDEN password will follow' />
+ <param name='' doc='dummy string ' />
+ <param name='WORD' doc='The HIDDEN line password string' />
+ </params>
+ </command>
+ <command id='password LINE'>
+ <params>
+ <param name='password' doc='Assign the terminal connection password' />
+ <param name='LINE' doc='The UNENCRYPTED (cleartext) line password' />
+ </params>
+ </command>
+ <command id='enable password (8|) WORD'>
+ <params>
+ <param name='enable' doc='Modify enable password parameters' />
+ <param name='password' doc='Assign the privileged level password' />
+ <param name='8' doc='Specifies a HIDDEN password will follow' />
+ <param name='' doc='dummy string ' />
+ <param name='WORD' doc='The HIDDEN &apos;enable&apos; password string' />
+ </params>
+ </command>
+ <command id='enable password LINE'>
+ <params>
+ <param name='enable' doc='Modify enable password parameters' />
+ <param name='password' doc='Assign the privileged level password' />
+ <param name='LINE' doc='The UNENCRYPTED (cleartext) &apos;enable&apos; password' />
+ </params>
+ </command>
+ <command id='no enable password'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='enable' doc='Modify enable password parameters' />
+ <param name='password' doc='Assign the privileged level password' />
+ </params>
+ </command>
+ <command id='banner motd default'>
+ <params>
+ <param name='banner' doc='Set banner string' />
+ <param name='motd' doc='Strings for motd' />
+ <param name='default' doc='Default string' />
+ </params>
+ </command>
+ <command id='banner motd file [FILE]'>
+ <params>
+ <param name='banner' doc='Set banner' />
+ <param name='motd' doc='Banner for motd' />
+ <param name='file' doc='Banner from a file' />
+ <param name='[FILE]' doc='Filename' />
+ </params>
+ </command>
+ <command id='no banner motd'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='banner' doc='Set banner string' />
+ <param name='motd' doc='Strings for motd' />
+ </params>
+ </command>
+ <command id='service terminal-length &lt;0-512&gt;'>
+ <params>
+ <param name='service' doc='Set up miscellaneous service' />
+ <param name='terminal-length' doc='System wide terminal length configuration' />
+ <param name='&lt;0-512&gt;' doc='Number of lines of VTY (0 means no line control)' />
+ </params>
+ </command>
+ <command id='no service terminal-length [&lt;0-512&gt;]'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='service' doc='Set up miscellaneous service' />
+ <param name='terminal-length' doc='System wide terminal length configuration' />
+ <param name='[&lt;0-512&gt;]' doc='Number of lines of VTY (0 means no line control)' />
+ </params>
+ </command>
+ <command id='line vty'>
+ <params>
+ <param name='line' doc='Configure a terminal line' />
+ <param name='vty' doc='Virtual terminal' />
+ </params>
+ </command>
+ <command id='service advanced-vty'>
+ <params>
+ <param name='service' doc='Set up miscellaneous service' />
+ <param name='advanced-vty' doc='Enable advanced mode vty interface' />
+ </params>
+ </command>
+ <command id='no service advanced-vty'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='service' doc='Set up miscellaneous service' />
+ <param name='advanced-vty' doc='Enable advanced mode vty interface' />
+ </params>
+ </command>
+ <command id='show history'>
+ <params>
+ <param name='show' doc='Show running system information' />
+ <param name='history' doc='Display the session command history' />
+ </params>
+ </command>
+ <command id='ctrl'>
+ <params>
+ <param name='ctrl' doc='Configure the Control Interface' />
+ </params>
+ </command>
+ <command id='trx'>
+ <params>
+ <param name='trx' doc='Configure the TRX' />
+ </params>
+ </command>
+ <command id='log stderr'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='stderr' doc='Logging via STDERR of the process' />
+ </params>
+ </command>
+ <command id='no log stderr'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='stderr' doc='Logging via STDERR of the process' />
+ </params>
+ </command>
+ <command id='log file .FILENAME'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='file' doc='Logging to text file' />
+ <param name='.FILENAME' doc='Filename' />
+ </params>
+ </command>
+ <command id='no log file .FILENAME'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='file' doc='Logging to text file' />
+ <param name='.FILENAME' doc='Filename' />
+ </params>
+ </command>
+ <command id='log alarms &lt;2-32700&gt;'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='alarms' doc='Logging alarms to osmo_strrb' />
+ <param name='&lt;2-32700&gt;' doc='Maximum number of messages to log' />
+ </params>
+ </command>
+ <command id='no log alarms'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='alarms' doc='Logging alarms to osmo_strrb' />
+ </params>
+ </command>
+ <command id='log syslog (authpriv|cron|daemon|ftp|lpr|mail|news|user|uucp)'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='syslog' doc='Logging via syslog' />
+ <param name='authpriv' doc='Security/authorization messages facility' />
+ <param name='cron' doc='Clock daemon (cron/at) facility' />
+ <param name='daemon' doc='General system daemon facility' />
+ <param name='ftp' doc='Ftp daemon facility' />
+ <param name='lpr' doc='Line printer facility' />
+ <param name='mail' doc='Mail facility' />
+ <param name='news' doc='News facility' />
+ <param name='user' doc='Generic facility' />
+ <param name='uucp' doc='UUCP facility' />
+ </params>
+ </command>
+ <command id='log syslog local &lt;0-7&gt;'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='syslog' doc='Logging via syslog' />
+ <param name='local' doc='Syslog LOCAL facility' />
+ <param name='&lt;0-7&gt;' doc='Local facility number' />
+ </params>
+ </command>
+ <command id='no log syslog'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='syslog' doc='Logging via syslog' />
+ </params>
+ </command>
+ <command id='log gsmtap [HOSTNAME]'>
+ <params>
+ <param name='log' doc='Configure logging sub-system' />
+ <param name='gsmtap' doc='Logging via GSMTAP' />
+ <param name='[HOSTNAME]' doc='Host name to send the GSMTAP logging to (UDP port 4729)' />
+ </params>
+ </command>
+ <command id='stats reporter statsd'>
+ <params>
+ <param name='stats' doc='Configure stats sub-system' />
+ <param name='reporter' doc='Configure a stats reporter' />
+ <param name='statsd' doc='Report to a STATSD server' />
+ </params>
+ </command>
+ <command id='no stats reporter statsd'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='stats' doc='Configure stats sub-system' />
+ <param name='reporter' doc='Configure a stats reporter' />
+ <param name='statsd' doc='Report to a STATSD server' />
+ </params>
+ </command>
+ <command id='stats reporter log'>
+ <params>
+ <param name='stats' doc='Configure stats sub-system' />
+ <param name='reporter' doc='Configure a stats reporter' />
+ <param name='log' doc='Report to the logger' />
+ </params>
+ </command>
+ <command id='no stats reporter log'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='stats' doc='Configure stats sub-system' />
+ <param name='reporter' doc='Configure a stats reporter' />
+ <param name='log' doc='Report to the logger' />
+ </params>
+ </command>
+ <command id='stats interval &lt;1-65535&gt;'>
+ <params>
+ <param name='stats' doc='Configure stats sub-system' />
+ <param name='interval' doc='Set the reporting interval' />
+ <param name='&lt;1-65535&gt;' doc='Interval in seconds' />
+ </params>
+ </command>
+ </node>
+ <node id='config-log'>
+ <name>config-log</name>
+ <command id='logging filter all (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='filter' doc='Filter log messages' />
+ <param name='all' doc='Do you want to log all messages?' />
+ <param name='0' doc='Only print messages matched by other filters' />
+ <param name='1' doc='Bypass filter and print all messages' />
+ </params>
+ </command>
+ <command id='logging color (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='color' doc='Configure color-printing for log messages' />
+ <param name='0' doc='Don&apos;t use color for printing messages' />
+ <param name='1' doc='Use color for printing messages' />
+ </params>
+ </command>
+ <command id='logging timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp' />
+ </params>
+ </command>
+ <command id='logging print extended-timestamp (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='extended-timestamp' doc='Configure log message timestamping' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with current timestamp with YYYYMMDDhhmmssnnn' />
+ </params>
+ </command>
+ <command id='logging print category (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem name' />
+ </params>
+ </command>
+ <command id='logging print category-hex (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='category-hex' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with category/subsystem nr in hex (&apos;&lt;000b&gt;&apos;)' />
+ </params>
+ </command>
+ <command id='logging print level (0|1)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='level' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the log level name' />
+ </params>
+ </command>
+ <command id='logging print file (0|1|basename)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='print' doc='Log output settings' />
+ <param name='file' doc='Configure log message' />
+ <param name='0' doc='Don&apos;t prefix each log message' />
+ <param name='1' doc='Prefix each log message with the source file and line' />
+ <param name='basename' doc='Prefix each log message with the source file&apos;s basename (strip leading paths) and line' />
+ </params>
+ </command>
+ <command id='logging level (all|main|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf) (everything|debug|info|notice|error|fatal)'>
+ <params>
+ <param name='logging' doc='Configure logging' />
+ <param name='level' doc='Set the log level for a specified category' />
+ <param name='all' doc='Global setting for all subsystems' />
+ <param name='main' doc='Main generic category' />
+ <param name='lglobal' doc='Library-internal global log family' />
+ <param name='llapd' doc='LAPD in libosmogsm' />
+ <param name='linp' doc='A-bis Intput Subsystem' />
+ <param name='lmux' doc='A-bis B-Subchannel TRAU Frame Multiplex' />
+ <param name='lmi' doc='A-bis Input Driver for Signalling' />
+ <param name='lmib' doc='A-bis Input Driver for B-Channels (voice)' />
+ <param name='lsms' doc='Layer3 Short Message Service (SMS)' />
+ <param name='lctrl' doc='Control Interface' />
+ <param name='lgtp' doc='GPRS GTP library' />
+ <param name='lstats' doc='Statistics messages and logging' />
+ <param name='lgsup' doc='Generic Subscriber Update Protocol' />
+ <param name='loap' doc='Osmocom Authentication Protocol' />
+ <param name='lss7' doc='libosmo-sigtran Signalling System 7' />
+ <param name='lsccp' doc='libosmo-sigtran SCCP Implementation' />
+ <param name='lsua' doc='libosmo-sigtran SCCP User Adaptation' />
+ <param name='lm3ua' doc='libosmo-sigtran MTP3 User Adaptation' />
+ <param name='lmgcp' doc='libosmo-mgcp Media Gateway Control Protocol' />
+ <param name='ljibuf' doc='libosmo-netif Jitter Buffer' />
+ <param name='everything' doc='Don&apos;t use. It doesn&apos;t log anything' />
+ <param name='debug' doc='Log debug messages and higher levels' />
+ <param name='info' doc='Log informational messages and higher levels' />
+ <param name='notice' doc='Log noticeable messages and higher levels' />
+ <param name='error' doc='Log error messages and higher levels' />
+ <param name='fatal' doc='Log only fatal messages' />
+ </params>
+ </command>
+ </node>
+ <node id='config-stats'>
+ <name>config-stats</name>
+ <command id='local-ip ADDR'>
+ <params>
+ <param name='local-ip' doc='Set the IP address to which we bind locally' />
+ <param name='ADDR' doc='IP Address' />
+ </params>
+ </command>
+ <command id='no local-ip'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='local-ip' doc='Set the IP address to which we bind locally' />
+ </params>
+ </command>
+ <command id='remote-ip ADDR'>
+ <params>
+ <param name='remote-ip' doc='Set the remote IP address to which we connect' />
+ <param name='ADDR' doc='IP Address' />
+ </params>
+ </command>
+ <command id='remote-port &lt;1-65535&gt;'>
+ <params>
+ <param name='remote-port' doc='Set the remote port to which we connect' />
+ <param name='&lt;1-65535&gt;' doc='Remote port number' />
+ </params>
+ </command>
+ <command id='mtu &lt;100-65535&gt;'>
+ <params>
+ <param name='mtu' doc='Set the maximum packet size' />
+ <param name='&lt;100-65535&gt;' doc='Size in byte' />
+ </params>
+ </command>
+ <command id='no mtu'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='mtu' doc='Set the maximum packet size' />
+ </params>
+ </command>
+ <command id='prefix PREFIX'>
+ <params>
+ <param name='prefix' doc='Set the item name prefix' />
+ <param name='PREFIX' doc='The prefix string' />
+ </params>
+ </command>
+ <command id='no prefix'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='prefix' doc='Set the item name prefix' />
+ </params>
+ </command>
+ <command id='level (global|peer|subscriber)'>
+ <params>
+ <param name='level' doc='Set the maximum group level' />
+ <param name='global' doc='Report global groups only' />
+ <param name='peer' doc='Report global and network peer related groups' />
+ <param name='subscriber' doc='Report global, peer, and subscriber groups' />
+ </params>
+ </command>
+ <command id='enable'>
+ <params>
+ <param name='enable' doc='Enable the reporter' />
+ </params>
+ </command>
+ <command id='disable'>
+ <params>
+ <param name='disable' doc='Disable the reporter' />
+ </params>
+ </command>
+ </node>
+ <node id='config-line'>
+ <name>config-line</name>
+ <command id='login'>
+ <params>
+ <param name='login' doc='Enable password checking' />
+ </params>
+ </command>
+ <command id='no login'>
+ <params>
+ <param name='no' doc='Negate a command or set its defaults' />
+ <param name='login' doc='Enable password checking' />
+ </params>
+ </command>
+ <command id='bind A.B.C.D'>
+ <params>
+ <param name='bind' doc='Accept VTY telnet connections on local interface' />
+ <param name='A.B.C.D' doc='Local interface IP address (default: 127.0.0.1)' />
+ </params>
+ </command>
+ </node>
+ <node id='config-ctrl'>
+ <name>config-ctrl</name>
+ <command id='bind A.B.C.D'>
+ <params>
+ <param name='bind' doc='Set bind address to listen for Control connections' />
+ <param name='A.B.C.D' doc='Local IP address (default 127.0.0.1)' />
+ </params>
+ </command>
+ </node>
+ <node id='config-trx'>
+ <name>config-trx</name>
+ <command id='bind-ip A.B.C.D'>
+ <params>
+ <param name='bind-ip' doc='Set the IP address for the local bind' />
+ <param name='A.B.C.D' doc='IPv4 Address' />
+ </params>
+ </command>
+ <command id='remote-ip A.B.C.D'>
+ <params>
+ <param name='remote-ip' doc='Set the IP address for the remote BTS' />
+ <param name='A.B.C.D' doc='IPv4 Address' />
+ </params>
+ </command>
+ <command id='base-port &lt;1-65535&gt;'>
+ <params>
+ <param name='base-port' doc='Set the TRX Base Port' />
+ <param name='&lt;1-65535&gt;' doc='TRX Base Port' />
+ </params>
+ </command>
+ <command id='dev-args DESC'>
+ <params>
+ <param name='dev-args' doc='Set the device-specific arguments to pass to the device' />
+ <param name='DESC' doc='Device-specific arguments' />
+ </params>
+ </command>
+ <command id='tx-sps (1|4)'>
+ <params>
+ <param name='tx-sps' doc='Set the Tx Samples-per-Symbol' />
+ <param name='1' doc='Tx Samples-per-Symbol' />
+ <param name='4' doc='(null)' />
+ </params>
+ </command>
+ <command id='rx-sps (1|4)'>
+ <params>
+ <param name='rx-sps' doc='Set the Rx Samples-per-Symbol' />
+ <param name='1' doc='Rx Samples-per-Symbol' />
+ <param name='4' doc='(null)' />
+ </params>
+ </command>
+ <command id='test rtsc &lt;0-7&gt;'>
+ <params>
+ <param name='test' doc='Set the Random Normal Burst test mode with TSC' />
+ <param name='rtsc' doc='TSC' />
+ <param name='&lt;0-7&gt;' doc='(null)' />
+ </params>
+ </command>
+ <command id='test rach-delay &lt;0-68&gt;'>
+ <params>
+ <param name='test' doc='Set the Random Access Burst test mode with delay' />
+ <param name='rach-delay' doc='RACH delay' />
+ <param name='&lt;0-68&gt;' doc='(null)' />
+ </params>
+ </command>
+ <command id='clock-ref (internal|external|gpsdo)'>
+ <params>
+ <param name='clock-ref' doc='Set the Reference Clock' />
+ <param name='internal' doc='Enable internal referece (default)' />
+ <param name='external' doc='Enable external 10 MHz reference' />
+ <param name='gpsdo' doc='Enable GPSDO reference' />
+ </params>
+ </command>
+ <command id='multi-arfcn (disable|enable)'>
+ <params>
+ <param name='multi-arfcn' doc='Enable multi-ARFCN transceiver (default=disable)' />
+ <param name='disable' doc='(null)' />
+ <param name='enable' doc='(null)' />
+ </params>
+ </command>
+ <command id='offset FLOAT'>
+ <params>
+ <param name='offset' doc='Set the baseband frequency offset (default=0, auto)' />
+ <param name='FLOAT' doc='Baseband Frequency Offset' />
+ </params>
+ </command>
+ <command id='rssi-offset FLOAT'>
+ <params>
+ <param name='rssi-offset' doc='Set the RSSI to dBm offset in dB (default=0)' />
+ <param name='FLOAT' doc='RSSI to dBm offset in dB' />
+ </params>
+ </command>
+ <command id='swap-channels (disable|enable)'>
+ <params>
+ <param name='swap-channels' doc='Swap channels (default=disable)' />
+ <param name='disable' doc='(null)' />
+ <param name='enable' doc='(null)' />
+ </params>
+ </command>
+ <command id='egprs (disable|enable)'>
+ <params>
+ <param name='egprs' doc='Enable EDGE receiver (default=disable)' />
+ <param name='disable' doc='(null)' />
+ <param name='enable' doc='(null)' />
+ </params>
+ </command>
+ <command id='rt-prio &lt;1-32&gt;'>
+ <params>
+ <param name='rt-prio' doc='Set the SCHED_RR real-time priority' />
+ <param name='&lt;1-32&gt;' doc='Real time priority' />
+ </params>
+ </command>
+ <command id='filler dummy'>
+ <params>
+ <param name='filler' doc='Enable C0 filler table' />
+ <param name='dummy' doc='Dummy method' />
+ </params>
+ </command>
+ <command id='chan &lt;0-100&gt;'>
+ <params>
+ <param name='chan' doc='Select a channel to configure' />
+ <param name='&lt;0-100&gt;' doc='Channel index' />
+ </params>
+ </command>
+ </node>
+ <node id='config-trx-chan'>
+ <name>config-trx-chan</name>
+ <command id='rx-path NAME'>
+ <params>
+ <param name='rx-path' doc='Set the Rx Path' />
+ <param name='NAME' doc='Rx Path name' />
+ </params>
+ </command>
+ <command id='tx-path NAME'>
+ <params>
+ <param name='tx-path' doc='Set the Tx Path' />
+ <param name='NAME' doc='Tx Path name' />
+ </params>
+ </command>
+ </node>
+</vtydoc>