Commit Graph
321 Commits
Author SHA1 Message Date
Raymond Knopp 81c1e1b309 tested with slot-based processing for 40 and 80 MHz channels 2018-12-30 00:32:57 +01:00
Wang Tsu-Han aa232879a3 adding VCD log in file 2018-11-06 15:15:56 +01:00
Florian Kaltenberger 83e9908adb merging develop with develop-nr 2018-10-25 03:15:09 -07: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
Florian Kaltenberger cc002b823f Merge branch 'develop-nr-merge' into develop-nr
lte-softmodem, lte-uesoftmodem, nr-softmodem, nr-uesoftmodem, polartest, ldpctest, ulsim, dlsim all compile
functionality and performance to be tested by CI
2018-08-30 07:08:26 -07: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
Raymond Knopp 3367cc9319 lte-softmodem compiles 2018-08-27 13:37:00 +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
WEI-TAI CHEN b9037d1566 Complete merge develop into nr-rrc-additions
First build command : ./build_oai --gNB -w USRP -I
2018-08-07 05:31:52 -07: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
Cedric Roux 2beac6fed7 T: minor update of .gitignore 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
Cedric Roux 6322010e0a T: add a tracer: extract
This tracer extracts the content of a buffer field of an event
that was previously saved using the tracer 'record'.

For example, to extract the channel estimation done in
frame 924 and subframe 2 as saved in the file input_record.raw
and to store it in the file output.raw, do:

./extract -d ../T_messages.txt -o output.raw input_record.raw ENB_PHY_UL_CHANNEL_ESTIMATE chest_t -f frame 924 -f subframe 2
2017-10-27 16:09:08 +02:00
Cedric Roux 4b9f58c085 T tracer: fix traces (add/remove to be in synch with VCD module) 2017-10-23 17:40:58 +02:00