Commit Graph
325 Commits
Author SHA1 Message Date
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 bbacffa7fd T: T_messages.txt: create a new group 'WIRESHARK'
It is to ease the life of people wanting to record traces to be
consumed later on by wireshark.

You just run: ./record -d ../T_messages.txt -o /tmp/record.raw -on WIRESHARK
and you're good.
2018-10-23 17:32:36 +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
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 23ca4cfbbe Merge remote-tracking branch 'origin/T-fixes-w35' into develop_integration_2018_w35 2018-08-31 15:13:03 +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
frtabu 24f8fcf346 Use common log mechanism in layer 3, mapping specific macros to common ones and extending common log utilities to support specific layer3 requirements 2018-08-24 17:43:14 +02:00
Cedric Roux 88724afdf3 T: minor: don't clean tracers on 'make clean' 2018-08-17 15:36:45 +02:00
Cedric Roux 475d5eb827 T: bug fixes for the T cache
- 'busy' has to be handled in a more atomic fashion to avoid crazy
  runtime race conditions
- the basic simulator is too fast sometimes; rewrite the accesses to
  the T cache to avoid there again crazy behaviors

Hopefully that's better...
2018-08-17 12:25:13 +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 4054330191 minor: remove TABs 2018-08-17 12:24:39 +02:00
Cedric Roux 55ba99ac62 T: check consistency of T_messages.txt with VCD functions and variables traces
Since VCD has now to go through the T tracer, we enforce the consistency
of data found in common/utils/LOG/vcd_signal_dumper.[ch] with data
found in common/utils/T/T_messages.txt.

We might get completely rid of common/utils/LOG/vcd_signal_dumper.[ch] at some
point. For the moment, let's keep it.

This commit adds the program common/utils/T/check_vcd.c and necessary
modifications to enforce its use at compilation time.

If you modify common/utils/LOG/vcd_signal_dumper.[ch] but do not update
common/utils/T/T_messages.txt an error will pop up when you compile the
software. You have to keep both modules synchronized.
2018-08-17 12:24:39 +02:00
Cedric Roux 072bb9044f T: improve error reporting
Use "error:" as prefix to error messages in genids.c
to help looking for errors in case of failure of
the build.
2018-08-13 11:29:07 +02:00
Cedric Roux f18a438c2c T: simplify
Don't use shm anymore. Use mmap directly.
2018-08-13 11:28:56 +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
Cedric Roux 409b3d5c20 Merge remote-tracking branch 'origin/issue326_LOGreview' into develop_integration_2018_w31 2018-08-03 09:45:26 +02:00
Cedric Roux 9e8ad4923b fix install on centOS
- install package 'vim-common' to have 'xxd' needed by the compilation
  process of the T tracer
- change the way xxd is called so that no file is created in case
  of error
2018-08-01 16:36:35 +02:00
frtabu b85cbddeec log.c simplification, fix usefull functionality which never worked, move all log code from openair2 to common 2018-07-30 20:07:22 +02:00
Cedric Roux 86180447e7 fix 2018-07-20 16:51:53 +02:00
Cedric Roux d89009becf fix 2018-07-20 16:04:39 +02:00
Cedric Roux 42c3e6066c fix 2018-07-20 15:57:52 +02:00
Raymond Knopp 3539761c28 Log review step 1: legacy VCD removal, LOG macro modified, TTracer enabled at build time by default, in a way it, by default configuration, provides console logs, as in previous versions 2018-07-13 16:43:34 +02:00
frtabu 000f5e80ea basic_simulator build should be Ok...this time. 2018-07-10 15:18:24 +02:00
Raymond Knopp b2821c1f53 T tracer configuration identical for all executables, no ref to T Tracer config variables (T_port, T_wait...) outside the T tracer 2018-07-09 15:18:27 +02:00
oai 719762ccab fix basic_simulator compilation failure 2018-07-06 15:30:02 +02:00
oai bfecc0110b Remove compilation warnings, also fix telnet server compilation failure and NB-IoT shared lib compilation failure introduced when reviewing L1 sources organization 2018-07-05 17:37:38 +02:00
bruno mongazon b016bc229a fixed #320 issue 2018-06-25 18:23:36 +02:00
Cedric Roux bdda76430f Merge remote-tracking branch 'origin/fixes-T-tracer-2018-w17' into develop_integration_2018_w19 2018-05-15 15:20:12 +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 6cb04bb43a basic simulator: initial release
This commit introduces a 'basic simulator'.

This basic simulator is made of:
- the standard eNB code using a special driver that mimics the USRP driver
- the standard UE code using a special driver that mimics the USRP driver
- no channel simulation
- some special code to deal with faster-than-realtime behaviour of this
  basic simulator

It connects one UE to one eNB. It requires an EPC, populated with the
correct configuration for the UE.

This is the initial release and may contain bugs (most probably race
conditions due to the faster-than-realtime behaviour).

To use it, see the documentation at:
    targets/ARCH/tcp_bridge/README.tcp_bridge_oai.

It has been tested with 25, 50 and 100 RBs, FDD mode.
(No check at all has been done to know if it could work in TDD mode.)
2018-05-02 11:27:41 +02:00
Cedric Roux c14dd7ffbb T: use PID for the SHM name
That allows to run several programs using this mechanism on the
same computer (say both eNB and UE, to debug).
2018-04-24 14:53:12 +02:00
Cedric Roux 7576e3fa52 T: bugfix: fix check on return value of mmap 2018-04-24 14:40:28 +02:00
Cedric Roux fa4a9a0cb9 integration fix: update T tracer: add new VCD variables 2018-04-12 11:36:31 +02:00
Cedric Roux 3a867ac767 integration fix: add T trace 2018-01-19 15:51:38 +01:00
Cedric Roux 922b5b595a Fix NFAPI integration
This commit fixes issues introduced by the previous commit.

Summary of work:
- cleanup:
  - fix LOG_XX to be less verbose
  - fix cmake_targets/CMakeLists.txt
  - fix oaienv
  - remove dead code
- bug fixes:
  - in openair1/SCHED/fapi_l1.c we had:
      eNB->pdcch_vars[subframe&1].num_dci           = number_dci;
    should be:
      eNB->pdcch_vars[subframe&1].num_dci           = 0;
    This bug let the PHY send more DCIs than what should have been
    sent because num_dci is incremented later on in the code.
    This fix may be a problem for fapi mode, to be checked.
  - add new T VCD traces
  - revert openair1/PHY/TOOLS/file_output.c to 'develop' version
  - remove thread_id in logRecord/logRecord_mt
  - revert (and adapt) configuration files
  - be careful when doing frame++, we need to % 1024
  - revert target_rx_power in openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
- NFAPI:
  - the open-nFAPI code has been included in the repository. See nfapi/README.
    Maybe we should "git clone" the Cisco repository instead. We have to be
    careful of availability though.

What has been tested:
- monolithic eNB FDD 5/10MHz with one UE, iperf UDP/TCP uplink/downlink

Anything else may fail to work, especially the FAPI mode, which has not
been tested at all.
2018-01-15 15:24:50 +01: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