Commit Graph
499 Commits
Author SHA1 Message Date
frtabu d0a3788ca8 re-apply fixes lost with last rebase 2019-02-12 10:12:07 +01:00
frtabu 299f627d8a more fixes for cppcheck, soon all the easiest ones completed (invalid printf format...) 2019-02-12 10:12:07 +01:00
frtabu 875bdaf282 cppcheck fixes (2) 2019-02-12 09:46:02 +01:00
Cedric Roux 8e3638147d basic simulator: workaround: skip first simulation's frames
Due to some unknown bug in the eNB (or UE, or both), the first frames
are not correctly generated (or handled), which leads to a bad behavior
of the simulator in some cases (seen with 100 RBs: the UE reads a bad
MIB and switches to 25 RBs, which results in a deadlock in the
tcp_bridge_oai driver).

Let's "fix" this problem by skipping (in the driver) some frames at the
beginning of the simulation.
2019-01-24 12:29:49 +01:00
Raymond Knopp c47e1fc97f Merge remote-tracking branch 'origin/develop' into enhancement-ltem 2019-01-19 12:14:23 +01:00
frtabu 161aeebaaa attempt to fix TDD basic_simulator failure 2019-01-16 17:57:54 +01:00
frtabu 718f754c07 modify tcp_bridge_oai.c to support remote connections, old behavior is maintained, define TCPBRIDGE environment variable to the enb ip address on ue side. 2019-01-07 19:36:24 +01:00
Cedric Roux aea6b4b5a6 fix a lot of file mode
For whatever reason most of the files had their permission
changed from 644 to 755, which is not wanted.
2019-01-07 16:22:28 +01:00
Raymond Knopp 44a225c6b7 Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/mac.h
	openair2/RRC/LTE/L2_interface.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.h
	openair2/RRC/LTE/rrc_eNB.c
	openair2/RRC/LTE/rrc_eNB_S1AP.c
	targets/RT/USER/lte-enb.c
2019-01-05 23:28:31 +01:00
Raphael Defosseux f3488567c3 Merge remote-tracking branch 'origin/381-limesdr-compilation-fail' into develop_integration_2018_w51 2018-12-18 14:48:24 +01:00
rdoost 6c41b6d77a parametrized gains 2018-12-17 20:24:14 -06:00
Laurent aacbd7577c fix 381 2018-12-13 13:45:59 +01:00
Clayton Shepard 5832204fe1 Added Iris hardware support.
Signed-off-by: Rahman Doost <doost@rice.edu>
2018-12-05 09:47:15 -06:00
Raymond Knopp 6266d5c389 Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/edci.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_bch.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/mac.h
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_defs.h
	openair2/RRC/LTE/rrc_eNB.c
	openair2/RRC/LTE/rrc_eNB_S1AP.c
2018-11-19 00:43:49 +01:00
Cedric Roux 74dc481133 bladeRF: have it functional with libbladerf 2.0
Not much has been changed in the driver (that used libbladerf 1.0).
Some bugs have been fixed. Documentation has been added. A configuration
file has been added too, put in the directory ./configuration/bladeRF.

To use a bladeRF device, see documentation in targets/ARCH/BLADERF/README.

Only the BladeRF x40 has been tested.

Performance is not too bad at 5MHz, a bit worse at 10MHz and on the test
machine I used I face realtime problems at 20MHz when I push downlink
throughput.

So, there is still some work to do to have a good support of bladeRF.
2018-11-06 16:50:48 +01:00
Raymond Knopp d24f521a5a Merge remote-tracking branch 'origin/develop' into enhancement-ltem
Conflicts:
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/dlsch_coding.c
	openair1/PHY/LTE_TRANSPORT/edci.c
	openair1/PHY/LTE_TRANSPORT/if4_tools.c
	openair1/PHY/LTE_TRANSPORT/prach.c
	openair1/PHY/LTE_TRANSPORT/print_stats.c
	openair1/PHY/LTE_TRANSPORT/pucch.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/ENB_APP/enb_paramdef.h
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/defs.h
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_bch.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/pre_processor.c
	openair2/LAYER2/MAC/rar_tools.c
	openair2/LAYER2/MAC/ue_procedures.c
	openair2/PHY_INTERFACE/IF_Module.c
	openair2/RRC/LITE/rrc_common.c
	openair2/RRC/LTE/L2_interface_ue.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_eNB.c
	targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
