Commit Graph
2678 Commits
Author SHA1 Message Date
Cedric Roux ab7515e280 basic simulator: handle discontinuities in output
In TDD mode the eNB does not output data all the time,
only in downlink and special subframes.

The basic simulator needs a continuous stream of samples.

So let's fill the blank with silence.
2018-09-14 14:58:15 +02:00
Wang Tsu-Han 5b1260a759 fixed for phy-simulation mode 2018-09-13 15:02:15 +02:00
Wang Tsu-Han cf09d19879 adding definition for UE 2018-09-13 12:52:44 +02:00
Wang Tsu-Han c5cd47f976 fixes for not having parallel config inside the config file 2018-09-12 15:32:44 +02:00
Wang Tsu-Han d7fd3013a1 config file adding parallel configuration 2018-09-12 10:49:57 +02:00
Wang Tsu-Han 3005929bca modify threading option into config file 2018-09-11 18:50:11 +02:00
Wang Tsu-Han 8bb3b91665 Merge branch 'develop' into parallel-config
Conflicts:
	targets/RT/USER/lte-ru.c
2018-09-11 16:11:59 +02:00
Cedric Roux afb2fd4012 Merge remote-tracking branch 'origin/x2' into develop_integration_2018_w36 2018-09-07 16:15:13 +02:00
Cedric Roux 2cb87ddd02 Merge remote-tracking branch 'origin/feature-slice+restart-w35' into develop_integration_2018_w36
Conflicts:
	openair2/ENB_APP/flexran_agent_common_internal.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
2018-09-07 16:13:40 +02:00
Konstantinos Alexandris 938e0242e2 Merge remote-tracking branch 'origin/develop' into x2
Conflicts:
	cmake_targets/CMakeLists.txt
	openair2/ENB_APP/enb_app.c
	openair2/X2AP/x2ap_common.h
2018-09-07 15:30:49 +02:00
Konstantinos Alexandris 1729b3dc66 X2AP: init funcs (register/association) + handler/management functions
SCTP: one to many sockets implementation
2018-09-06 15:49:59 +02:00
laurent 46231a5d5d merge with latest develop 2018-09-06 09:43:26 +02:00
laurent abbffef015 fix some exit situations, that was badly done by SIGUSR1 handler 2018-09-05 17:03:19 +02:00
Robert Schmidt f86b51990c restart: first stop RU, then eNB proc threads 2018-09-05 14:21:39 +02:00
Robert Schmidt 5a1e8c2869 Lock sync_var access in restart_L1L2() 2018-09-05 14:21:39 +02:00
Robert Schmidt c1b024d354 stop_L1L2(): Do not turn of RF, is done in ru_thread 2018-09-05 14:21:39 +02:00
Robert Schmidt 1f60f4ecea Log Level Debug for Freeing Transport Channel Msg 2018-09-05 14:21:39 +02:00
Navid Nikaein 1adbaa7a54 when restarting, re-init MAC UE_list 2018-09-03 18:10:28 +02:00
Robert Schmidt 175d28ee35 bugfixes kill_eNB_proc()
* put mutex lock around instance_prach
* destroy attributes
2018-09-03 18:10:28 +02:00
Robert Schmidt f0670154b3 Correctly join RU threads
* join pthread_FH (ru_thread) once all condition variables have been set
* join RU FHTX only if it has been started (check as for pthread_create())
* join PRACH thread in the monolithic case
* send broadcast on condition variable cond_eNBs, as there can be multiple
  waits on it
* integrate stop_ru(*ru) into kill_RU_proc(*ru)
* Correct memory freeing
2018-09-03 18:10:28 +02:00
Robert Schmidt 2e1dfb5b3e place oai_exit test after wait_on_condition() in threads 2018-09-03 18:10:28 +02:00
Robert Schmidt c56b5af00e bugfix: kill td/te threads only if initialized
* init_td_thread()/init_te_thread() are only initialized depending on condition
  get_nprocs() > 2 && codingw
* apply the same the same for the functions kill_td_thread()/kill_te_thread()
2018-09-03 18:10:28 +02:00
Robert Schmidt 35b3a2af14 Reorganize TASK_L2L1 loop 2018-09-03 18:10:28 +02:00
Robert Schmidt 0846460753 show which task sends TERMINATE_MESSAGE to which task 2018-09-03 18:10:28 +02:00
Cedric Roux 4c069754d3 Merge remote-tracking branch 'origin/basic-simulator-fixes' into develop_integration_2018_w35 2018-08-31 14:49:50 +02:00
Wang Tsu-Han ee04caab8a replacing judgment from get_nprocs() and worker flags by paralle_stage and worker_stage 2018-08-31 12:58:49 +02:00
Cedric Roux c22180ff31 Merge remote-tracking branch 'origin/issue326_LOGreview' into develop_integration_2018_w35
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/LAYER2/MAC/eNB_scheduler_phytest.c
2018-08-31 12:55:28 +02:00
Cedric Roux 7654f8a208 Merge remote-tracking branch 'origin/issue_344_segv_trace_wireshark' into develop_integration_2018_w35 2018-08-31 12:43:33 +02:00
Cedric Roux 3f08e4503b Merge remote-tracking branch 'origin/x2' into develop_integration_2018_w35 2018-08-31 12:29:15 +02:00
Cedric Roux 99535adacc integration: remove compilation warning 2018-08-31 12:02:04 +02:00
Cedric Roux 4aec4a23a8 Merge remote-tracking branch 'origin/multi-sdr-ip-conf' into develop_integration_2018_w35 2018-08-31 11:50:19 +02:00
Cedric Roux a48c36582f bugfix: fix threading in the UE
Various problems were found with the basic simulator.

