small bugfixes, logs
verified config files enb.band13.exmimo2.conf with sequans UE and enb.band7.exmimo2.conf with Huawei UE on ExpressMIMO2 git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5923 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -1346,11 +1346,9 @@ void generate_phich_top(PHY_VARS_eNB *phy_vars_eNB,
|
||||
|
||||
for (UE_id=0;UE_id<NUMBER_OF_UE_MAX;UE_id++) {
|
||||
if ((ulsch_eNB[UE_id])&&(ulsch_eNB[UE_id]->rnti>0)) {
|
||||
LOG_D(PHY,"[eNB][PUSCH %d/%x] Frame %d subframe %d (pusch_subframe %d,pusch_frame %d) phich active %d\n",
|
||||
harq_pid,ulsch_eNB[UE_id]->rnti,phy_vars_eNB->proc[sched_subframe].frame_tx,subframe,pusch_subframe,pusch_frame,ulsch_eNB[UE_id]->harq_processes[harq_pid]->phich_active);
|
||||
if (ulsch_eNB[UE_id]->harq_processes[harq_pid]->phich_active == 1) {
|
||||
|
||||
LOG_D(PHY,"[eNB][PUSCH %d/%x] Frame %d subframe %d (pusch_subframe %d,pusch_frame %d) phich active %d\n",
|
||||
LOG_D(PHY,"[eNB][PUSCH %d/%x] Frame %d subframe %d (pusch_subframe %d,pusch_frame %d) phich active %d\n",
|
||||
harq_pid,ulsch_eNB[UE_id]->rnti,phy_vars_eNB->proc[sched_subframe].frame_tx,subframe,pusch_subframe,pusch_frame,ulsch_eNB[UE_id]->harq_processes[harq_pid]->phich_active);
|
||||
|
||||
ngroup_PHICH = (ulsch_eNB[UE_id]->harq_processes[harq_pid]->first_rb +
|
||||
@@ -1395,6 +1393,7 @@ void generate_phich_top(PHY_VARS_eNB *phy_vars_eNB,
|
||||
subframe);
|
||||
*/
|
||||
}
|
||||
|
||||
// if no format0 DCI was transmitted by MAC, prepare the
|
||||
// MCS parameters for the retransmission
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
#ifdef DEBUG_UCI_TOOLS
|
||||
#include "PHY/vars.h"
|
||||
#endif
|
||||
#define DEBUG_UCI
|
||||
//#define DEBUG_UCI
|
||||
|
||||
unsigned int pmi2hex_2Ar1(unsigned short pmi) {
|
||||
|
||||
|
||||
@@ -846,7 +846,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP) {
|
||||
enb_properties.properties[enb_properties_index]->rx_gain[j] = rx_gain;
|
||||
if ((rx_gain <0) || (rx_gain > 160))
|
||||
AssertError (0, parse_errors ++,
|
||||
"Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for nb_antennas_rx choice: 0..160 !\n",
|
||||
"Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rx_gain choice: 0..160 !\n",
|
||||
lib_config_file_name_pP, i, rx_gain);
|
||||
|
||||
enb_properties.properties[enb_properties_index]->prach_root[j] = prach_root;
|
||||
@@ -964,7 +964,7 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP) {
|
||||
lib_config_file_name_pP, i, pusch_groupAssignment);
|
||||
|
||||
if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0)
|
||||
enb_properties.properties[enb_properties_index]->pusch_groupHoppingEnabled[j] = TRUE;
|
||||
enb_properties.properties[enb_properties_index]->pusch_sequenceHoppingEnabled[j] = TRUE;
|
||||
else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0)
|
||||
enb_properties.properties[enb_properties_index]->pusch_sequenceHoppingEnabled[j] = FALSE;
|
||||
else
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
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 = 0xe00;
|
||||
|
||||
cell_type = "CELL_MACRO_ENB";
|
||||
|
||||
eNB_name = "eNB_Eurecom_LTEBox";
|
||||
|
||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||
tracking_area_code = "1";
|
||||
|
||||
mobile_country_code = "208";
|
||||
|
||||
mobile_network_code = "92";
|
||||
|
||||
////////// Physical parameters:
|
||||
|
||||
component_carriers = (
|
||||
{
|
||||
frame_type = "FDD";
|
||||
tdd_config = 3;
|
||||
tdd_config_s = 0;
|
||||
prefix_type = "NORMAL";
|
||||
eutra_band = 13;
|
||||
downlink_frequency = 748500000L;
|
||||
uplink_frequency_offset = 31000000;
|
||||
|
||||
Nid_cell = 0;
|
||||
N_RB_DL = 25;
|
||||
Nid_cell_mbsfn = 0;
|
||||
nb_antennas_tx = 1;
|
||||
nb_antennas_rx = 1;
|
||||
tx_gain = 2;
|
||||
rx_gain = 2;
|
||||
prach_root = 22;
|
||||
prach_config_index = 0;
|
||||
prach_high_speed = "DISABLE";
|
||||
prach_zero_correlation = 1;
|
||||
prach_freq_offset = 2;
|
||||
pucch_delta_shift = 1;
|
||||
pucch_nRB_CQI = 1;
|
||||
pucch_nCS_AN = 0;
|
||||
pucch_n1_AN = 32;
|
||||
pdsch_referenceSignalPower = -24;
|
||||
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 = -98;
|
||||
pusch_alpha = "AL1";
|
||||
pucch_p0_Nominal = -108;
|
||||
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 = 2;
|
||||
rach_preambleInitialReceivedTargetPower = -100;
|
||||
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;
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
////////// MME parameters:
|
||||
mme_ip_address = ( { ipv4 = "192.168.13.11";
|
||||
ipv6 = "192:168:30::17";
|
||||
active = "yes";
|
||||
preference = "ipv4";
|
||||
}
|
||||
);
|
||||
|
||||
NETWORK_INTERFACES :
|
||||
{
|
||||
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.82/24";
|
||||
|
||||
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
||||
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.82/24";
|
||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||
};
|
||||
|
||||
log_config :
|
||||
{
|
||||
global_log_level ="debug";
|
||||
global_log_verbosity ="high";
|
||||
hw_log_level ="info";
|
||||
hw_log_verbosity ="high";
|
||||
phy_log_level ="debug";
|
||||
phy_log_verbosity ="high";
|
||||
mac_log_level ="debug";
|
||||
mac_log_verbosity ="high";
|
||||
rlc_log_level ="info";
|
||||
rlc_log_verbosity ="high";
|
||||
pdcp_log_level ="info";
|
||||
pdcp_log_verbosity ="high";
|
||||
rrc_log_level ="info";
|
||||
rrc_log_verbosity ="high";
|
||||
};
|
||||
|
||||
}
|
||||
);
|
||||
@@ -40,10 +40,10 @@ eNBs =
|
||||
tx_gain = 20;
|
||||
rx_gain = 20;
|
||||
prach_root = 22;
|
||||
prach_config_index = 3;
|
||||
prach_config_index = 0;
|
||||
prach_high_speed = "DISABLE";
|
||||
prach_zero_correlation = 0;
|
||||
prach_freq_offset = 0;
|
||||
prach_zero_correlation = 1;
|
||||
prach_freq_offset = 2;
|
||||
pucch_delta_shift = 1;
|
||||
pucch_nRB_CQI = 1;
|
||||
pucch_nCS_AN = 0;
|
||||
@@ -53,8 +53,8 @@ eNBs =
|
||||
pusch_n_SB = 1;
|
||||
pusch_enable64QAM = "DISABLE";
|
||||
pusch_hoppingMode = "interSubFrame";
|
||||
pusch_hoppingOffset = 4;
|
||||
pusch_groupHoppingEnabled = "DISABLE";
|
||||
pusch_hoppingOffset = 0;
|
||||
pusch_groupHoppingEnabled = "ENABLE";
|
||||
pusch_groupAssignment = 0;
|
||||
pusch_sequenceHoppingEnabled = "DISABLE";
|
||||
pusch_nDMRS1 = 1;
|
||||
@@ -66,9 +66,9 @@ eNBs =
|
||||
srs_ackNackST =;
|
||||
srs_MaxUpPts =;*/
|
||||
|
||||
pusch_p0_Nominal = -95;
|
||||
pusch_alpha = "AL08";
|
||||
pucch_p0_Nominal = -117;
|
||||
pusch_p0_Nominal = -98;
|
||||
pusch_alpha = "AL1";
|
||||
pucch_p0_Nominal = -108;
|
||||
msg3_delta_Preamble = 6;
|
||||
pucch_deltaF_Format1 = "deltaF2";
|
||||
pucch_deltaF_Format1b = "deltaF3";
|
||||
@@ -76,7 +76,7 @@ eNBs =
|
||||
pucch_deltaF_Format2a = "deltaF0";
|
||||
pucch_deltaF_Format2b = "deltaF0";
|
||||
|
||||
rach_numberOfRA_Preambles = 52;
|
||||
rach_numberOfRA_Preambles = 64;
|
||||
rach_preamblesGroupAConfig = "DISABLE";
|
||||
/*
|
||||
rach_sizeOfRA_PreamblesGroupA = ;
|
||||
@@ -84,8 +84,8 @@ eNBs =
|
||||
rach_messagePowerOffsetGroupB = ;
|
||||
*/
|
||||
rach_powerRampingStep = 2;
|
||||
rach_preambleInitialReceivedTargetPower = -104;
|
||||
rach_preambleTransMax = 6;
|
||||
rach_preambleInitialReceivedTargetPower = -100;
|
||||
rach_preambleTransMax = 10;
|
||||
rach_raResponseWindowSize = 10;
|
||||
rach_macContentionResolutionTimer = 48;
|
||||
rach_maxHARQ_Msg3Tx = 4;
|
||||
@@ -114,10 +114,10 @@ eNBs =
|
||||
NETWORK_INTERFACES :
|
||||
{
|
||||
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0";
|
||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.10/24";
|
||||
ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.13.82/24";
|
||||
|
||||
ENB_INTERFACE_NAME_FOR_S1U = "eth0";
|
||||
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.10/24";
|
||||
ENB_IPV4_ADDRESS_FOR_S1U = "192.168.13.82/24";
|
||||
ENB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||
};
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ unsigned short config_frames[4] = {2,9,11,13};
|
||||
#define FRAME_PERIOD 100000000ULL
|
||||
#define DAQ_PERIOD 66667ULL
|
||||
|
||||
#define DEBUG_THREADS 1
|
||||
//#define DEBUG_THREADS 1
|
||||
|
||||
//#define USRP_DEBUG 1
|
||||
|
||||
@@ -395,6 +395,7 @@ void exit_fun(const char* s)
|
||||
oai_exit = 1;
|
||||
|
||||
#if defined(ENABLE_ITTI)
|
||||
sleep(1); //allow lte-softmodem threads to exit first
|
||||
itti_terminate_tasks (TASK_UNKNOWN);
|
||||
#endif
|
||||
|
||||
@@ -906,11 +907,10 @@ static void * eNB_thread_tx(void *param) {
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if defined(ENABLE_ITTI)
|
||||
/* Wait for eNB application initialization to be complete (eNB registration to MME) */
|
||||
/*#if defined(ENABLE_ITTI)
|
||||
// Wait for eNB application initialization to be complete (eNB registration to MME)
|
||||
wait_system_ready ("Waiting for eNB application to be ready %s\r", &start_eNB);
|
||||
#endif
|
||||
#endif*/
|
||||
|
||||
#ifdef RTAI
|
||||
sprintf(task_name,"TXC%dS%d",proc->CC_id,proc->subframe);
|
||||
@@ -1036,10 +1036,10 @@ static void * eNB_thread_rx(void *param) {
|
||||
char task_name[8];
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_ITTI)
|
||||
/* Wait for eNB application initialization to be complete (eNB registration to MME) */
|
||||
/*#if defined(ENABLE_ITTI)
|
||||
// Wait for eNB application initialization to be complete (eNB registration to MME)
|
||||
wait_system_ready ("Waiting for eNB application to be ready %s\r", &start_eNB);
|
||||
#endif
|
||||
#endif*/
|
||||
|
||||
#ifdef RTAI
|
||||
sprintf(task_name,"RXC%1dS%1d",proc->CC_id,proc->subframe);
|
||||
@@ -3176,6 +3176,13 @@ int main(int argc, char **argv) {
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*#if defined(ENABLE_ITTI)
|
||||
// Wait for eNB application initialization to be complete (eNB registration to MME)
|
||||
if (UE_flag==0) {
|
||||
printf("Waiting for eNB application to be ready\n");
|
||||
wait_system_ready ("Waiting for eNB application to be ready %s\r", &start_eNB);
|
||||
}
|
||||
#endif*/
|
||||
|
||||
|
||||
// this starts the DMA transfers
|
||||
@@ -3305,7 +3312,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
// Sleep to allow all threads to setup
|
||||
sleep(1);
|
||||
//sleep(1);
|
||||
|
||||
|
||||
#ifndef EXMIMO
|
||||
|
||||
Reference in New Issue
Block a user