Commit Graph
266 Commits
Author SHA1 Message Date
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 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
Raphael Defosseux a82342298e changed back some cppcheck "fixes" and updated the cppcheck suppression list
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-20 14:42:17 +01:00
Raphael Defosseux 9aab83c509 Fixing a few last cppcheck errors/warnings
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-02-19 17:42:27 +01:00
frtabu 824d2b478a new set of cppcheck fixes 2019-02-12 10:12:07 +01:00
Louis Adrien Dufrene c194956da3 RRC timer thres removed from UE context and added to eNB RRC context, value 0 of thres equivalent to infinity 2018-11-20 14:15:50 +01:00
Louis Adrien Dufrene 700437f184 astyle applied 2018-11-16 08:49:28 +01:00
Louis Adrien Dufrene a409614185 Merge develop done, conflicts resolved 2018-11-13 10:49:20 +01:00
Cedric Roux 4931a300ad T: macpdu2wireshark: run live, limit MIB/SIBs recording, cleanup
A new option -live has been added to run live (ie. like the 'enb' tracer)
and options -live-ip and -live-port to select IP/port of the machine running
the eNodeB.

Some new options to control MIB and SIBs recording have been added.

Some global variables have been removed.
2018-11-12 10:49:20 +01:00
Cedric Roux d89bfa72a0 Merge remote-tracking branch 'origin/T-fixes-w43' into develop_integration_2018_w44 2018-11-02 10:31:21 +01:00
Cedric Roux 633534c2f0 T: extract: add time and count criteria 2018-11-02 09:50:45 +01:00
Cedric Roux a46443b2a9 T: textlog: add option to dump 'raw time'
'raw time' is the tv_sec element in the struct tm
as returned by 'localtime'.

This can be useful to extract events from a dump based on their time.
2018-10-31 12:07:16 +01:00
Cedric Roux f6f6570d6e T: minor: don't abort() in textlog.c
This leads to some logs missing in some situations.
Plus it's not user-friendly.
2018-10-23 18:05:40 +02:00
Cedric Roux 387b4ff215 T: fix compilation of tracers
If you run 'make' in common/utils/T/tracer
just after a clone of the repository then the
compilation will fail because the file ../T_IDs.h
was not generated.

Let's add a simple dependency to fix this.
2018-10-23 18:03:22 +02:00
Cedric Roux 9a6d30d716 T: macpdu2wireshark: cleanup
- factorize
- harmonize
- simplify
2018-10-23 16:39:04 +02:00
Cedric Roux 35a7e3a180 T: macpdu2wireshark: add RA preamble and RAR tracing 2018-10-23 16:08:29 +02:00
Cedric Roux fdb16fae7d T: macpdu2wireshark: add SIBs tracing
Only schedule_SI is done, not schedule_SIB1_BR and not schedule_SI_BR.
2018-10-23 10:19:51 +02:00
Louis Adrien Dufrene a073e84369 Merge remote-tracking branch 'eurecom_gitlab/develop' into DRX_develop 2018-10-23 08:00:00 +02:00
Cedric Roux 7b264ac923 T: macpdu2wireshark: add MIB logging
The tracer macpdu2wireshark can send MIBs to wireshark.
This can be disabled by passing the new -no-mib option.

openair1/SCHED/phy_procedures_lte_eNb.c has been modified
to have a new T trace with the MIB.
2018-10-22 17:23:53 +02:00
Cedric Roux b8093f509e T tracer: fix problem with some displays
This commit attempts to fix the error:
    no good visual found
2018-08-30 14:25:20 +02:00
Louis Adrien Dufrene c12e3234b0 modification of tracer/gui/x.c for T tracer to work on screen 2018-08-28 14:03:37 +02:00
Cedric Roux d4a8b5f35e compilation warning "jobserver unavailable" removal
This commit removes the warning:
make[4]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.

Basically, inside a Makefile we should use $(MAKE) instead of make.
2018-08-17 12:25:13 +02:00
Cedric Roux 781133b772 T: bugfix in multi
Check result of send_is_on and close connection to tracee on error.
2018-08-09 10:18:38 +02:00
Cedric Roux 5b17b036ba T: improve to_vcd tracer
Make it compatible with 'template' gtwave files as found in openair's
repository.

The type VCD_NAME was added to the VCD IDs in T_messages.txt.
The database processing code was adapted to use it.
The tracer to_vcd was adapted to use it and render the produced vcd
output compatible with the 'template' gtkwave files.

When running to_vcd, do not forget to pass -vcd to use this feature.
2018-08-08 15:42:02 +02:00
Cedric Roux fdd4366daf T: add a 'multi' tracer
This tracer allows the connection of several tracers to one tracee.

To use the multi tracer:
- run the tracee as usual, eg. ./lte-softmodem -O xxxx.conf --T_stdout 0
- run the multi tracer: ./multi -d ../T_messages.txt
- connect other tracers to the multi tracer:
   - ./enb -d ../T_messages.txt -p 2022
   - ./textlog -d ../T_messages.txt -p 2022
   - etc.

By default the multi tracer connects to the tracee to the port 2021,
as for any other tracer.

Then it accepts connections from other tracers on the port 2022.

This can be changed with parameters on the command line.

The tracee and the other tracers can be stopped/started at any time.
2018-08-08 15:41:39 +02:00
Cedric Roux eb3b87d956 T: bugfix and cleanup
- bug fixed in ue and enb tracer: the socket needs to be closed
  in case of restart
- cleanup: fix spacing in T_messages.txt
2018-08-08 11:58:26 +02:00
Cedric Roux 19a01f6cb0 minor: bug fix in T tracer 'to_vcd' 2018-08-06 12:26:35 +02:00
Cedric Roux 1752c92980 T: update 'to_vcd' tracer to trace all VCD variables and functions
Pass the command line arguemnt -vcd to trace all VCD variables
and functions.
2018-08-06 11:27:02 +02:00
bruno mongazon b016bc229a fixed #320 issue 2018-06-25 18:23:36 +02:00
Cedric Roux 52cf61de97 T tracer: don't depend on T_BUFFER_MAX anymore in the tracers
Whenever the value T_BUFFER_MAX changes, the tracers had to
be recompiled. The only reason why it was needed is because we
used some fixed size buffers to read events. This commit removes
this restriction.

Also, with the basic simulator, this value T_BUFFER_MAX now comes
with an #ifdef which would have required some special hackish-level
tricks in the tracers, which is not good.

Let's just allocate memory when needed.
2018-05-02 12:11:34 +02:00
Cedric Roux 047b54da19 Merge remote-tracking branch 'origin/develop_bugfixes_w43' into develop_integration_w43
Conflicts:
	common/utils/T/.gitignore
	common/utils/T/tracer/Makefile
2017-10-27 16:21:49 +02:00
Cedric Roux 4d1705e3a5 T: minor: close socket
Sometimes when the user does ctrl+c to quit, it may not quit
if nothing comes on the socket. Closing the socket in the
signal handler fixes this.
2017-10-27 16:14:39 +02:00
Cedric Roux faae3c8cd5 T: cleanup
Do not link the X stuff for tracers not needing it.
2017-10-27 16:14:39 +02:00
Cedric Roux 7e7fd3c4d5 T tracer: add a tracer to dump to VCD file
Later on, use this file with gtkwave.
To be used to check realtime behaviour of the system.
2017-10-27 16:14:39 +02:00
Cedric Roux 8dd3a2bdc4 T: add extract_output_subframe
This tracer extracts output subframes generated by the eNodeB,
so they can be analyzed with some external tools.
2017-10-27 16:14:39 +02:00