Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG-RAN
Commits
195baf2a
Commit
195baf2a
authored
Nov 16, 2022
by
Stone WU
Committed by
jperaldi
Nov 28, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug #124357:[OAI][eNB]Fix 3 cells running stuck issue
parent
44795fed
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
418 additions
and
6 deletions
+418
-6
ci-scripts/conf_files/firecell/proxy_rcc.band1_three_cc.tm1.nfapi.conf
...nf_files/firecell/proxy_rcc.band1_three_cc.tm1.nfapi.conf
+410
-0
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+1
-2
nfapi/oai_integration/nfapi_vnf.c
nfapi/oai_integration/nfapi_vnf.c
+2
-2
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+2
-1
openair2/LAYER2/MAC/eNB_scheduler_RA.c
openair2/LAYER2/MAC/eNB_scheduler_RA.c
+3
-1
No files found.
ci-scripts/conf_files/firecell/proxy_rcc.band1_three_cc.tm1.nfapi.conf
0 → 100644
View file @
195baf2a
Active_eNBs
= (
"eNB-Eurecom-LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
(
{
# real_time choice in {hard, rt-preempt, no}
real_time
=
"no"
;
//////////
Identification
parameters
:
eNB_ID
=
0
x1
;
cell_type
=
"CELL_MACRO_ENB"
;
eNB_name
=
"eNB-Eurecom-LTEBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ( {
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
; } );
tr_s_preference
=
"local_mac"
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"3GPP_eNODEB"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
0
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
1
;
downlink_frequency
=
2160000000
L
;
uplink_frequency_offset
= -
200000000
L
;
Nid_cell
=
0
;
N_RB_DL
=
50
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
pbch_repetition
=
"FALSE"
;
prach_root
=
22
;
prach_config_index
=
3
;
prach_high_speed
=
"DISABLE"
;
prach_zero_correlation
=
5
;
prach_freq_offset
=
4
;
pucch_delta_shift
=
1
;
pucch_nRB_CQI
=
0
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
0
;
pdsch_referenceSignalPower
= -
27
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_hoppingMode
=
"interSubFrame"
;
pusch_hoppingOffset
=
0
;
pusch_groupHoppingEnabled
=
"ENABLE"
;
pusch_groupAssignment
=
0
;
pusch_sequenceHoppingEnabled
=
"DISABLE"
;
pusch_nDMRS1
=
1
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
96
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
104
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format2
=
"deltaF0"
;
pucch_deltaF_Format2a
=
"deltaF0"
;
pucch_deltaF_Format2b
=
"deltaF0"
;
rach_numberOfRA_Preambles
=
64
;
rach_preamblesGroupAConfig
=
"DISABLE"
;
/*
rach_sizeOfRA_PreamblesGroupA
= ;
rach_messageSizeGroupA
= ;
rach_messagePowerOffsetGroupB
= ;
*/
rach_powerRampingStep
=
4
;
rach_preambleInitialReceivedTargetPower
= -
108
;
rach_preambleTransMax
=
10
;
rach_raResponseWindowSize
=
10
;
rach_macContentionResolutionTimer
=
48
;
rach_maxHARQ_Msg3Tx
=
4
;
pcch_default_PagingCycle
=
128
;
pcch_nB
=
"oneT"
;
bcch_modificationPeriodCoeff
=
2
;
ue_TimersAndConstants_t300
=
1000
;
ue_TimersAndConstants_t301
=
1000
;
ue_TimersAndConstants_t310
=
1000
;
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
},
{
node_function
=
"3GPP_eNODEB"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
0
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
1
;
downlink_frequency
=
2150000000
L
;
uplink_frequency_offset
= -
200000000
L
;
Nid_cell
=
1
;
N_RB_DL
=
50
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
pbch_repetition
=
"FALSE"
;
prach_root
=
22
;
prach_config_index
=
3
;
prach_high_speed
=
"DISABLE"
;
prach_zero_correlation
=
5
;
prach_freq_offset
=
4
;
pucch_delta_shift
=
1
;
pucch_nRB_CQI
=
0
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
0
;
pdsch_referenceSignalPower
= -
27
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_hoppingMode
=
"interSubFrame"
;
pusch_hoppingOffset
=
0
;
pusch_groupHoppingEnabled
=
"ENABLE"
;
pusch_groupAssignment
=
0
;
pusch_sequenceHoppingEnabled
=
"DISABLE"
;
pusch_nDMRS1
=
1
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
96
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
104
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format2
=
"deltaF0"
;
pucch_deltaF_Format2a
=
"deltaF0"
;
pucch_deltaF_Format2b
=
"deltaF0"
;
rach_numberOfRA_Preambles
=
64
;
rach_preamblesGroupAConfig
=
"DISABLE"
;
/*
rach_sizeOfRA_PreamblesGroupA
= ;
rach_messageSizeGroupA
= ;
rach_messagePowerOffsetGroupB
= ;
*/
rach_powerRampingStep
=
4
;
rach_preambleInitialReceivedTargetPower
= -
108
;
rach_preambleTransMax
=
10
;
rach_raResponseWindowSize
=
10
;
rach_macContentionResolutionTimer
=
48
;
rach_maxHARQ_Msg3Tx
=
4
;
pcch_default_PagingCycle
=
128
;
pcch_nB
=
"oneT"
;
bcch_modificationPeriodCoeff
=
2
;
ue_TimersAndConstants_t300
=
1000
;
ue_TimersAndConstants_t301
=
1000
;
ue_TimersAndConstants_t310
=
1000
;
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
},
{
node_function
=
"3GPP_eNODEB"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
0
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
1
;
downlink_frequency
=
2150000000
L
;
uplink_frequency_offset
= -
200000000
L
;
Nid_cell
=
2
;
N_RB_DL
=
50
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
pbch_repetition
=
"FALSE"
;
prach_root
=
22
;
prach_config_index
=
3
;
prach_high_speed
=
"DISABLE"
;
prach_zero_correlation
=
5
;
prach_freq_offset
=
4
;
pucch_delta_shift
=
1
;
pucch_nRB_CQI
=
0
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
0
;
pdsch_referenceSignalPower
= -
27
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_hoppingMode
=
"interSubFrame"
;
pusch_hoppingOffset
=
0
;
pusch_groupHoppingEnabled
=
"ENABLE"
;
pusch_groupAssignment
=
0
;
pusch_sequenceHoppingEnabled
=
"DISABLE"
;
pusch_nDMRS1
=
1
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
96
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
104
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format2
=
"deltaF0"
;
pucch_deltaF_Format2a
=
"deltaF0"
;
pucch_deltaF_Format2b
=
"deltaF0"
;
rach_numberOfRA_Preambles
=
64
;
rach_preamblesGroupAConfig
=
"DISABLE"
;
/*
rach_sizeOfRA_PreamblesGroupA
= ;
rach_messageSizeGroupA
= ;
rach_messagePowerOffsetGroupB
= ;
*/
rach_powerRampingStep
=
4
;
rach_preambleInitialReceivedTargetPower
= -
108
;
rach_preambleTransMax
=
10
;
rach_raResponseWindowSize
=
10
;
rach_macContentionResolutionTimer
=
48
;
rach_maxHARQ_Msg3Tx
=
4
;
pcch_default_PagingCycle
=
128
;
pcch_nB
=
"oneT"
;
bcch_modificationPeriodCoeff
=
2
;
ue_TimersAndConstants_t300
=
1000
;
ue_TimersAndConstants_t301
=
1000
;
ue_TimersAndConstants_t310
=
1000
;
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
}
);
srb1_parameters
:
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit
=
80
;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering
=
35
;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit
=
0
;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu
=
4
;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte
=
99999
;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold
=
4
;
}
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"192.168.61.4"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
enable_measurement_reports
=
"no"
;
///
X2
enable_x2
=
"no"
;
t_reloc_prep
=
1000
; /*
unit
:
millisecond
*/
tx2_reloc_overall
=
2000
; /*
unit
:
millisecond
*/
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"l2sim-net"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"CI_ENB_IP_ADDR"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"l2sim-net"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"CI_ENB_IP_ADDR"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C
=
"CI_ENB_IP_ADDRESS"
;
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
};
}
);
# IP Address, port numbers and SSMode for System Simulator
SSConfig
= (
{
hostIp
=
"127.0.0.1"
;
#Host IP for System Simulator
Sys_port
=
7777
;
#Port Number for System Simulator Sys Port
Srb_port
=
7778
;
#Port Number for System Simulator Srb Port
Vng_port
=
7779
;
#Port Number for System Simulator VNG Port
Vtp_port
=
7780
;
#Port Number for System Simulator VTP Port
Drb_port
=
7781
;
#Port Number for System Simulator DRB Port
SysInd_port
=
7782
;
#Port Number for System Simulator SysIND Port
SSMode
=
1
;
#SSMode: 0 - eNB , 1- SYS_PORT test , 2- Only SRB_PORT test
}
);
MACRLCs
= (
{
num_cc
=
3
;
local_s_if_name
=
"lo"
;
remote_s_address
=
"127.0.0.1"
;
local_s_address
=
"127.0.0.1"
;
local_s_portc
=
50001
;
remote_s_portc
=
50000
;
local_s_portd
=
50011
;
remote_s_portd
=
50010
;
tr_s_preference
=
"nfapi"
;
tr_n_preference
=
"local_RRC"
;
#scheduler_mode = "fairRR";
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
#log_config =
# {
# global_log_level ="debug";
# global_log_verbosity ="low";
# hw_log_level ="error";
# hw_log_verbosity ="low";
# phy_log_level ="debug";
# phy_log_verbosity ="low";
# mac_log_level ="analysis";
# mac_log_verbosity ="low";
# rlc_log_level ="warn";
# rlc_log_verbosity ="low";
# pdcp_log_level ="analysis";
# pdcp_log_verbosity ="low";
# rrc_log_level ="analysis";
# rrc_log_verbosity ="full";
# };
log_config
=
{
global_log_level
=
"error"
;
pkt_log_level
=
"info"
;
#global_log_verbosity ="low";
#hw_log_level ="error";
#hw_log_verbosity ="low";
#phy_log_level ="error";
#phy_log_verbosity ="low";
mac_log_level
=
"info"
;
#mac_log_verbosity ="low";
#rlc_log_level ="warn";
#rlc_log_verbosity ="low";
#pdcp_log_level ="analysis";
#pdcp_log_verbosity ="low";
rrc_log_level
=
"info"
;
#rrc_log_verbosity ="full";
};
cmake_targets/CMakeLists.txt
View file @
195baf2a
...
...
@@ -864,10 +864,9 @@ if ($ENV{NR_ENABLE})
add_integer_option
(
MAX_NUM_CCs 1
"????"
)
Message
(
"Cell configuration for NR is 1. MULTI CELLS NOT IMPLEMENTED"
)
else
()
add_integer_option
(
MAX_NUM_CCs
2
"????"
)
add_integer_option
(
MAX_NUM_CCs
3
"????"
)
Message
(
"Cell configuration for LTE is
${
MAX_NUM_CCs
}
: MULTI CELLS IS IMPLEMENTED"
)
endif
()
add_boolean_option
(
SMBV False
"Rohde&Schwarz SMBV100A vector signal generator"
)
add_boolean_option
(
DEBUG_PHY False
"Enable PHY layer debugging options"
)
add_boolean_option
(
DEBUG_PHY_PROC False
"Enable debugging of PHY layer procedures"
)
...
...
nfapi/oai_integration/nfapi_vnf.c
View file @
195baf2a
...
...
@@ -1722,8 +1722,8 @@ int start_resp_cb(nfapi_vnf_config_t *config, int p5_idx, nfapi_start_response_t
phy_info
*
phy
=
pnf
->
phys
;
vnf_p7_info
*
p7_vnf
=
vnf
->
p7_vnfs
;
uint16_t
port
=
htons
(
phy
->
remote_port
);
char
*
remote_addr
=
(
char
*
)
malloc
(
strlen
(
phy
->
remote_addr
));
memset
(
remote_addr
,
0
,
strlen
(
phy
->
remote_addr
));
char
*
remote_addr
=
(
char
*
)
malloc
(
strlen
(
phy
->
remote_addr
)
+
1
);
memset
(
remote_addr
,
0
,
strlen
(
phy
->
remote_addr
)
+
1
);
strncpy
(
remote_addr
,
phy
->
remote_addr
,
strlen
(
phy
->
remote_addr
));
for
(
int
i
=
0
;
i
<
pnf
->
num_phys
;
i
++
)
{
...
...
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
195baf2a
...
...
@@ -984,7 +984,8 @@ eNB_dlsch_ulsch_scheduler(module_id_t module_idP,
PROTOCOL_CTXT_SET_BY_MODULE_ID
(
&
ctxt
,
module_idP
,
ENB_FLAG_YES
,
NOT_A_RNTI
,
frameP
,
subframeP
,
module_idP
);
rlc_tick
(
frameP
,
subframeP
);
pdcp_run
(
&
ctxt
);
pdcp_mbms_run
(
&
ctxt
);
//TODO: comment here for workaround as something wrong make tun read block
//pdcp_mbms_run(&ctxt);
rrc_rx_tx
(
&
ctxt
,
CC_id
);
}
#endif
...
...
openair2/LAYER2/MAC/eNB_scheduler_RA.c
View file @
195baf2a
...
...
@@ -1378,12 +1378,13 @@ initiate_ra_proc(module_id_t module_idP,
ra
[
i
].
Msg2_subframe
=
(
subframeP
+
offset
)
%
10
;
/* TODO: find better procedure to allocate RNTI */
set_taus_seed
(
0
);
//TODO: add workaround here (set_taus_seed already called at begining of main,but something goes wrong when built with 3 cells)
do
{
if
(
IS_SOFTMODEM_IQPLAYER
)
{
/* iq player mode, use deterministic rnti */
static
int
drnti
[
MAX_MOBILES_PER_ENB
];
static
int
drnti_def
[]
=
{
0xbda7
,
0x71da
,
0x9c40
,
0xc350
,
0x2710
,
0x4e20
,
0x7530
,
0x1388
,
0x3a98
,
0x61a8
,
0x88b8
,
0xafc8
,
0xd6d8
,
0x1b58
,
0x4268
,
0x6978
};
for
(
int
j
=
0
;
j
<
MAX_MOBILES_PER_ENB
&&
j
<
(
sizeof
(
drnti_def
)
/
sizeof
(
int
));
j
++
)
drnti
[
i
]
=
drnti_def
[
i
];
drnti
[
j
]
=
drnti_def
[
j
];
int
nb_ue
=
0
;
...
...
@@ -1403,6 +1404,7 @@ initiate_ra_proc(module_id_t module_idP,
ra
[
i
].
rnti
=
drnti
[
nb_ue
];
}
else
{
ra
[
i
].
rnti
=
taus
();
LOG_D
(
MAC
,
"[RAPROC] try rnti:0x%x
\n
"
,
ra
[
i
].
rnti
);
}
loop
++
;
}
while
(
loop
!=
100
&&
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment