Compare commits

...

38 Commits

Author SHA1 Message Date
Raphael Defosseux
e0876dd36f DOC: forgot to modify the release notes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-02-05 11:07:28 +01:00
Raphael Defosseux
7e6847bb91 Merge branch 'master-hotfix-mutex-lock' into 'master'
HOTFIX: Fix for mutex lock for wake-up signal

See merge request oai/openairinterface5g!766
2020-02-04 17:32:35 +01:00
Raphael Defosseux
090d7d000f HOTFIX: cherry-picked from b7a027f905
--> only on the lte side
 fixes for mutex lock for wake up signal

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-30 15:16:24 +01:00
Raphael Defosseux
8ada361999 Merge branch 'release_v1_2_0_candidate' into 'master'
Release v1.2.0 candidate

See merge request oai/openairinterface5g!754

Merging develop tag `2019.w51` into `master` for Long Term Support

Last LTS release before including any 5G-NR feature to LTS.
2020-01-17 21:12:45 +01:00
Raphael Defosseux
b9ff87496e DOC: added hyper links to new sections
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-15 16:07:25 +01:00
Dr.-Ing. Javier Morgade
15c630638e Update FEATURE_SET.md with MBMS features 2020-01-14 14:05:15 +01:00
Dr.-Ing. Javier Morgade
ba0ced8915 Update README.txt with MBMS features 2020-01-14 13:55:05 +01:00
Raphael Defosseux
35582658c5 CI: prepare release notes for release 1.2.0
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2020-01-14 13:27:34 +01:00
Raymond Knopp
3cf5c17342 minor modifications for rhel7.7 build 2020-01-14 13:19:50 +01:00
Raphael Defosseux
0cccf1d081 Merge remote-tracking branch 'origin/develop' into release_v1_2_0_candidate 2020-01-14 13:19:13 +01:00
Raphael Defosseux
a40f9d9d23 CI: putting back flexran-ctl in build/testing --> now on develop branch of this repo
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-11-29 13:58:31 +01:00
Raphael Defosseux
99a003b7fc Merge branch 'hotfix_cqi_scheduling' into 'master'
Hotfix: CQI scheduling in TDD

