Commit Graph
299 Commits
Author SHA1 Message Date
Robert Schmidt ed89498c4f Use standard C initializer list syntax
Fix clang warning

  warning: use of GNU old-style field designator extension [-Wgnu-designator]
2024-04-18 14:16:09 +02:00
francescomani 1e1679b668 memleak 2024-04-09 16:44:56 +02:00
Cedric Roux 1f81b3f1a2 T tracer: textlog: remove GUI code
textlog is, well, text log. The GUI part is totally useless.
Let's remove it.
2024-02-28 16:19:32 +01:00
Cedric Roux 1111eccac6 T: isolate generated .h files when using make
When using the make system to generate T files, if you change
T_messages.txt you may have problems compiling the gnb with ninja.

If you want to see the problem:
First run: cd cmake_targets; ./build_oai --ninja --gNB
Then: cd common/utils/T
edit T_messages.txt, add a trace, for example:
---
ID = ENB_PHY_UL_TOCK
    DESC = eNodeB uplink tick - one tick per ms at start of uplink processing
    GROUP = ALL:PHY:GRAPHIC:ENB
    FORMAT = int,eNB_ID : int,frame : int,subframe
---
then run: make
then: cd cmake_targets/ran_build/build; ninja nr-softmodem
You should have an error looking like this:
---
[3/81] Checking validity of VCD files
FAILED: common/utils/T/CMakeFiles/check_vcd /tmp/develop/cmake_targets/ran_build/build/common/utils/T/CMakeFiles/check_vcd
cd /tmp/develop/cmake_targets/ran_build/build/common/utils/T && /tmp/develop/cmake_targets/ran_build/build/common/utils/T/_check_vcd /tmp/develop/common/utils/T/T_messages.txt /tmp/develop/common/utils/T/../LOG/vcd_signal_dumper.h
error: VCD_FIRST_VARIABLE is not correct in T_defs.h

You probably added a VCD trace (variable or function) but you did not
update T_messages.txt and/or T_defs.h in common/utils/T/
[...]
---

Let's first isolate the generated T .h files when using make because
we have two versions of T_IDs.h and T_messages.txt.h when mixing
make/cmake.

