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
1a6c0287
Commit
1a6c0287
authored
Feb 25, 2017
by
rubuntun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
driver for Iris boards and proper changes in the makefiles
parent
31413ac5
Changes
8
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
760 additions
and
3 deletions
+760
-3
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+16
-1
cmake_targets/build_oai
cmake_targets/build_oai
+15
-2
targets/ARCH/COMMON/common_lib.c
targets/ARCH/COMMON/common_lib.c
+3
-0
targets/ARCH/COMMON/common_lib.h
targets/ARCH/COMMON/common_lib.h
+2
-0
targets/ARCH/IRIS/USERSPACE/LIB/Makefile.inc
targets/ARCH/IRIS/USERSPACE/LIB/Makefile.inc
+4
-0
targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
+538
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.iris030.conf
.../PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.iris030.conf
+175
-0
targets/RT/USER/Makefile
targets/RT/USER/Makefile
+7
-0
No files found.
cmake_targets/CMakeLists.txt
View file @
1a6c0287
...
...
@@ -480,7 +480,7 @@ add_list1_option(NB_ANTENNAS_RX "2" "Number of antennas in reception" "1" "2" "4
add_list1_option
(
NB_ANTENNAS_TX
"4"
"Number of antennas in transmission"
"1"
"2"
"4"
)
add_list1_option
(
NB_ANTENNAS_TXRX
"2"
"Number of antennas in ????"
"1"
"2"
"4"
)
add_list2_option
(
RF_BOARD
"EXMIMO"
"RF head type"
"None"
"EXMIMO"
"OAI_USRP"
"OAI_BLADERF"
"CPRIGW"
"OAI_LMSSDR"
)
add_list2_option
(
RF_BOARD
"EXMIMO"
"RF head type"
"None"
"EXMIMO"
"OAI_USRP"
"OAI_BLADERF"
"CPRIGW"
"OAI_LMSSDR"
"IRIS"
)
add_list2_option
(
TRANSP_PRO
"None"
"Transport protocol type"
"None"
"ETHERNET"
)
...
...
@@ -526,6 +526,12 @@ set(TPLIB_ETHERNET_SOURCE
)
add_library
(
oai_eth_transpro MODULE
${
TPLIB_ETHERNET_SOURCE
}
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/IRIS/USERSPACE/LIB/"
)
set
(
option_HWIRISLIB_lib
"-l SoapySDR"
)
set
(
HWLIB_IRIS_SOURCE
${
OPENAIR_TARGETS
}
/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
)
add_library
(
oai_irisdevif MODULE
${
HWLIB_IRIS_SOURCE
}
)
# RF devices / transport protocols settings
######################################################################
...
...
@@ -570,6 +576,15 @@ elseif (${RF_BOARD} STREQUAL "OAI_LMSSDR")
set
(
HW_SOURCE
${
HW_SOURCE
}
${
OPENAIR_TARGETS
}
/ARCH/LMSSDR/USERSPACE/LIB/lms_lib.cpp
)
set
(
option_HW_lib
"-lLMS_SDR -lLMS7002M -lSi5351C -rdynamic -ldl"
)
elseif
(
${
RF_BOARD
}
STREQUAL
"OAI_IRIS"
)
include_directories
(
"
${
OPENAIR_TARGETS
}
/ARCH/IRIS/USERSPACE/LIB/"
)
include_directories
(
"/usr/local/include/"
)
set
(
HW_SOURCE
${
HW_SOURCE
}
${
OPENAIR_TARGETS
}
/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
)
LINK_DIRECTORIES
(
"/usr/local/lib"
)
set
(
option_HW_lib
"-lSoapySDR -rdynamic -ldl"
)
elseif
(
${
RF_BOARD
}
STREQUAL
"CPRIGW"
)
set
(
HW_SOURCE
${
HW_SOURCE
}
${
OPENAIR_TARGETS
}
/ARCH/CPRIGW/USERSPACE/LIB/cprigw_lib.c
...
...
cmake_targets/build_oai
View file @
1a6c0287
...
...
@@ -91,7 +91,7 @@ Options
default is Rel10,
Rel8 limits the implementation to 3GPP Release 8 version
-w | --hardware
EXMIMO, USRP, BLADERF, ETHERNET, LMSSDR, None (Default)
EXMIMO, USRP, BLADERF, ETHERNET, LMSSDR,
IRIS,
None (Default)
Adds this RF board support (in external packages installation and in compilation)
-t | --transport protocol
ETHERNET , None
...
...
@@ -194,7 +194,7 @@ function main() {
-w
|
--hardware
)
HW
=
"
$2
"
#"${i#*=}"
# Use OAI_USRP as the key word USRP is used inside UHD driver
if
[
"
$HW
"
!=
"BLADERF"
-a
"
$HW
"
!=
"USRP"
-a
"
$HW
"
!=
"LMSSDR"
-a
"
$HW
"
!=
"None"
-a
"
$HW
"
!=
"EXMIMO"
]
;
then
if
[
"
$HW
"
!=
"BLADERF"
-a
"
$HW
"
!=
"USRP"
-a
"
$HW
"
!=
"LMSSDR"
-a
"
$HW
"
!=
"None"
-a
"
$HW
"
!=
"EXMIMO"
-a
"
$HW
"
!=
"IRIS"
]
;
then
echo_fatal
"Unknown HW type
$HW
will exit..."
else
if
[
"
$HW
"
==
"USRP"
]
;
then
...
...
@@ -206,6 +206,9 @@ function main() {
if
[
"
$HW
"
==
"LMSSDR"
]
;
then
HW
=
"OAI_LMSSDR"
fi
if
[
"
$HW
"
==
"IRIS"
]
;
then
HW
=
"OAI_IRIS"
fi
echo_info
"Setting hardware to:
$HW
"
fi
shift
2
;;
...
...
@@ -344,6 +347,8 @@ function main() {
DEADLINE_SCHEDULER_FLAG_USER
=
"False"
elif
[
"
$HW
"
=
"OAI_LMSSDR"
]
;
then
DEADLINE_SCHEDULER_FLAG_USER
=
"False"
elif
[
"
$HW
"
=
"OAI_IRIS"
]
;
then
DEADLINE_SCHEDULER_FLAG_USER
=
"False"
elif
[
"
$HW
"
=
"None"
]
;
then
DEADLINE_SCHEDULER_FLAG_USER
=
"False"
else
...
...
@@ -772,6 +777,14 @@ function main() {
ln
-s
liboai_lmssdrdevif.so liboai_device.so
ln
-s
$dbin
/liboai_lmssdrdevif.so.
$REL
$dbin
/liboai_device.so
echo_info
"liboai_device.so is linked to LMSSDR device library"
elif
[
"
$HW
"
==
"OAI_IRIS"
]
;
then
compilations
\
$build_dir
oai_irisdevif
\
liboai_irisdevif.so
$dbin
/liboai_irisdevif.so.
$REL
ln
-s
liboai_irisdevif.so liboai_device.so
ln
-s
$dbin
/liboai_irisdevif.so.
$REL
$dbin
/liboai_device.so
echo_info
"liboai_device.so is linked to IRIS device library"
else
echo_info
"liboai_device.so is not linked to any device library"
fi
...
...
targets/ARCH/COMMON/common_lib.c
View file @
1a6c0287
...
...
@@ -56,6 +56,9 @@ case USRP_X300_DEV:
case
LMSSDR_DEV
:
printf
(
"[%s] has loaded LMSSDR device.
\n
"
,((
device
->
host_type
==
BBU_HOST
)
?
"BBU"
:
"RRH"
));
break
;
case
IRIS_DEV
:
printf
(
"[%s] has loaded Iris device.
\n
"
,((
device
->
host_type
==
BBU_HOST
)
?
"BBU"
:
"RRH"
));
break
;
case
NONE_DEV
:
printf
(
"[%s] has not loaded a HW device.
\n
"
,((
device
->
host_type
==
BBU_HOST
)
?
"BBU"
:
"RRH"
));
break
;
...
...
targets/ARCH/COMMON/common_lib.h
View file @
1a6c0287
...
...
@@ -95,6 +95,8 @@ typedef enum {
BLADERF_DEV
,
/*!\brief device is LMSSDR (SoDeRa)*/
LMSSDR_DEV
,
/*!\brief device is Iris */
IRIS_DEV
,
/*!\brief device is NONE*/
NONE_DEV
,
MAX_RF_DEV_TYPE
...
...
targets/ARCH/IRIS/USERSPACE/LIB/Makefile.inc
0 → 100644
View file @
1a6c0287
IRIS_OBJ
+=
$(OPENAIR_TARGETS)
/ARCH/IRIS/USERSPACE/LIB/iris_lib.o
IRIS_FILE_OBJ
+=
$(OPENAIR_TARGETS)
/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
IRIS_CFLAGS
+=
-I
$(OPENAIR_TARGETS)
/ARCH/COMMON
-I
$(OPENAIR_TARGETS)
/ARCH/IRIS/USERSPACE/LIB/
-I
$(OPENAIR_TARGETS)
/COMMON
targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
0 → 100644
View file @
1a6c0287
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.iris030.conf
0 → 100644
View file @
1a6c0287
Active_eNBs
= (
"eNB_Eurecom_LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
(
{
//////////
Identification
parameters
:
eNB_ID
=
0
xe00
;
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"
;
mobile_country_code
=
"208"
;
mobile_network_code
=
"94"
;
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"eNodeB_3GPP"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
7
;
downlink_frequency
=
2660000000
L
;
uplink_frequency_offset
= -
120000000
;
Nid_cell
=
57
;
N_RB_DL
=
6
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
2
;
nb_antennas_rx
=
2
;
tx_gain
=
52
;
rx_gain
=
40
;
prach_root
=
0
;
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
= -
90
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
96
;
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
= -
104
;
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.12.70"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eth1"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.146/24"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"eth1"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.146/24"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
log_config
:
{
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"info"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"high"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"medium"
;
};
}
);
targets/RT/USER/Makefile
View file @
1a6c0287
...
...
@@ -120,6 +120,13 @@ CFLAGS += -DOAI_USRP
LDFLAGS
+=
-L
/usr/lib/
-luhd
-lpthread
-lstdc
++
endif
ifeq
($(IRIS),1)
include
$(OPENAIR_TARGETS)/ARCH/IRIS/USERSPACE/LIB/Makefile.inc
CFLAGS
+=
-I
/usr/local/include/
-L
/usr/local/lib
-lSoapySDR
-lpthread
-lstdc
++
CFLAGS
+=
-DOAI_IRIS
LDFLAGS
+=
-L
/usr/local/lib/
-lSoapySDR
-lpthread
-lstdc
++
endif
ifeq
($(ETHERNET),1)
include
$(OPENAIR_TARGETS)/ARCH/ETHERNET/USERSPACE/LIB/Makefile.inc
LDFLAGS
+=
-lpthread
...
...
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