Files
openairinterface5g/common/utils/T/DOC/T/basic.md
T
Robert Schmidt 8107939f08 Change OAI license to CSSL v1.0 (and others)
- all RAN code, CI code, configuration files, dockerfiles, in CSSL v1.0
- all deployment code (openshift, charts, ancillary files like shell
  scripts), in MIT
- documentation in CC-BY-4.0
- exceptions might apply and are listed in NOTICE
- there is a new LICENSES folder with all licenses
- CONTRIBUTIONS.md has been updated accordingly

For automated changes based on OAI PL v1.1:

    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.{c,h,cpp}
    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.ts
    perl -i~ -0pe 's/<!--.*Licensed to the OpenAirInterface.*openairinterface.org\n.*-->/<!-- SPDX-License-Identifier: LicenseRef-CSSL-1.0 -->/s' **/*.xml

The rest (cmake, files with missing license, cmake) manually.
2026-03-27 16:36:37 +01:00

91 lines
2.6 KiB
Markdown

<!-- SPDX-License-Identifier: CC-BY-4.0 -->
# Basic usage of the T
## Compilation
### softmodem side
Simply call `build_oai` the usual way, for example `./build_oai --eNB -w USRP`.
The T tracer is compiled in by default.
### tracer side
Go to the directory `common/utils/T/tracer` and do `make`. This will locally
compile all tracer executables, and place them in `common/utils/T/tracer`. If
you wish to keep source and build separate, go to your existing build directory
(typically `cmake_targets/ran_build/build`), and do `make T_tools` (or `ninja
T_tools`). After that, the executables will be in
`<build-dir>/common/utils/T/tracer`.
In case of failure with one of the following errors:
```shell
/usr/bin/ld: cannot find -lXft
```
or
```shell
-- Checking for module 'xft'
-- No package 'xft' found
CMake Error at /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:463 (message):
A required package was not found
```
Run:
```shell
sudo apt-get install libx11-dev libpng-dev libxft-dev
```
## Run the softmodem
Run the softmodem with the option `--T_stdout 2` and it will wait for a
tracer to connect to it before processing. (This option is confusing
and may change in the future.)
```shell
cd cmake_targets/ran_build/build
sudo ./lte-softmodem -O [configuration file] --T_stdout 2
```
Additional options can be passed to the softmodem.
The option `--T_nowait` lets the processing start immediately without
first waiting for a tracer.
The option `--T_port [port]` changes the default port used by the
softmodem to wait for a tracer. The default port is 2021.
The option `--T_dont_fork` allows one to use gdb to debug problems
with the softmodem. Note that you then may have some "zombie"
processes after crashes, in which case you can run
`sudo killall -9 lte-softmodem` to get rid of them.
The option `--T_stdout` also accepts values 0 (to disable output
on the terminal and only use the T tracer) and 1 (to disable
the T tracer and only output on the terminal). The default is
1.
## Run a tracer
Go into the directory `common/utils/T/tracer` (or
`cmake_targets/ran_build/build/common/utils/T/tracer`) and run for example the
`enb` tracer:
```shell
./enb -d ../T_messages.txt
```
To trace a remote program, use the `-ip` option. For example,
if you want to trace a program running on `192.168.12.148` do:
```shell
./enb -d ../T_messages.txt -ip 192.168.12.148
```
A graphical user interface will appear with which you can interact to
control the monitoring. See [there](./enb.md) for more documentation
about the `enb` tracer.
It is possible to run several tracers at the same time. See
[here](./multi.md).