See merge request oai/openairinterface5g!711
2019-11-08 08:07:30 +01:00
Raphael Defosseux
7f19d11424 CI: tuning on TDD scenarios
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-11-07 23:10:17 +01:00
Raphael Defosseux
0caec0acb7 CI: preparing release notes for patch
--> also adding TDD monolithic test at 20MHz with default scheduler
 --> putting IF4.p5 TDD scenarios with default scheduler

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-11-07 18:58:18 +01:00
masayuki.harada
d2346bdff0 Fix scheduling PUSCH when CQI has not been received for a long time in fairRR scheduler. 2019-11-07 21:57:57 +09:00
masayuki.harada
85c160ddc0 Fix cqi_req clear timing, and schedule PUSCH when CQI has not been received for a long time in fairRR scheduler. 2019-11-07 16:54:08 +09:00
Cedric Roux
e2305bff66 hotfix: better CQI requests, especially for TDD
In TDD mode, CQI requests are not possible in special subframes (at
least for some TDD configurations, see 36.213 7.2.3 that says "a
DL subframe is valid if it does not contain a DwPTS field if the
length is less than  7680 Ts").

In the code, we simply disable CQI requests in special subframes,
no matter what the length of DwPTS.

A problem can arise if the DCI0 for a given UE are sent only in
those special subframes. In this case the UE will never report
CQI and the eNB will use low MCS for this UE, impacting performances.

Another, related, problem is when there are several UEs. There again
one UE might always get its DCI0 in special subframes and thus never
report CQI. There again, performance issues.

This commit is an attempt to improve the situation.

It does two things.

1 - tag the UE as schedulable in the function UE_is_to_be_scheduled
    if the cqi_req_timer is expired

2 - use cqi_req_timer as a criterium when ordering UEs for UL scheduling

The value chosen for the expiration of the cqi_req_timer in
UE_is_to_be_scheduled is quite high (300) because as the code is
today we may overschedule the UE for short bursts until we receive
a CQI from the UE. [TODO: fix the code properly to avoid this behavior.]

Note: the fairRR scheduler has not been analyzed and this commit may
      not fix anything in case the fairRR scheduler is used.
2019-11-07 12:19:09 +09:00
Raphael Defosseux
7af841272f Merge branch 'release_v1_1_0_candidate' into 'master'
Release v1.1.0 Candidate

See merge request oai/openairinterface5g!650
2019-07-25 21:04:14 +02:00
Raphael Defosseux
4c19d961d7 CI: trying to stablize the X2 Handover testing
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-07-25 13:58:09 +02:00
Raphael Defosseux
b958b57db2 Merge remote-tracking branch 'origin/develop' into release_v1_1_0_candidate 2019-07-25 13:50:27 +02:00
Raphael Defosseux
69e4901e42 Merge branch 'limesuite_v19.04.0_compatibility' into 'master'
Update lms_lib.cpp to LimeSuite v19.04.0 API

See merge request oai/openairinterface5g!604
2019-06-07 14:45:18 +02:00
Raphael Defosseux
1cdeed6c1d Updating the release notes
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-06-07 10:08:19 +02:00
jordan moore
86ba488ea7 Update lms_lib.cpp 2019-06-07 05:35:58 +02:00
Raphael Defosseux
6cf4d59d2c Merge branch 'hot-fix-test-boris' into 'master'
Integration into the Master Jenkins pipeline of L1 simulator
 testing

See merge request oai/openairinterface5g!528
2019-03-05 13:14:13 +01:00
Boris Djalal
07758a5f75 CI: dummy commit
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-04 16:17:30 +01:00
Raphael Defosseux
bf9f88572a CI: the slave job should have the correct target branch when running on MR
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-04 15:47:21 +01:00
Boris Djalal
d74942eec3 CI: adding L1-noS1 simulator to Jenkins pipeline.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-04 14:07:30 +01:00
Boris Djalal
0995a99170 Add HTML report for noS1 test.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-04 13:58:34 +01:00
Boris Djalal
c02cb8ef67 Update status of test. Iperf tests no more taken into account.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-04 13:58:34 +01:00
Boris Djalal
0295caa98a Iperf DL seems to be working.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-04 13:58:34 +01:00
Boris Djalal
d6dd4c25a9 Add pinging the UE from the eNB.
Successful tests: eNB sync, UE sync, pinging the eNB from the UE and the UE from the eNB.

Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-04 13:58:34 +01:00
Boris Djalal
0bc4e28260 save before merge with master
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-04 13:58:34 +01:00
Boris Djalal
ee35014050 Add configuration files. Ping the UE from the eNB.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-04 13:58:34 +01:00
Boris Djalal
367f890515 Fixes file permission problem by adding sudo. Removes debug printings.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-04 13:58:34 +01:00
Boris Djalal
7f4f6688a8 First commit.
Signed-off-by: Boris Djalal <boris.djalal@eurecom.fr>
2019-03-04 13:58:34 +01:00
Raphael Defosseux
0d19170282 CI: comment message is now in all HTML reports
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-01 16:49:57 +01:00
Raphael Defosseux
cc62375d22 CI: VM-based tests are now sequential to prevent too much stress
even in sequential mode, all VM-based are run.

Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2019-03-01 16:47:31 +01:00
Raphael Defosseux
1c495cfdcb Merge branch 'uhd_3131_fix' into 'master'
See merge request oai/openairinterface5g!515

Changes to make oai work with UHD 3.13.1 and later.
2019-02-22 17:51:55 +01:00
6 changed files with 49 additions and 12 deletions

View File

@@ -17,7 +17,7 @@ openairinterface5g
├── maketags : Script to generate emacs tags
├── nfapi : Contains the NFAPI code. A local Readme file provides more details.
├── openair1 : 3GPP LTE Rel-10/12 PHY layer + PHY RF simulation. A local Readme file provides more details.
├── openair2 : 3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP implementation.
├── openair2 : 3GPP LTE Rel-10 RLC/MAC/PDCP/RRC/X2AP + LTE Rel-14 M2AP implementation.
├── COMMON
├── DOCS
├── ENB_APP
@@ -28,12 +28,15 @@ openairinterface5g
├── RRC/LITE
├── UTIL
├── X2AP
├── M2AP
├── MCE_APP
├── openair3: 3GPP LTE Rel10 for S1AP, NAS GTPV1-U for both ENB and UE.
├── COMMON
├── DOCS
├── GTPV1-U
├── NAS
├── S1AP
├── M3AP
├── SCTP
├── SECU
├── UDP
@@ -43,6 +46,18 @@ openairinterface5g
RELEASE NOTES:
v1.2.1 -> February 2020. Bug fix for mutex lock for wake-up signal
v1.2.0 -> January 2020. This version adds the following implemented features:
* LTE-M : eNB support for Mode A repetitions
- PUSCH CE - 8 Repetitions
* Improved CDRX implementation for monolithic eNB
* Experimental eMBMS support (now also on eNB side)
* Experimental MCE - Multicast Coordination Entity
* Bug fixes
This version also has an improved code quality:
* Better Test Coverage in Continuous Integration:
- Initial framework to do long-run testing at R2LAB
v1.1.1 -> November 2019. Bug fix in the TDD Fair Round-Robin scheduler
v1.1.0 -> July 2019. This version adds the following implemented features:
* Experimental support of LTE-M

View File

@@ -3789,13 +3789,13 @@ class SSHConnection():
eNB_cnt = self.x2NbENBs
cnt = 0
while cnt < eNB_cnt:
cmd = "curl -XPOST http://" + self.EPCIPAddress + ":9999/rrc/x2_ho_net_control/enb/" + str(self.x2ENBBsIds[0][cnt]) + "/1"
cmd = "curl --silent -XPOST http://" + self.EPCIPAddress + ":9999/rrc/x2_ho_net_control/enb/" + str(self.x2ENBBsIds[0][cnt]) + "/1"
logging.debug(cmd)
fullMessage += cmd + '\n'
subprocess.run(cmd, shell=True)
cnt += 1
# Waiting for the activation to be active
time.sleep(10)
time.sleep(20)
msg = "Switching UE(s) from eNB to eNB"
logging.debug(msg)
fullMessage += msg + '\n'
@@ -3803,13 +3803,13 @@ class SSHConnection():
while cnt < eNB_cnt:
ueIdx = 0
while ueIdx < len(self.x2ENBConnectedUEs[0][cnt]):
cmd = "curl -XPOST http://" + self.EPCIPAddress + ":9999/rrc/ho/senb/" + str(self.x2ENBBsIds[0][cnt]) + "/ue/" + str(self.x2ENBConnectedUEs[0][cnt][ueIdx]) + "/tenb/" + str(self.x2ENBBsIds[0][eNB_cnt - cnt - 1])
cmd = "curl --silent -XPOST http://" + self.EPCIPAddress + ":9999/rrc/ho/senb/" + str(self.x2ENBBsIds[0][cnt]) + "/ue/" + str(self.x2ENBConnectedUEs[0][cnt][ueIdx]) + "/tenb/" + str(self.x2ENBBsIds[0][eNB_cnt - cnt - 1])
logging.debug(cmd)
fullMessage += cmd + '\n'
subprocess.run(cmd, shell=True)
ueIdx += 1
cnt += 1
time.sleep(10)
time.sleep(20)
# check
logging.debug("Checking the Status after X2 Handover")
fullMessage += self.X2_Status(1, self.testCase_id + '_post_ho.json')

View File

@@ -25,7 +25,7 @@
<htmlTabRef>test-x2-ho-05-tm1</htmlTabRef>
<htmlTabName>Test-X2-HO-FDD-05MHz-TM1</htmlTabName>
<htmlTabIcon>tasks</htmlTabIcon>
<repeatCount>2</repeatCount>
<repeatCount>4</repeatCount>
<TestCaseRequestedList>
030201 030202
040101

View File

@@ -103,6 +103,7 @@ check_supported_distribution() {
"fedora24") return 0 ;;
"rhel7") return 0 ;;
"rhel7.6") return 0 ;;
"rhel7.7") return 0 ;;
"centos7") return 0 ;;
esac
return 1
@@ -319,13 +320,13 @@ install_usrp_uhd_driver() {
# quick workaround for RHE7.6
local distribution=$(get_distribution_release)
if [ -z $1 ]; then
if [[ "$distribution" == "rhel7.6" ]]; then
if [[ "$OS_DISTRO" == "rhel" ]]; then
$SUDO /usr/local/bin/uhd_images_downloader
else
$SUDO uhd_images_downloader
fi
else
if [[ "$distribution" == "rhel7.6" ]]; then
if [[ "$OS_DISTRO" == "rhel" ]]; then
$SUDO /usr/local/bin/uhd_images_downloader -i $1
else
$SUDO uhd_images_downloader -i $1

View File

@@ -7,7 +7,9 @@
4. [eNB PDCP Layer](#enb-pdcp-layer)
5. [eNB RRC Layer](#enb-rrc-layer)
6. [eNB X2AP](#enb-x2ap)
7. [eNB Advanced Features](#enb-advanced-features)
7. [eNB/MCE M2AP](#enbmce-m2ap)
8. [MCE/MME M3AP](#mcemme-m3ap)
9. [eNB Advanced Features](#enb-advanced-features)
2. [OpenAirInterface Functional Split](#openairinterface-functional-split)
3. [OpenAirInterface UE Feature Set](#openairinterface-ue-feature-set)
1. [LTE UE PHY Layer](#lte-ue-phy-layer)
@@ -140,6 +142,26 @@ The X2AP layer is based on **3GPP 36.423** v14.6.0 and implements the following
- Handover Cancel
- X2-U interface implemented
## eNB/MCE M2AP ##
The M2AP layer is based on **3GPP 36.443** v14.0.1:
- M2 Setup Request
- M2 Setup Response
- M2 Setup Failure
- M2 Scheduling Information
- M2 Scheduling Information Response
- M2 Session Start Request
- M2 Session Start Response
## MCE/MME M3AP ##
The M3AP layer is based on **3GPP 36.444** v14.0.1:
- M3 Setup Request
- M3 Setup Response
- M3 Setup Failure
- M3 Session Start Request
- M3 Session Start Response
## eNB Advanced Features ##
**To be completed**

View File

@@ -515,17 +515,16 @@ int wakeup_txfh(PHY_VARS_eNB *eNB, L1_rxtx_proc_t *proc,int frame_tx,int subfram
continue;//hacking only works when all RU_tx works on the same subframe #TODO: adding mask stuff
}
AssertFatal((ret = pthread_mutex_lock(&ru_proc->mutex_eNBs))==0,"ERROR pthread_mutex_lock failed on mutex_eNBs L1_thread_tx with ret=%d\n",ret);
if (ru_proc->instance_cnt_eNBs == 0) {
LOG_E(PHY,"Frame %d, subframe %d: TX FH thread busy, dropping Frame %d, subframe %d\n", ru_proc->frame_tx, ru_proc->subframe_tx, proc->frame_rx, proc->subframe_rx);
AssertFatal((ret=pthread_mutex_lock(&eNB->proc.mutex_RU_tx))==0,"mutex_lock returns %d\n",ret);
eNB->proc.RU_mask_tx = 0;
AssertFatal((ret=pthread_mutex_unlock(&eNB->proc.mutex_RU_tx))==0,"mutex_unlock returns %d\n",ret);
AssertFatal((ret=pthread_mutex_unlock( &ru_proc->mutex_eNBs ))==0,"mutex_unlock return %d\n",ret);
return(-1);
}
AssertFatal((ret = pthread_mutex_lock(&ru_proc->mutex_eNBs))==0,"ERROR pthread_mutex_lock failed on mutex_eNBs L1_thread_tx with ret=%d\n",ret);
ru_proc->instance_cnt_eNBs = 0;
ru_proc->timestamp_tx = timestamp_tx;
ru_proc->subframe_tx = subframe_tx;