Variables used by various threads for synchronization need to
be initialized properly. That is before the various threads
start using them.

This goes for:
- UE->is_synchronized
- UE->proc.instance_cnt_synch
- UE->proc.instance_cnt_rxtx

The function "UE->rfdevice.trx_start_func" was called in
"UE_thread_synch" but should be called in "UE_thread" because
"UE_thread" is the one that calls "UE->rfdevice.trx_read_func"
and there is no guaranty that the call to "UE->rfdevice.trx_start_func"
is done before as it has to (it's in another thread).

And finally "pthread_cond_signal(&proc->cond_rxtx)" was called twice,
which may not be a problem but was certainly not intended. Plus
removing one call simplifies the code by removing some "if" logic,
which is a good thing per se.

This commit was not tested with a real UE and may thus introduce some
issues. Hopefully not!
2018-08-27 17:46:03 +02:00
Cedric Roux 97ddf5ea28 basic simulator: bugfix: wait for synch ready at the right time
Before this commit we were checking for UE->is_synchronized == 0
then we were waiting for a potentially active synch routine to
finish and then we were starting the synch routine again but the
synch routine that was running may have set UE->is_synchronized
to 1. This was leading to various problems, most notably the following
message repeated over and over in the UE log and the UE unable to
connect properly:

    [RRC]  [UE 0] Frame 377: OUT OF SYNC FROM eNB 0 (T310 active 0 : T310 0, N310 345, N311 0)

So let's wait for a potentially active synch routine to finish
before anything else.
2018-08-27 17:32:00 +02:00
Cedric Roux 2276996f74 basic simulator: minor bugfix: clear memory before use 2018-08-27 17:28:50 +02:00
frtabu 51c86dd49e fix noS1 build failure 2018-08-24 20:06:02 +02:00
frtabu 77f70e77ea MSC logging utility as a config option 2018-08-24 17:43:14 +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
frtabu 79588a494e LOG_F replaced by LOG_DUMPMSG. Add a generic function to dump a buffer or message. Go on with LOG_M implementation improvement. Remove redundant options to enable/disable logs. 2018-08-24 17:43:14 +02:00
Raymond Knopp b9a06a75ff Merge branch 'ru_rau_enhancement-external-timing' of http://gitlab.eurecom.fr/oai/openairinterface5g into ru_rau_enhancement-external-timing 2018-08-24 14:49:29 +02:00
Raymond Knopp bcabf5fe11 tracing for if4p5 fronthaul 2018-08-24 14:49:00 +02:00
Raymond Knopp 671aa4e11a Merge remote-tracking branch 'origin/develop' into ru_rau_enhancement-external-timing 2018-08-24 14:48:04 +02:00
Raymond Knopp b7b48fd6c7 beamforming debugging after fronthaul testing 2018-08-24 10:32:03 +02:00
Konstantinos Alexandris 3b3b971807 minor fixes for x2 + modify conf files
The configuration file has now to contain ENB_IPV4_ADDRESS_FOR_X2C and
ENB_PORT_FOR_X2C in the NETWORK_INTERFACES section.

For example:

    NETWORK_INTERFACES :
    {
        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152

        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
    };
2018-08-23 16:15:14 +02:00
laurent d5f28018ed fix 344 2018-08-23 13:06:17 +02:00
Raymond Knopp c3b9328540 Merge remote-tracking branch 'origin/t_tracer_w32' into ru_rau_enhancement-external-timing
Conflicts:
	common/utils/T/T_messages.txt
2018-08-17 16:33:07 +02:00
Cedric Roux e74010220d bugfix: fix duplicated code
As reported by Robert Schmidt.
2018-08-17 15:45:38 +02:00
cdxu0312 0fd3ca7584 added 2 RRU debugging for vcd 2018-08-17 15:12:26 +08:00
Eino Virtanen be0e409594 USRP addressess and clock sources can be configured in the configuration file with the RU section with comma separated IP addresses in 'sdr_addrs' and with strings "internal"/"external"/"gpsdo" in 'clock_src'.
TODO: Currently the driver picks the two first RX and TX channels when nb_tx and nb_rx are both set to 2. If a developers wants to force usage of two devices, 'set_rx_subdev_spec' and 'set_tx_subdev_spec' can be used to indicate to the driver so that antennas from separate devices will be used. To rephrase: until 4 antennas are supported by OAI, testing with two devices, so that antennas from both devices are used, requires manual configuration of which subdevices' antennas are used.

Conflicts:
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
2018-08-16 16:22:13 +02:00
Raymond Knopp 6bfbb77ebe Merge remote-tracking branch 'origin/340-fix-beamforming-for-multiple-antenna' into ru_rau_enhancement-external-timing
Conflicts:
	openair1/SCHED/ru_procedures.c
2018-08-15 04:23:59 +02:00
Cedric Roux 53bb1fb091 minor bugfix
Compilation of UE softmodem failed.
2018-08-14 15:54:34 +02:00