2018-10-29 07:54:17 +01:00
Florian Kaltenberger 3547d525f4 Merge remote-tracking branch 'origin/develop' into 352-support-for-n300 2018-09-29 12:09:51 -07:00
Florian Kaltenberger 84d04b3cd5 new interpretation of sdr_addrs string in RU config file: this is now directly passed to the uhd to specify a device. It may contain a device type (i.e., "type=x300") or an IP address (i.e., "addr=192.168.10.2") 2018-09-28 00:11:35 -07:00
Florian Kaltenberger c4afc399fc astyling usrp_lib.cpp 2018-09-28 00:08:13 -07:00
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
Cedric Roux 4c069754d3 Merge remote-tracking branch 'origin/basic-simulator-fixes' into develop_integration_2018_w35 2018-08-31 14:49:50 +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 99535adacc integration: remove compilation warning 2018-08-31 12:02:04 +02:00
Cedric Roux 2276996f74 basic simulator: minor bugfix: clear memory before use 2018-08-27 17:28:50 +02:00
frtabu 77f70e77ea MSC logging utility as a config option 2018-08-24 17:43:14 +02: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
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 37a097cc35 Merge remote-tracking branch 'origin/334-iq-replay-without-mmap-usage' into develop_integration_2018_w31 2018-08-03 09:44:57 +02:00
frtabu 6c23bdec60 fix compilation errors in ETHERNET or noS1 mode 2018-07-31 00:42:53 +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 072cf56720 basic simulator is now functional
The power estimation of the UE has to be debugged (calibrated?).
In the meantime, using "--ue-rxgain 140" lets the UE and eNB
talk to each other in the basic simulator.
2018-07-26 11:37:36 +02:00
bruno mongazon-cazavet 006fced248 Fix #334 2018-07-23 16:25:34 +02:00
Cedric Roux 0f94c3487d minor 2018-07-23 10:48:05 +02:00
Raphael Defosseux f3b5f5433c Merge branch 'develop' into '322-code-cleanup-log_m-to-replace-write_output'
# Conflicts:
#   openair1/PHY/LTE_UE_TRANSPORT/srs_modulation.c
2018-07-03 15:48:19 +02:00
bruno mongazon 94611edefe fix issue #322 2018-06-28 14:15:15 +02:00
bruno mongazon b016bc229a fixed #320 issue 2018-06-25 18:23:36 +02:00
Cedric Roux c221af02db minor: update documentation of basic simulator's compilation. 2018-06-21 10:06:42 +02:00
Cedric Roux 0c445bedda Merge remote-tracking branch 'origin/bugfix-310-IQrecplay' into develop 2018-06-18 16:25:48 +02:00
Cedric Roux 5c6ad3142d Merge remote-tracking branch 'origin/develop' into mu_with_tdd1
The monolithic eNodeB is not fully functional in FDD.

The TDD mode has not been tested.

Do not consider this commit as functional.

Conflicts:
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	common/utils/itti/intertask_interface.c
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
	openair1/PHY/LTE_TRANSPORT/dci_tools.c
	openair1/PHY/LTE_TRANSPORT/dlsch_scrambling.c
	openair1/PHY/LTE_TRANSPORT/transport_eNB.h
	openair1/PHY/LTE_UE_TRANSPORT/transport_proto_ue.h
	openair1/PHY/defs_eNB.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED/fapi_l1.c
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair1/SCHED/pusch_pc.c
	openair2/COMMON/platform_types.h
	openair2/COMMON/rrc_messages_types.h
	openair2/ENB_APP/enb_config.c
	openair2/ENB_APP/enb_paramdef.h
	openair2/LAYER2/MAC/config.c
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/eNB_scheduler_RA.c
	openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
	openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
	openair2/LAYER2/MAC/flexran_agent_scheduler_dlsch_ue.c
	openair2/LAYER2/MAC/mac.h
	openair2/LAYER2/MAC/mac_proto.h
	openair2/LAYER2/MAC/pre_processor.c
	openair2/LAYER2/RLC/rlc.c
	openair2/LAYER2/RLC/rlc_rrc.c
	openair2/RRC/LITE/rrc_common.c
	openair2/RRC/LTE/L2_interface.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/rrc_eNB.c
	openair2/UTIL/LOG/log.h
	targets/COMMON/openairinterface5g_limits.h
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.c
	targets/RT/USER/lte-softmodem.h
2018-06-12 16:23:36 +02:00
bruno mongazon acbd1f1f7d fix issue 310 IQrecplay 2018-06-04 13:05:13 +02:00
sharma 3c1c5a1508 merge in changes from local copy which were made just prior to Orange Research Day demonstration 2018-06-04 08:15:16 +02:00
Haruki NAOI 8bec50653f Fix: eNB output core dump file when exiting eNB process. 2018-05-18 10:01:07 +09: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
Raymond Knopp b2cc1252c6 Merge remote-tracking branch 'origin/develop' into RU-RAU-split-parallel-EMUFH-phy-test-merge
Conflicts:
	cmake_targets/build_oai
	common/utils/itti/intertask_interface.c
	openair1/PHY/INIT/lte_init.c
	openair1/PHY/LTE_TRANSPORT/dci.c
	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
	openair1/PHY/defs.h
	openair1/SCHED/phy_procedures_lte_eNb.c
	openair2/ENB_APP/enb_paramdef.h
	openair2/LAYER2/MAC/defs.h
	openair2/LAYER2/MAC/eNB_scheduler.c
	targets/ARCH/COMMON/common_lib.c
	targets/COMMON/create_tasks.c
	targets/RT/USER/lte-enb.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-softmodem.h
2018-03-12 12:10:48 +01:00
oai 45302792ee config module fix and extensions for Nb-IoT, shared lib loader and telnet server implementation 2018-03-08 17:24:23 +01:00
Wu Jing ba8a111ea1 merge the latest develop branch into issue289 2018-02-01 19:25:29 +09:00
Massive f0376d1b4f adding uhd network interface 2018-01-19 13:00:51 +01:00
bruno mongazon 9c93307ab4 Fix #582, merge from develop 2018-01-16 14:31:23 +01:00
Cedric Roux 55641754d9 Merge remote-tracking branch 'origin/issue281_iq_filename' into develop_integration_2018_w02 2018-01-15 15:58:48 +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