A next commit will regenerate T_IDs.h and T_messages.txt.h when
T_messages.txt chages for the cmake system, because this commit
does not solve the problem.
2023-11-12 14:04:36 +01:00
Cedric Roux 9cfa0f239f T tracer: add a trace for NR SIB1 2023-09-07 22:19:50 +02:00
Robert Schmidt f099ff59eb Rename T files to avoid name clashes
There is already common/utils/config.h. This file(name) is hardcoded as
it is included into asn1c, and cannot be renamed. To avoid a name clash
and confusing, we rename T's config.h/c to configuration.h/c.
2023-08-01 13:49:25 +02:00
Robert Schmidt b0b3c7ee67 Merge remote-tracking branch 'origin/t-tools-dependency-fix' into integration_2023_w29 2023-07-21 15:32:54 +02:00
Robert Schmidt 1f8e95833c Merge remote-tracking branch 'origin/fix_warnings_gcc13' into integration_2023_w29 2023-07-21 14:06:41 +02:00
mir e04554dcb0 Warnings generated in gcc 13 and tackled in this PR (except const correctness)
49 /home/mir/workspace/oai_dev/common/utils/T/tracer/to_vcd.c: In function ‘main’:
    50 /home/mir/workspace/oai_dev/common/utils/T/tracer/to_vcd.c:349:30: warning: ‘%s’ directive writing up to 240 bytes into a region of size between 11 and 251 [-Wformat-overflow=]
    51   349 |     sprintf(format, "%c [%s] %s",
    52       |                              ^~
    53 In file included from /usr/include/stdio.h:894,
    54                  from /home/mir/workspace/oai_dev/common/utils/T/tracer/to_vcd.c:1:
    55 In function ‘sprintf’,
    56     inlined from ‘main’ at /home/mir/workspace/oai_dev/common/utils/T/tracer/to_vcd.c:349:5:
    57 /usr/include/x86_64-linux-gnu/bits/stdio2.h:38:10: note: ‘__builtin___sprintf_chk’ output between 6 and 486 bytes into a destination of size 256
    58    38 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
    59       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    60    39 |                                   __glibc_objsize (__s), __fmt,
    61       |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    62    40 |                                   __va_arg_pack ());
    63       |                                   ~~~~~~~~~~~~~~~~~

    2005 /home/mir/workspace/oai_dev/openair1/SIMULATION/TOOLS/random_channel.c:1726:6: warning: conflicting types for ‘set_channeldesc_owner’ due to enum/integer mismatch; have ‘void(channel_desc_t *, uint32_t)’ {      aka ‘void(channel_desc_t *, unsigned int)’} [-Wenum-int-mismatch]
    2006  1726 | void set_channeldesc_owner(channel_desc_t *cdesc, uint32_t module_id) {
    2007       |      ^~~~~~~~~~~~~~~~~~~~~
    2008 In file included from /home/mir/workspace/oai_dev/openair1/SIMULATION/TOOLS/random_channel.c:31:
    2009 /home/mir/workspace/oai_dev/openair1/SIMULATION/TOOLS/sim.h:348:6: note: previous declaration of ‘set_channeldesc_owner’ with type ‘void(channel_desc_t *, channelmod_moduleid_t)’
    2010   348 | void set_channeldesc_owner(channel_desc_t *cdesc, channelmod_moduleid_t module_id);
    2011       |      ^~~~~~~~~~~~~~~~~~~~~

    24209 /home/mir/workspace/oai_dev/openair1/SCHED_UE/phy_procedures_lte_ue.c:954:17: warning: ‘n1_pucch_inter’ may be used uninitialized [-Wmaybe-uninitialized]
    24210   954 |           return(n1_pucch_inter);
    24211       |                 ^
    24212 /home/mir/workspace/oai_dev/openair1/SCHED_UE/phy_procedures_lte_ue.c:647:60: note: ‘n1_pucch_inter’ was declared here
    24213   647 |   uint16_t n1_pucch0=0,n1_pucch1=0,n1_pucch2=0,n1_pucch3=0,n1_pucch_inter;
    24214       |
2023-07-21 09:39:36 +02:00
Robert Schmidt 7c847cd908 Merge remote-tracking branch 'origin/uninitvar_cppcheck_fix_on_w27_2023' into integration_2023_w29 2023-07-20 17:28:34 +02:00
Robert Schmidt 372c067335 T GUI tools: guard with cmake option, default off
The T tools offering a GUI use libxft as a dependency. By default, we
try to limit the amount of dependencies, but libxft comes with X11.

Put the GUI tools behind cmake option T_TOOLS_GUI (default: off) to only
build on demand with a cmake option.
2023-07-20 13:42:26 +02:00
Vaibhav Shrivastava 428f9c0946 fix uninitialized variable warnings found by cppcheck 2023-07-19 16:43:33 +02:00
Robert Schmidt abf04db97b Allow to use cmake to generate T tracer programs
- Add CMakeLists.txt to build all T tracer user tools
- Previous Makefiles are retained in common/utils/T: you can do
  $ cd common/utils/T/tracer
  $ make # all executables are there
  or also
  $ mkdir build && cd build
  $ cmake .. -GNinja
  $ ninja T_tools # all executables are in build/common/utils/T/tracer
2023-07-13 10:29:33 +02:00
Cedric Roux 8a2a5015e6 T tracer tools: fix memory leaks, clang warnings
- Fix memory leaks detected by ASan
- Initialize variables that are flagged by compiler
- C struct initializer: x:y needs to be .x=y
2023-07-13 10:29:33 +02:00
laurent 40db42015f Merge branch 'develop' of https://gitlab.eurecom.fr/oai/openairinterface5G into nr_prs 2022-09-22 16:57:20 +02:00
Robert Schmidt 62cea0ef8c Add two file exceptions for suspect license (BSD); remove two GPL'ed files 2022-09-13 05:24:09 +02:00
Sagar Parsawar 35802ac003 Additional changes to extract_prs_dump script 2022-09-08 14:26:20 +02:00
Sagar Parsawar 079f9e1bcd Add bash script to extract PRS channel estimates from T tracer raw
file
2022-09-06 23:08:37 +02:00
hardy d4ce61c595 Merge remote-tracking branch 'origin/fix-macpdu2wireshark-2022-w06' into integration_2022_wk07_b 2022-02-15 09:25:38 +01:00
Cedric Roux 52d75940be fix macpdu2wireshark
Somehow this file was in a bad state...
2022-02-11 10:36:00 +01:00
rmagueta e8657ec854 Merge remote-tracking branch 'origin/develop' into develop-SRS
# Conflicts:
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band41.fr1.106PRB.usrpb210.conf
#	targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf
2022-02-08 09:31:32 +00:00
rmagueta d2c6d66588 SRS Tracer improvements 2021-12-15 18:47:00 +00:00
rmagueta 8aac96062a Add UL time channel estimation based on SRS 2021-12-15 17:02:57 +00:00
rmagueta ecd09b3068 Change variable name 2021-12-15 14:39:31 +00:00
rmagueta d31db3dd7e Change variable name 2021-12-15 14:16:30 +00:00
rmagueta 096869e07f SRS tracer improvements 2021-12-14 20:11:41 +00:00
rmagueta b4e108e46c Code formatting improvements 2021-12-13 13:09:13 +00:00
rmagueta 1341646ba4 Call on_off for GNB_PHY_UL_CHANNEL_ESTIMATE 2021-12-13 11:33:31 +00:00
rmagueta a2842e953d Add GNB_PHY_UL_CHANNEL_ESTIMATE for Tracer 2021-12-13 10:58:57 +00:00
rmagueta 2ad5045efe Tracer for UL estimated channel based on SRS 2021-12-10 20:02:39 +00:00
rmagueta 74e962653b Add OAI logo and prev/next UE buttons 2021-12-10 15:40:02 +00:00
Laurent Thomas 6080e4154a merge develop 2021-12-02 14:14:18 +01:00
Cedric Roux d4c4fdf7f3 T tracer: add harq pid in nr ul/dl/dl retx traces 2021-11-25 15:59:40 +01:00
Cedric Roux b65b0e2eaf T tracer: trace MAC DL retransmission PDUs in the gnb
and adapt macpdu2wireshark to deal with them
2021-11-25 11:27:17 +01:00
Cedric Roux 2fb5ec3a5f T tracer: trace MAC DL retransmission PDUs in the gnb
and adapt macpdu2wireshark to deal with them
2021-11-23 11:28:20 +00:00
Cedric Roux 95b659ab44 T tracer: add gnb tracer
Minimalist gnb tracer to trace (for the moment) rxdataF when some
decoding for PUCCH or PUSCH has been done.

Important: T_BUFFER_MAX and T_CACHE_SIZE have been changed. T_BUFFER_MAX
is twice as big as before. T_CACHE_SIZE has been devided by two. Globally,
the memory usage of the T tracer is the same, but since we divided by two
the number of buffers in the cache, we may hit some realtime problems if
all the buffers are busy at some point. The simple solution would be to
use 8192*2 for T_CACHE_SIZE as it was, but then we double the memory usage
of the T tracer. This, or another solution, to be defined.
2021-03-02 10:08:00 +01:00
Cedric Roux 40f985a957 macpdu2wireshark: add UE id into scheduling request logging
Same logic as previous commit, same caveats.
2021-01-21 11:44:28 +01:00
Cedric Roux 23b24a3c8a T tracer macpdu2wireshark: add UE id
There was a problem with several UEs in the wireshark log. It seems that
wireshark needs the UE id otherwise it gets confused and sees retransmissions
where it's just another UE connecting and doing the same as a previous
UE.

Let's put kind of a UE id. Each RNTI seen by macpdu2wireshark gets an UE id
assigned the first time it's seen in a trace.

This is a bit hackish but seems to be fine.

We could have added UE_id in all the traces, that is change the T() calls
in the softmodem. It was less work to do it as it is, ie. only touch
macpdu2wireshark.c.

The RAR uses the same UE id all the time, may be a problem. To be refined
if needed.
2021-01-21 11:29:29 +01:00
Cedric Roux 4344b9108e macpdu2wireshark: trace scheduling requests
You need a recent version of wireshark for this to work properly.
Successfully tested with 3.3.2.
2021-01-21 11:26:02 +01:00
Cedric Roux ae8c0ef448 nr: add MAC PDU traces for wireshark
The T tracer macpdu2wireshark has been modified to handle the new traces.
The usage is the same as for LTE.

In NR the RACH is logged as an LTE RACH. Maybe we'll change that in the
future. Looking at the source code of wireshark, I could not find any
way to report NR RACH. Maybe they forgot it. Or I did not search correctly...
2020-10-21 18:09:15 +02:00
Raphael Defosseux 4a873b4d43 CI: optmimizations on VM-based framework
also correction for Circular Dependency Protection on header files
    also correction on the banner check

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-09-15 12:18:26 +02:00
Raphael Defosseux 11783e755a Fixing errored/missing circular dependency protection
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-05-15 15:39:11 +02:00
Cedric Roux 3310f5c6b0 alternative RLC implementation
This commit introduces an alternative RLC implementation
based on 36.322 version 8. AM and UM done, TM not done.

See openair2/LAYER2/rlc_v2/TODO for missing parts.
2020-04-17 10:40:04 +02:00
magounak c94a3b85e9 improve hack multi-rru-clean.c 2019-10-08 12:25:55 +02:00
Cedric Roux 443b5fd026 T: add -no-bind option to macpdu2wireshark
To be used when you send data to another host.

On the other host, to avoid ICMP traffic about the port
not being open, do:

./nc -l -u -p 9999 > /dev/null

You need to restart this command each time you run macpdu2wireshark.
You can use any other program that will accept UDP packets on the
port 9999 (default port of macpdu2wireshark, change if you use another
port of course).
2019-07-11 15:22:30 +02:00
Raphael Defosseux 335e894ce3 Merge remote-tracking branch 'origin/T-ue-fixes-2019-w14' into develop_integration_2019_w15 2019-04-15 10:18:47 +02:00
Cedric Roux 4905a5e8e8 bugfixes for the ue T tracer
Not much major changes. In openair1/PHY/LTE_UE_TRANSPORT/dci_tools_ue.c,
in the function generate_ue_dlsch_params_from_dci,
'harq_pid' was removed and dci_info_extarcted.harq_pid is now used for
all cases.

The ue T tracer only deals with PHY signals (no MAC, RLC, PDCP, RRC).
2019-04-03 12:44:17 +02:00
Cedric Roux b937983449 T: minor fix: ensure printing is inside the widget 2019-04-03 12:27:31 +02:00
Cedric Roux 63989f579b T: minor: fix typo 2019-03-08 10:28:59 +01:00
Cedric Roux f425113044 T: hack: add a multi rru cleaner program
This is for internal use at eurecom. No documentation provided.
2019-02-26 15:08:32 +01:00