Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
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
Joanne Hugé
slapos
Commits
16a725fb
Commit
16a725fb
authored
Dec 07, 2021
by
Joanne Hugé
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
software/ors-amarisoft: add 5G and generate json and cfg with templates
parent
1a7ae544
Changes
40
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
1757 additions
and
263 deletions
+1757
-263
software/lte/buildout.hash.cfg
software/lte/buildout.hash.cfg
+19
-7
software/lte/config/enb.jinja2.cfg
software/lte/config/enb.jinja2.cfg
+3
-3
software/lte/config/gnb.jinja2.cfg
software/lte/config/gnb.jinja2.cfg
+624
-0
software/lte/instance-enb-epc.jinja2.cfg
software/lte/instance-enb-epc.jinja2.cfg
+0
-3
software/lte/instance-enb-input-schema.jinja2.json
software/lte/instance-enb-input-schema.jinja2.json
+32
-0
software/lte/instance-enb.jinja2.cfg
software/lte/instance-enb.jinja2.cfg
+5
-5
software/lte/instance-epc-input-schema.json
software/lte/instance-epc-input-schema.json
+0
-142
software/lte/instance-epc.jinja2.cfg
software/lte/instance-epc.jinja2.cfg
+0
-12
software/lte/instance-gnb-epc.jinja2.cfg
software/lte/instance-gnb-epc.jinja2.cfg
+85
-0
software/lte/instance-gnb-input-schema.jinja2.json
software/lte/instance-gnb-input-schema.jinja2.json
+38
-0
software/lte/instance-gnb.jinja2.cfg
software/lte/instance-gnb.jinja2.cfg
+109
-0
software/lte/instance-tdd1900-enb-epc-input-schema.json
software/lte/instance-tdd1900-enb-epc-input-schema.json
+4
-4
software/lte/instance-tdd1900-enb-input-schema.json
software/lte/instance-tdd1900-enb-input-schema.json
+32
-0
software/lte/instance-tdd1900-gnb-epc-input-schema.json
software/lte/instance-tdd1900-gnb-epc-input-schema.json
+38
-0
software/lte/instance-tdd1900-gnb-input-schema.json
software/lte/instance-tdd1900-gnb-input-schema.json
+38
-0
software/lte/instance-tdd2600-enb-epc-input-schema.json
software/lte/instance-tdd2600-enb-epc-input-schema.json
+4
-4
software/lte/instance-tdd2600-enb-input-schema.json
software/lte/instance-tdd2600-enb-input-schema.json
+4
-4
software/lte/instance-tdd2600-gnb-epc-input-schema.json
software/lte/instance-tdd2600-gnb-epc-input-schema.json
+38
-0
software/lte/instance-tdd2600-gnb-input-schema.json
software/lte/instance-tdd2600-gnb-input-schema.json
+38
-0
software/lte/instance-tdd3500-enb-epc-input-schema.json
software/lte/instance-tdd3500-enb-epc-input-schema.json
+4
-4
software/lte/instance-tdd3500-enb-input-schema.json
software/lte/instance-tdd3500-enb-input-schema.json
+32
-0
software/lte/instance-tdd3500-gnb-epc-input-schema.json
software/lte/instance-tdd3500-gnb-epc-input-schema.json
+38
-0
software/lte/instance-tdd3500-gnb-input-schema.json
software/lte/instance-tdd3500-gnb-input-schema.json
+38
-0
software/lte/instance-tdd3700-enb-epc-input-schema.json
software/lte/instance-tdd3700-enb-epc-input-schema.json
+4
-4
software/lte/instance-tdd3700-enb-input-schema.json
software/lte/instance-tdd3700-enb-input-schema.json
+32
-0
software/lte/instance-tdd3700-gnb-epc-input-schema.json
software/lte/instance-tdd3700-gnb-epc-input-schema.json
+38
-0
software/lte/instance-tdd3700-gnb-input-schema.json
software/lte/instance-tdd3700-gnb-input-schema.json
+38
-0
software/lte/instance.cfg
software/lte/instance.cfg
+40
-6
software/lte/render-templates
software/lte/render-templates
+119
-0
software/lte/software-tdd1900.cfg
software/lte/software-tdd1900.cfg
+15
-3
software/lte/software-tdd1900.cfg.json
software/lte/software-tdd1900.cfg.json
+29
-13
software/lte/software-tdd2600.cfg
software/lte/software-tdd2600.cfg
+14
-2
software/lte/software-tdd2600.cfg.json
software/lte/software-tdd2600.cfg.json
+29
-13
software/lte/software-tdd3500.cfg
software/lte/software-tdd3500.cfg
+14
-2
software/lte/software-tdd3500.cfg.json
software/lte/software-tdd3500.cfg.json
+29
-13
software/lte/software-tdd3700.cfg
software/lte/software-tdd3700.cfg
+14
-2
software/lte/software-tdd3700.cfg.json
software/lte/software-tdd3700.cfg.json
+29
-13
software/lte/software.cfg
software/lte/software.cfg
+13
-4
software/lte/software.cfg.jinja2.json
software/lte/software.cfg.jinja2.json
+56
-0
software/lte/software.jinja2.cfg
software/lte/software.jinja2.cfg
+21
-0
No files found.
software/lte/buildout.hash.cfg
View file @
16a725fb
...
...
@@ -16,19 +16,27 @@
[template]
filename = instance.cfg
md5sum =
f883dab264c6c45b03beff88339f2573
md5sum =
b533809540cf576f0685cdf9ac901350
[template-lte-
default
]
_update_hash_filename_ = instance-
default
.jinja2.cfg
md5sum =
6e8ec82b69af1f92baf1c71e2e5531bf
[template-lte-
enb-epc
]
_update_hash_filename_ = instance-
enb-epc
.jinja2.cfg
md5sum =
283d9929e9abfa4ab929a09fbd359a7b
[template-lte-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum = cda352579b01f0d93f2be8a71e56b5c5
md5sum = 3794c73b45a76a610cc51d76d941a8a8
[template-lte-gnb-epc]
_update_hash_filename_ = instance-gnb-epc.jinja2.cfg
md5sum = 1d075c0956f6423c75eda6b94b913161
[template-lte-gnb]
_update_hash_filename_ = instance-gnb.jinja2.cfg
md5sum = d908bb5ad09f5beb75bd8dcd6ad7829f
[template-lte-epc]
_update_hash_filename_ = instance-epc.jinja2.cfg
md5sum =
33609f1bcccc9c060c79a40c59d60431
md5sum =
6e54fb8a1e620d1d6beb882f98c9fe55
[ue_db.jinja2.cfg]
filename = config/ue_db.jinja2.cfg
...
...
@@ -36,7 +44,11 @@ md5sum = 4e4b40589ca0817d44f638c0612f0a04
[enb.jinja2.cfg]
filename = config/enb.jinja2.cfg
md5sum = abc4ffd72b5d700fee9dca171adc98ca
md5sum = 1c21696532e37336604df3576dd01496
[gnb.jinja2.cfg]
filename = config/gnb.jinja2.cfg
md5sum = 46cfb8d62e3f873dee36ec02f6df293e
[ltelogs.jinja2.sh]
filename = ltelogs.jinja2.sh
...
...
software/lte/config/enb.jinja2.cfg
View file @
16a725fb
...
...
@@ -3,7 +3,7 @@
*/
#define TDD 1 // Values: 0 (FDD), 1(TDD)
#define N_RB_DL {{ slapparameter_dict.get('n_rb_dl',
100
) }} // Values: 6 (1.4 MHz), 15 (3MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_RB_DL {{ slapparameter_dict.get('n_rb_dl',
instance['configuration.default_lte_n_rb_dl']
) }} // Values: 6 (1.4 MHz), 15 (3MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2)
#define N_ANTENNA_UL 2 // Values: 1, 2
#define CHANNEL_SIM 0 // Values: 0 (channel simulator disabled), 1 (channel simulator enabled)
...
...
@@ -38,8 +38,8 @@
// sync: "gps",
rx_antenna:"tx_rx",
},
tx_gain: {{ slapparameter_dict.get('tx_gain',
70.0
) }}, /* TX gain (in dB) */
rx_gain: {{ slapparameter_dict.get('rx_gain',
30.0
) }}, /* RX gain (in dB) */
tx_gain: {{ slapparameter_dict.get('tx_gain',
instance['configuration.default_lte_tx_gain']
) }}, /* TX gain (in dB) */
rx_gain: {{ slapparameter_dict.get('rx_gain',
instance['configuration.default_lte_rx_gain']
) }}, /* RX gain (in dB) */
#if CHANNEL_SIM == 1
rf_ports: [
...
...
software/lte/config/gnb.jinja2.cfg
0 → 100644
View file @
16a725fb
This diff is collapsed.
Click to expand it.
software/lte/instance-
default
.jinja2.cfg
→
software/lte/instance-
enb-epc
.jinja2.cfg
View file @
16a725fb
...
...
@@ -60,9 +60,6 @@ config-name = epc
name = eNB
software-type = enb
config-name = enb
{% if slapparameter_dict.get("gtp_addr", None) %}
config-gtp_addr = {{ dumps(slapparameter_dict["gtp_addr"]) }}
{% endif %}
{% if slapparameter_dict.get("tx_gain", None) %}
config-tx_gain = {{ dumps(slapparameter_dict["tx_gain"]) }}
{% endif %}
...
...
software/lte/instance-enb-input-schema.jinja2.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
{{
default_lte_tx_gain
}}
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
{{
default_lte_rx_gain
}}
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E-UTRA Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
{{
default_dl_earfcn
}}
},
"n_rb_dl"
:
{
"title"
:
"DL RB"
,
"description"
:
"number of DL resource blocks"
,
"type"
:
"number"
,
"default"
:
{{
default_lte_n_rb_dl
}}
}
}
}
software/lte/instance-enb.jinja2.cfg
View file @
16a725fb
...
...
@@ -27,17 +27,18 @@ cert = {{ slap_connection['cert-file'] }}
configuration.network_name = VIFIB
configuration.domain = vifib.com
configuration.mme_ws_port = 9000
configuration.enb_ws_port = 9002
configuration.ims_ws_port = 9003
configuration.ims_addr = 127.0.0.1
configuration.ims_bind = 127.0.0.2
configuration.enb_addr = 127.0.1.1
configuration.default_dl_earfcn = {{ default_dl_earfcn }}
configuration.default_lte_dl_freq = {{ default_lte_dl_freq }}
configuration.default_lte_band = {{ default_lte_band }}
configuration.default_lte_n_rb_dl = {{ default_lte_n_rb_dl }}
configuration.default_lte_tx_gain = {{ default_lte_tx_gain }}
configuration.default_lte_rx_gain = {{ default_lte_rx_gain }}
[directory]
recipe = slapos.cookbook:mkdirectory
...
...
@@ -62,7 +63,6 @@ extensions = jinja2.ext.do
context =
section directory directory
### eNodeB (enb)
[lte-enb-service]
recipe = slapos.cookbook:wrapper
...
...
software/lte/instance-epc-input-schema.json
View file @
16a725fb
...
...
@@ -4,147 +4,5 @@
"title"
:
"EPC Input Parameters"
,
"properties"
:
{
"log"
:
{
"type"
:
"object"
,
"title"
:
"Log Configuration"
,
"properties"
:
{
"options"
:
{
"title"
:
"Log Options"
,
"description"
:
"Log Options"
,
"type"
:
"string"
,
"default"
:
"all.level=debug,all.max_size=32"
}
}
},
"plmn"
:
{
"title"
:
"PLMN"
,
"description"
:
"PLMN"
,
"type"
:
"string"
,
"default"
:
""
},
"mme_group_id"
:
{
"title"
:
"Group ID"
,
"description"
:
"Group ID"
,
"type"
:
"string"
,
"default"
:
""
},
"mme_code"
:
{
"title"
:
"Code"
,
"description"
:
"Code"
,
"type"
:
"string"
,
"default"
:
""
},
"gtp_addr"
:
{
"title"
:
"GTP bind address"
,
"description"
:
"IP address of the network interface connected to the core network"
,
"type"
:
"string"
,
"default"
:
"127.0.1.1"
},
"gtp_addr"
:
{
"title"
:
"GTP bind address"
,
"description"
:
"IP address of the network interface connected to the core network"
,
"type"
:
"string"
,
"default"
:
"127.0.1.1"
},
"mme_addr"
:
{
"title"
:
"MME address"
,
"description"
:
"address of MME for S1AP connection"
,
"type"
:
"string"
,
"default"
:
"127.0.1.100"
},
"ims_list"
:
{
"title"
:
"IMS Address List"
,
"description"
:
"List of IMSAddresses"
,
"type"
:
"object"
,
"patternProperties"
:
{
".*"
:
{
"properties"
:
{
"address"
:
{
"title"
:
"IMS address"
,
"description"
:
"IMS Address"
,
"type"
:
"string"
}
}
}
}
},
"rx"
:
{
"type"
:
"object"
,
"title"
:
"RX interface"
,
"properties"
:
{
"audio_qci"
:
{
"title"
:
"Audio QCI"
,
"description"
:
"Audio QCI"
,
"type"
:
"number"
,
"default"
:
1
},
"video_qci"
:
{
"title"
:
"Video QCI"
,
"description"
:
"Video QCI"
,
"type"
:
"number"
,
"default"
:
2
}
}
},
"network_name"
:
{
"title"
:
"Network name"
,
"description"
:
"Network name"
,
"type"
:
"string"
,
"default"
:
"Amarisoft Network"
},
"network_short_name"
:
{
"title"
:
"Network short name"
,
"description"
:
"Network Short Name"
,
"type"
:
"string"
,
"default"
:
"Amarisoft"
},
"cp_ciot_opt"
:
{
"title"
:
"Control Plane Cellular IoT EPS optimization"
,
"description"
:
"Control Plane Cellular IoT EPS optimisation"
,
"type"
:
"boolean"
},
"pdn_list"
:
{
"title"
:
"PDN List"
,
"description"
:
"List of available Packet Data Networks"
,
"patternProperties"
:
{
".*"
:
{
"properties"
:
{
"access_point_name"
:
{
"title"
:
"APN"
,
"description"
:
"Access Point Name"
,
"type"
:
"string"
,
"default"
:
"defaultt"
},
"pdn_type"
:
{
"title"
:
"PDN TYPE"
,
"description"
:
"PDN type can be ipv4, ipv6, ipv4v6, non-ip"
,
"type"
:
"string"
,
"default"
:
"ipv4"
},
"first_ip_addr"
:
{
"title"
:
"First IP Address"
,
"description"
:
"First available IPv4 address"
,
"type"
:
"string"
,
"default"
:
"192.168.2.2"
},
"last_ip_addr"
:
{
"title"
:
"Last IP Address"
,
"description"
:
"Last available IPv4 address"
,
"type"
:
"string"
,
"default"
:
"192.168.2.254"
},
"dns_addr"
:
{
"title"
:
"DNS Address"
,
"description"
:
"Last available IPv4 address"
,
"type"
:
"string"
,
"default"
:
"8.8.8.8"
}
},
"type"
:
"object"
},
"type"
:
"object"
},
"type"
:
"object"
}
}
}
software/lte/instance-epc.jinja2.cfg
View file @
16a725fb
...
...
@@ -29,27 +29,15 @@ cert = {{ slap_connection['cert-file'] }}
configuration.network_name = VIFIB
configuration.domain = vifib.com
# Identifier of frequency and band is given by one number (e.g. 3200 for 2600Mhz band 7)
#configuration.frequency = 2600
#configuration.band = 7
configuration.log_size = 50M
configuration.mme_ws_port = 9000
configuration.enb_ws_port = 9002
configuration.ims_ws_port = 9003
configuration.mme_addr = 127.0.1.100
configuration.ims_addr = 127.0.0.1
configuration.ims_bind = 127.0.0.2
configuration.enb_addr = 127.0.1.1
#tun-ipv4-network = 172.0.0.0/8
#tun-ipv4-addr = 172.0.0.1
#tun-name = tunabc
ue_db_path = {{ ue_db_path }}
[directory]
...
...
software/lte/instance-gnb-epc.jinja2.cfg
0 → 100644
View file @
16a725fb
#
# Deploy LTE instance
#
[buildout]
parts =
directory
lte-gnb-request
lte-epc-request
monitor-base
publish-connection-information
extends = {{ monitor_template }}
eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
[instance]
recipe = slapos.cookbook:slapconfiguration.serialised
computer = {{ slap_connection['computer-id'] }}
partition = {{ slap_connection['partition-id'] }}
url = {{ slap_connection['server-url'] }}
key = {{ slap_connection['key-file'] }}
cert = {{ slap_connection['cert-file'] }}
[directory]
recipe = slapos.cookbook:mkdirectory
software = {{ buildout_directory }}
home = ${buildout:directory}
etc = ${:home}/etc
var = ${:home}/var
etc = ${:home}/etc
bin = ${:home}/bin
run = ${:var}/run
script = ${:etc}/run
service = ${:etc}/service
promise = ${:etc}/promise
log = ${:var}/log
[request-common-base]
recipe = slapos.cookbook:request.serialised
software-url = {{ slap_connection['software-release-url'] }}
server-url = {{ slap_connection['server-url'] }}
computer-id = {{ slap_connection['computer-id'] }}
partition-id = {{ slap_connection['partition-id'] }}
key-file = {{ slap_connection['key-file'] }}
cert-file = {{ slap_connection['cert-file'] }}
config-monitor-password = ${monitor-htpasswd:passwd}
return = monitor-base-url
[lte-epc-request]
<= request-common-base
name = EPC
software-type = epc
config-name = epc
[lte-gnb-request]
<= request-common-base
name = gNB
software-type = gnb
config-name = gnb
{% if slapparameter_dict.get("tx_gain", None) %}
config-tx_gain = {{ dumps(slapparameter_dict["tx_gain"]) }}
{% endif %}
{% if slapparameter_dict.get("rx_gain", None) %}
config-rx_gain = {{ dumps(slapparameter_dict["rx_gain"]) }}
{% endif %}
{% if slapparameter_dict.get("dl_nr_arfcn", None) %}
config-dl_nr_arfcn = {{ dumps(slapparameter_dict["dl_nr_arfcn"]) }}
{% endif %}
{% if slapparameter_dict.get("nr_band", None) %}
config-nr_band = {{ dumps(slapparameter_dict["nr_band"]) }}
{% endif %}
{% if slapparameter_dict.get("nr_bandwidth", None) %}
config-nr_bandwidth = {{ dumps(slapparameter_dict["nr_bandwidth"]) }}
{% endif %}
[monitor-base-url-dict]
lte-epc-request = ${lte-epc-request:connection-monitor-base-url}
lte-gnb-request = ${lte-gnb-request:connection-monitor-base-url}
[publish-connection-information]
recipe = slapos.cookbook:publish
monitor-setup-url = https://monitor.app.officejs.com/#page=settings_configurator&url=${monitor-publish-parameters:monitor-url}&username=${monitor-publish-parameters:monitor-user}&password=${monitor-publish-parameters:monitor-password}
software/lte/instance-
lte-input-schema
.json
→
software/lte/instance-
gnb-input-schema.jinja2
.json
View file @
16a725fb
...
...
@@ -4,35 +4,35 @@
"title"
:
"Input Parameters"
,
"properties"
:
{
"gtp_addr"
:
{
"title"
:
"GTP bind address"
,
"description"
:
"IP address of the network interface connected to the core network"
,
"type"
:
"string"
,
"default"
:
"127.0.1.1"
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70.0
"default"
:
{{
default_nr_tx_gain
}}
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
30.0
"default"
:
{{
default_nr_rx_gain
}}
},
"dl_nr_arfcn"
:
{
"title"
:
"DL NR ARFCN"
,
"description"
:
"Downlink NR Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
{{
default_dl_nr_arfcn
}}
},
"
dl_earfcn
"
:
{
"title"
:
"
DL EARFCN
"
,
"description"
:
"
Downlink EARFCN of the cell
"
,
"
nr_band
"
:
{
"title"
:
"
NR band
"
,
"description"
:
"
NR band number
"
,
"type"
:
"number"
,
"default"
:
38050
"default"
:
{{
default_nr_band
}}
},
"n
_rb_dl
"
:
{
"title"
:
"
DL RB
"
,
"description"
:
"
number of DL resource blocks
"
,
"n
r_bandwidth
"
:
{
"title"
:
"
Bandwidth
"
,
"description"
:
"
Downlink Bandwidth (in MHz)
"
,
"type"
:
"number"
,
"default"
:
100
"default"
:
{{
default_nr_bandwidth
}}
}
}
}
software/lte/instance-gnb.jinja2.cfg
0 → 100644
View file @
16a725fb
#
# Deploy LTE instance
#
[buildout]
parts =
directory
# publish-connection-parameter
ltelogs
lte-gnb-config
lte-enb-service
monitor-base
publish-connection-information
extends = {{ monitor_template }}
eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
[instance]
recipe = slapos.cookbook:slapconfiguration.serialised
computer = {{ slap_connection['computer-id'] }}
partition = {{ slap_connection['partition-id'] }}
url = {{ slap_connection['server-url'] }}
key = {{ slap_connection['key-file'] }}
cert = {{ slap_connection['cert-file'] }}
configuration.network_name = VIFIB
configuration.domain = vifib.com
configuration.mme_ws_port = 9000
configuration.enb_ws_port = 9002
configuration.ims_ws_port = 9003
configuration.ims_addr = 127.0.0.1
configuration.ims_bind = 127.0.0.2
configuration.enb_addr = 127.0.1.1
configuration.default_dl_nr_arfcn = {{ default_dl_nr_arfcn }}
configuration.default_nr_band = {{ default_nr_band }}
configuration.default_nr_dl_freq = {{ default_nr_dl_freq }}
configuration.default_nr_bandwidth = {{ default_nr_bandwidth }}
configuration.default_nr_tx_gain = {{ default_nr_tx_gain }}
configuration.default_nr_rx_gain = {{ default_nr_rx_gain }}
[directory]
recipe = slapos.cookbook:mkdirectory
software = {{ buildout_directory }}
home = ${buildout:directory}
etc = ${:home}/etc
var = ${:home}/var
etc = ${:home}/etc
bin = ${:home}/bin
run = ${:var}/run
script = ${:etc}/run
service = ${:etc}/service
promise = ${:etc}/promise
log = ${:var}/log
[ltelogs]
recipe = slapos.recipe.template:jinja2
template = {{ ltelogs_template }}
rendered = ${directory:home}/ltelogs.sh
mode = 0775
extensions = jinja2.ext.do
context =
section directory directory
### eNodeB (enb)
[lte-enb-service]
recipe = slapos.cookbook:wrapper
init = ${ltelogs:rendered} ${directory:log}/enb.log; sleep 2
command-line = {{ enb }}/lteenb ${directory:etc}/gnb.cfg
wrapper-path = ${directory:service}/lte-enb
mode = 0775
reserve-cpu = True
pidfile = ${directory:run}/enb.pid
hash-files =
${lte-gnb-config:rendered}
environment =
LD_LIBRARY_PATH={{ openssl_location }}/lib
AMARISOFT_PATH=/opt/amarisoft/.amarisoft
[config-base]
recipe = slapos.recipe.template:jinja2
mode = 0664
extensions = jinja2.ext.do
context =
section directory directory
section instance instance
key slapparameter_dict instance:configuration
import netaddr netaddr
[lte-gnb-config]
<= config-base
template = {{ gnb_template }}
rendered = ${directory:etc}/gnb.cfg
[publish-connection-information]
recipe = slapos.cookbook:publish.serialised
{% if slapparameter_dict.get("monitor-password", None) %}
monitor-base-url = ${monitor-instance-parameter:monitor-base-url}
{% else %}
monitor-setup-url = https://monitor.app.officejs.com/#page=settings_configurator&url=${monitor-publish-parameters:monitor-url}&username=${monitor-publish-parameters:monitor-user}&password=${monitor-publish-parameters:monitor-password}
{% endif %}
{% if slapparameter_dict.get("monitor-password", None) %}
[monitor-instance-parameter]
monitor-title = {{ slapparameter_dict['name'] }}
password = {{ slapparameter_dict['monitor-password'] }}
{% endif %}
software/lte/instance-
enb-tdd1900
-input-schema.json
→
software/lte/instance-
tdd1900-enb-epc
-input-schema.json
View file @
16a725fb
...
...
@@ -8,17 +8,17 @@
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
.0
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
30
.0
"default"
:
30
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E
ARFCN
of the cell"
,
"description"
:
"Downlink E
-UTRA Absolute Radio Frequency Channel Number
of the cell"
,
"type"
:
"number"
,
"default"
:
38350
},
...
...
@@ -29,4 +29,4 @@
"default"
:
100
}
}
}
}
\ No newline at end of file
software/lte/instance-tdd1900-enb-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
30
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E-UTRA Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
38350
},
"n_rb_dl"
:
{
"title"
:
"DL RB"
,
"description"
:
"number of DL resource blocks"
,
"type"
:
"number"
,
"default"
:
100
}
}
}
\ No newline at end of file
software/lte/instance-tdd1900-gnb-epc-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
50
},
"dl_nr_arfcn"
:
{
"title"
:
"DL NR ARFCN"
,
"description"
:
"Downlink NR Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
378000
},
"nr_band"
:
{
"title"
:
"NR band"
,
"description"
:
"NR band number"
,
"type"
:
"number"
,
"default"
:
39
},
"nr_bandwidth"
:
{
"title"
:
"Bandwidth"
,
"description"
:
"Downlink Bandwidth (in MHz)"
,
"type"
:
"number"
,
"default"
:
40
}
}
}
\ No newline at end of file
software/lte/instance-tdd1900-gnb-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
50
},
"dl_nr_arfcn"
:
{
"title"
:
"DL NR ARFCN"
,
"description"
:
"Downlink NR Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
378000
},
"nr_band"
:
{
"title"
:
"NR band"
,
"description"
:
"NR band number"
,
"type"
:
"number"
,
"default"
:
39
},
"nr_bandwidth"
:
{
"title"
:
"Bandwidth"
,
"description"
:
"Downlink Bandwidth (in MHz)"
,
"type"
:
"number"
,
"default"
:
40
}
}
}
\ No newline at end of file
software/lte/instance-
enb
-input-schema.json
→
software/lte/instance-
tdd2600-enb-epc
-input-schema.json
View file @
16a725fb
...
...
@@ -8,17 +8,17 @@
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
.0
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
30
.0
"default"
:
30
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E
ARFCN
of the cell"
,
"description"
:
"Downlink E
-UTRA Absolute Radio Frequency Channel Number
of the cell"
,
"type"
:
"number"
,
"default"
:
38050
},
...
...
@@ -29,4 +29,4 @@
"default"
:
100
}
}
}
}
\ No newline at end of file
software/lte/instance-
enb-tdd2600
-input-schema.json
→
software/lte/instance-
tdd2600-enb
-input-schema.json
View file @
16a725fb
...
...
@@ -8,17 +8,17 @@
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
.0
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
30
.0
"default"
:
30
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E
ARFCN
of the cell"
,
"description"
:
"Downlink E
-UTRA Absolute Radio Frequency Channel Number
of the cell"
,
"type"
:
"number"
,
"default"
:
38050
},
...
...
@@ -29,4 +29,4 @@
"default"
:
100
}
}
}
}
\ No newline at end of file
software/lte/instance-tdd2600-gnb-epc-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
50
},
"dl_nr_arfcn"
:
{
"title"
:
"DL NR ARFCN"
,
"description"
:
"Downlink NR Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
520000
},
"nr_band"
:
{
"title"
:
"NR band"
,
"description"
:
"NR band number"
,
"type"
:
"number"
,
"default"
:
38
},
"nr_bandwidth"
:
{
"title"
:
"Bandwidth"
,
"description"
:
"Downlink Bandwidth (in MHz)"
,
"type"
:
"number"
,
"default"
:
40
}
}
}
\ No newline at end of file
software/lte/instance-tdd2600-gnb-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
50
},
"dl_nr_arfcn"
:
{
"title"
:
"DL NR ARFCN"
,
"description"
:
"Downlink NR Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
520000
},
"nr_band"
:
{
"title"
:
"NR band"
,
"description"
:
"NR band number"
,
"type"
:
"number"
,
"default"
:
38
},
"nr_bandwidth"
:
{
"title"
:
"Bandwidth"
,
"description"
:
"Downlink Bandwidth (in MHz)"
,
"type"
:
"number"
,
"default"
:
40
}
}
}
\ No newline at end of file
software/lte/instance-
enb-tdd3500
-input-schema.json
→
software/lte/instance-
tdd3500-enb-epc
-input-schema.json
View file @
16a725fb
...
...
@@ -8,17 +8,17 @@
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
.0
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
30
.0
"default"
:
30
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E
ARFCN
of the cell"
,
"description"
:
"Downlink E
-UTRA Absolute Radio Frequency Channel Number
of the cell"
,
"type"
:
"number"
,
"default"
:
42590
},
...
...
@@ -29,4 +29,4 @@
"default"
:
100
}
}
}
}
\ No newline at end of file
software/lte/instance-tdd3500-enb-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
30
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E-UTRA Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
42590
},
"n_rb_dl"
:
{
"title"
:
"DL RB"
,
"description"
:
"number of DL resource blocks"
,
"type"
:
"number"
,
"default"
:
100
}
}
}
\ No newline at end of file
software/lte/instance-tdd3500-gnb-epc-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
50
},
"dl_nr_arfcn"
:
{
"title"
:
"DL NR ARFCN"
,
"description"
:
"Downlink NR Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
632628
},
"nr_band"
:
{
"title"
:
"NR band"
,
"description"
:
"NR band number"
,
"type"
:
"number"
,
"default"
:
78
},
"nr_bandwidth"
:
{
"title"
:
"Bandwidth"
,
"description"
:
"Downlink Bandwidth (in MHz)"
,
"type"
:
"number"
,
"default"
:
40
}
}
}
\ No newline at end of file
software/lte/instance-tdd3500-gnb-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
50
},
"dl_nr_arfcn"
:
{
"title"
:
"DL NR ARFCN"
,
"description"
:
"Downlink NR Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
632628
},
"nr_band"
:
{
"title"
:
"NR band"
,
"description"
:
"NR band number"
,
"type"
:
"number"
,
"default"
:
78
},
"nr_bandwidth"
:
{
"title"
:
"Bandwidth"
,
"description"
:
"Downlink Bandwidth (in MHz)"
,
"type"
:
"number"
,
"default"
:
40
}
}
}
\ No newline at end of file
software/lte/instance-
enb-tdd3700
-input-schema.json
→
software/lte/instance-
tdd3700-enb-epc
-input-schema.json
View file @
16a725fb
...
...
@@ -8,17 +8,17 @@
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
.0
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
30
.0
"default"
:
30
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E
ARFCN
of the cell"
,
"description"
:
"Downlink E
-UTRA Absolute Radio Frequency Channel Number
of the cell"
,
"type"
:
"number"
,
"default"
:
44590
},
...
...
@@ -29,4 +29,4 @@
"default"
:
100
}
}
}
}
\ No newline at end of file
software/lte/instance-tdd3700-enb-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
30
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E-UTRA Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
44590
},
"n_rb_dl"
:
{
"title"
:
"DL RB"
,
"description"
:
"number of DL resource blocks"
,
"type"
:
"number"
,
"default"
:
100
}
}
}
\ No newline at end of file
software/lte/instance-tdd3700-gnb-epc-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
50
},
"dl_nr_arfcn"
:
{
"title"
:
"DL NR ARFCN"
,
"description"
:
"Downlink NR Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
646666
},
"nr_band"
:
{
"title"
:
"NR band"
,
"description"
:
"NR band number"
,
"type"
:
"number"
,
"default"
:
78
},
"nr_bandwidth"
:
{
"title"
:
"Bandwidth"
,
"description"
:
"Downlink Bandwidth (in MHz)"
,
"type"
:
"number"
,
"default"
:
40
}
}
}
\ No newline at end of file
software/lte/instance-tdd3700-gnb-input-schema.json
0 → 100644
View file @
16a725fb
{
"type"
:
"object"
,
"$schema"
:
"http://json-schema.org/draft-04/schema"
,
"title"
:
"Input Parameters"
,
"properties"
:
{
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
70
},
"rx_gain"
:
{
"title"
:
"Rx gain"
,
"description"
:
"Rx gain (in dB)"
,
"type"
:
"number"
,
"default"
:
50
},
"dl_nr_arfcn"
:
{
"title"
:
"DL NR ARFCN"
,
"description"
:
"Downlink NR Absolute Radio Frequency Channel Number of the cell"
,
"type"
:
"number"
,
"default"
:
646666
},
"nr_band"
:
{
"title"
:
"NR band"
,
"description"
:
"NR band number"
,
"type"
:
"number"
,
"default"
:
78
},
"nr_bandwidth"
:
{
"title"
:
"Bandwidth"
,
"description"
:
"Downlink Bandwidth (in MHz)"
,
"type"
:
"number"
,
"default"
:
40
}
}
}
\ No newline at end of file
software/lte/instance.cfg
View file @
16a725fb
[buildout]
parts =
dynamic-template-lte-default
switch-softwaretype
eggs-directory = ${buildout:eggs-directory}
...
...
@@ -30,14 +29,24 @@ context =
[switch-softwaretype]
recipe = slapos.cookbook:softwaretype
default = $${dynamic-template-lte-default:rendered}
enb-epc = $${dynamic-template-lte-enb-epc:rendered}
gnb-epc = $${dynamic-template-lte-gnb-epc:rendered}
enb = $${dynamic-template-lte-enb:rendered}
gnb = $${dynamic-template-lte-gnb:rendered}
epc = $${dynamic-template-lte-epc:rendered}
[dynamic-template-lte-
default
]
[dynamic-template-lte-
enb-epc
]
< = jinja2-template-base
template = ${template-lte-default:target}
filename = instance-lte-default.cfg
template = ${template-lte-enb-epc:target}
filename = instance-lte-enb-epc.cfg
extensions = jinja2.ext.do
extra-context =
raw monitor_template ${monitor2-template:rendered}
[dynamic-template-lte-gnb-epc]
< = jinja2-template-base
template = ${template-lte-gnb-epc:target}
filename = instance-lte-gnb-epc.cfg
extensions = jinja2.ext.do
extra-context =
raw monitor_template ${monitor2-template:rendered}
...
...
@@ -53,9 +62,34 @@ extra-context =
raw enb_template ${enb.jinja2.cfg:target}
raw ltelogs_template ${ltelogs.jinja2.sh:target}
raw openssl_location ${openssl:location}
raw default_dl_earfcn ${enb:default-dl-earfcn}
raw default_lte_dl_freq ${enb:default-lte-dl-freq}
raw default_lte_band ${enb:default-lte-band}
raw default_lte_n_rb_dl ${enb:default-lte-n-rb-dl}
raw default_lte_tx_gain ${enb:default-lte-tx-gain}
raw default_lte_rx_gain ${enb:default-lte-rx-gain}
raw min_frequency ${enb:min-frequency}
raw max_frequency ${enb:max-frequency}
[dynamic-template-lte-gnb]
< = jinja2-template-base
template = ${template-lte-gnb:target}
filename = instance-lte-gnb.cfg
extensions = jinja2.ext.do
extra-context =
raw monitor_template ${monitor2-template:rendered}
raw enb ${enb:destination}
raw gnb_template ${gnb.jinja2.cfg:target}
raw ltelogs_template ${ltelogs.jinja2.sh:target}
raw openssl_location ${openssl:location}
raw default_dl_nr_arfcn ${enb:default-dl-nr-arfcn}
raw default_nr_band ${enb:default-nr-band}
raw default_nr_dl_freq ${enb:default-nr-dl-freq}
raw default_nr_bandwidth ${enb:default-nr-bandwidth}
raw default_nr_tx_gain ${enb:default-nr-tx-gain}
raw default_nr_rx_gain ${enb:default-nr-rx-gain}
raw min_frequency ${enb:min-frequency}
raw max_frequency ${enb:max-frequency}
raw default_dl_earfcn ${enb:default-dl-earfcn}
[dynamic-template-lte-epc]
< = jinja2-template-base
...
...
software/lte/render-templates
0 → 100755
View file @
16a725fb
#!/usr/bin/env python2
from
jinja2
import
Template
import
os
# Values: 6 (1.4 MHz), 15 (3MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
LTE_N_RB_DL
=
100
LTE_TX_GAIN
=
70
LTE_RX_GAIN
=
30
NR_BANDWIDTH
=
40
NR_TX_GAIN
=
70
NR_RX_GAIN
=
50
rf_mode_context_list
=
[
{
'rf_mode'
:
'tdd1900'
,
'default_dl_earfcn'
:
38350
,
'default_lte_dl_freq'
:
1890.0
,
'default_lte_band'
:
39
,
'default_lte_n_rb_dl'
:
LTE_N_RB_DL
,
'default_lte_tx_gain'
:
LTE_TX_GAIN
,
'default_lte_rx_gain'
:
LTE_RX_GAIN
,
'default_dl_nr_arfcn'
:
378000
,
'default_nr_band'
:
39
,
'default_nr_dl_freq'
:
1890.0
,
'default_nr_bandwidth'
:
NR_BANDWIDTH
,
'default_nr_tx_gain'
:
NR_TX_GAIN
,
'default_nr_rx_gain'
:
NR_RX_GAIN
,
'min_frequency'
:
1880.0
,
'max_frequency'
:
1920
,
},
{
'rf_mode'
:
'tdd2600'
,
'default_dl_earfcn'
:
38050
,
'default_lte_dl_freq'
:
2600.0
,
'default_lte_band'
:
38
,
'default_lte_n_rb_dl'
:
LTE_N_RB_DL
,
'default_lte_tx_gain'
:
LTE_TX_GAIN
,
'default_lte_rx_gain'
:
LTE_RX_GAIN
,
'default_dl_nr_arfcn'
:
520000
,
'default_nr_band'
:
38
,
'default_nr_dl_freq'
:
2600.0
,
'default_nr_bandwidth'
:
NR_BANDWIDTH
,
'default_nr_tx_gain'
:
NR_TX_GAIN
,
'default_nr_rx_gain'
:
NR_RX_GAIN
,
'min_frequency'
:
2570
,
'max_frequency'
:
2620
,
},
{
'rf_mode'
:
'tdd3500'
,
'default_dl_earfcn'
:
42590
,
'default_lte_dl_freq'
:
3500.0
,
'default_lte_band'
:
42
,
'default_lte_n_rb_dl'
:
LTE_N_RB_DL
,
'default_lte_tx_gain'
:
LTE_TX_GAIN
,
'default_lte_rx_gain'
:
LTE_RX_GAIN
,
'default_dl_nr_arfcn'
:
632628
,
'default_nr_band'
:
78
,
'default_nr_dl_freq'
:
3489.42
,
'default_nr_bandwidth'
:
NR_BANDWIDTH
,
'default_nr_tx_gain'
:
NR_TX_GAIN
,
'default_nr_rx_gain'
:
NR_RX_GAIN
,
'min_frequency'
:
3400
,
'max_frequency'
:
3600
,
},
{
'rf_mode'
:
'tdd3700'
,
'default_dl_earfcn'
:
44590
,
'default_lte_dl_freq'
:
3700.0
,
'default_lte_band'
:
43
,
'default_lte_n_rb_dl'
:
LTE_N_RB_DL
,
'default_lte_tx_gain'
:
LTE_TX_GAIN
,
'default_lte_rx_gain'
:
LTE_RX_GAIN
,
'default_dl_nr_arfcn'
:
646666
,
'default_nr_band'
:
78
,
'default_nr_dl_freq'
:
3699.99
,
'default_nr_bandwidth'
:
NR_BANDWIDTH
,
'default_nr_tx_gain'
:
NR_TX_GAIN
,
'default_nr_rx_gain'
:
NR_RX_GAIN
,
'min_frequency'
:
3600
,
'max_frequency'
:
3800
,
}
]
with
open
(
'software.cfg.jinja2.json'
,
'r'
)
as
f
:
software_json_template
=
Template
(
f
.
read
())
with
open
(
'instance-enb-input-schema.jinja2.json'
,
'r'
)
as
f
:
instance_enb_json_template
=
Template
(
f
.
read
())
with
open
(
'instance-gnb-input-schema.jinja2.json'
,
'r'
)
as
f
:
instance_gnb_json_template
=
Template
(
f
.
read
())
with
open
(
'software.jinja2.cfg'
,
'r'
)
as
f
:
software_template
=
Template
(
f
.
read
())
for
rf_mode_context
in
rf_mode_context_list
:
with
open
(
'software-{}.cfg.json'
.
format
(
rf_mode_context
[
'rf_mode'
]),
'w+'
)
as
f
:
f
.
write
(
software_json_template
.
render
(
**
rf_mode_context
))
with
open
(
'software-{}.cfg'
.
format
(
rf_mode_context
[
'rf_mode'
]),
'w+'
)
as
f
:
f
.
write
(
software_template
.
render
(
**
rf_mode_context
))
for
software_type
in
[
'enb'
,
'enb-epc'
,
'gnb'
,
'gnb-epc'
]:
with
open
(
'instance-{}-{}-input-schema.json'
.
format
(
rf_mode_context
[
'rf_mode'
],
software_type
),
'w+'
)
as
f
:
if
software_type
in
[
'enb'
,
'enb-epc'
]:
f
.
write
(
instance_enb_json_template
.
render
(
**
rf_mode_context
))
else
:
f
.
write
(
instance_gnb_json_template
.
render
(
**
rf_mode_context
))
software/lte/software-tdd1900.cfg
View file @
16a725fb
...
...
@@ -3,7 +3,19 @@ extends =
software.cfg
[enb]
# 1890 MHz (band 39)
default-dl-earfcn = 38350
min-frequency = 1880
max-frequency = 1920
default-lte-dl-freq = 1890.0
default-lte-band = 39
default-lte-n-rb-dl = 100
default-lte-tx-gain = 70
default-lte-rx-gain = 30
default-dl-nr-arfcn = 378000
default-nr-band = 39
default-nr-dl-freq = 1890.0
default-nr-bandwidth = 40
default-nr-tx-gain = 70
default-nr-rx-gain = 50
min-frequency = 1880.0
max-frequency = 1920
\ No newline at end of file
software/lte/software-tdd1900.cfg.json
View file @
16a725fb
...
...
@@ -7,26 +7,42 @@
"title"
:
"eNB"
,
"software-type"
:
"enb"
,
"description"
:
"eNodeB Configuration"
,
"request"
:
"instance-
enb-tdd1900
-input-schema.json"
,
"response"
:
"instance-enb-schema.json"
,
"request"
:
"instance-
tdd1900-enb
-input-schema.json"
,
"response"
:
"instance-
tdd1900-
enb-schema.json"
,
"index"
:
0
},
"enb-epc"
:
{
"title"
:
"eNB and EPC"
,
"software-type"
:
"enb-epc"
,
"description"
:
"eNodeB and EPC Configuration"
,
"request"
:
"instance-tdd1900-enb-epc-input-schema.json"
,
"response"
:
"instance-tdd1900-enb-epc-schema.json"
,
"index"
:
1
},
"gnb"
:
{
"title"
:
"gNB"
,
"software-type"
:
"gnb"
,
"description"
:
"gNodeB Configuration"
,
"request"
:
"instance-tdd1900-gnb-input-schema.json"
,
"response"
:
"instance-tdd1900-gnb-schema.json"
,
"index"
:
2
},
"gnb-epc"
:
{
"title"
:
"gNB and EPC"
,
"software-type"
:
"gnb-epc"
,
"description"
:
"gNodeB and EPC Configuration"
,
"request"
:
"instance-tdd1900-gnb-epc-input-schema.json"
,
"response"
:
"instance-tdd1900-gnb-epc-schema.json"
,
"index"
:
3
},
"epc"
:
{
"title"
:
"EPC"
,
"software-type"
:
"epc"
,
"description"
:
"EPC Configuration"
,
"request"
:
"instance-epc-input-schema.json"
,
"response"
:
"instance-epc-schema.json"
,
"index"
:
1
"index"
:
4
},
"default"
:
{
"title"
:
"Default"
,
"software-type"
:
"default"
,
"description"
:
"Default"
,
"request"
:
"instance-lte-input-schema.json"
,
"response"
:
"instance-lte-schema.json"
,
"index"
:
2
},
"epc-slave"
:
{
"title"
:
"Sim Card"
,
"description"
:
"EPC Configuration"
,
...
...
@@ -34,7 +50,7 @@
"request"
:
"instance-epc-slave-input-schema.json"
,
"response"
:
"instance-epc-slave-schema.json"
,
"shared"
:
true
,
"index"
:
3
"index"
:
5
}
}
}
}
\ No newline at end of file
software/lte/software-tdd2600.cfg
View file @
16a725fb
...
...
@@ -3,7 +3,19 @@ extends =
software.cfg
[enb]
# 2600 Mhz (band 38)
default-dl-earfcn = 38050
default-lte-dl-freq = 2600.0
default-lte-band = 38
default-lte-n-rb-dl = 100
default-lte-tx-gain = 70
default-lte-rx-gain = 30
default-dl-nr-arfcn = 520000
default-nr-band = 38
default-nr-dl-freq = 2600.0
default-nr-bandwidth = 40
default-nr-tx-gain = 70
default-nr-rx-gain = 50
min-frequency = 2570
max-frequency = 2620
max-frequency = 2620
\ No newline at end of file
software/lte/software-tdd2600.cfg.json
View file @
16a725fb
...
...
@@ -7,26 +7,42 @@
"title"
:
"eNB"
,
"software-type"
:
"enb"
,
"description"
:
"eNodeB Configuration"
,
"request"
:
"instance-
enb-tdd2600
-input-schema.json"
,
"response"
:
"instance-enb-schema.json"
,
"request"
:
"instance-
tdd2600-enb
-input-schema.json"
,
"response"
:
"instance-
tdd2600-
enb-schema.json"
,
"index"
:
0
},
"enb-epc"
:
{
"title"
:
"eNB and EPC"
,
"software-type"
:
"enb-epc"
,
"description"
:
"eNodeB and EPC Configuration"
,
"request"
:
"instance-tdd2600-enb-epc-input-schema.json"
,
"response"
:
"instance-tdd2600-enb-epc-schema.json"
,
"index"
:
1
},
"gnb"
:
{
"title"
:
"gNB"
,
"software-type"
:
"gnb"
,
"description"
:
"gNodeB Configuration"
,
"request"
:
"instance-tdd2600-gnb-input-schema.json"
,
"response"
:
"instance-tdd2600-gnb-schema.json"
,
"index"
:
2
},
"gnb-epc"
:
{
"title"
:
"gNB and EPC"
,
"software-type"
:
"gnb-epc"
,
"description"
:
"gNodeB and EPC Configuration"
,
"request"
:
"instance-tdd2600-gnb-epc-input-schema.json"
,
"response"
:
"instance-tdd2600-gnb-epc-schema.json"
,
"index"
:
3
},
"epc"
:
{
"title"
:
"EPC"
,
"software-type"
:
"epc"
,
"description"
:
"EPC Configuration"
,
"request"
:
"instance-epc-input-schema.json"
,
"response"
:
"instance-epc-schema.json"
,
"index"
:
1
"index"
:
4
},
"default"
:
{
"title"
:
"Default"
,
"software-type"
:
"default"
,
"description"
:
"Default"
,
"request"
:
"instance-lte-input-schema.json"
,
"response"
:
"instance-lte-schema.json"
,
"index"
:
2
},
"epc-slave"
:
{
"title"
:
"Sim Card"
,
"description"
:
"EPC Configuration"
,
...
...
@@ -34,7 +50,7 @@
"request"
:
"instance-epc-slave-input-schema.json"
,
"response"
:
"instance-epc-slave-schema.json"
,
"shared"
:
true
,
"index"
:
3
"index"
:
5
}
}
}
}
\ No newline at end of file
software/lte/software-tdd3500.cfg
View file @
16a725fb
...
...
@@ -3,7 +3,19 @@ extends =
software.cfg
[enb]
# 3500 Mhz (band 42)
default-dl-earfcn = 42590
default-lte-dl-freq = 3500.0
default-lte-band = 42
default-lte-n-rb-dl = 100
default-lte-tx-gain = 70
default-lte-rx-gain = 30
default-dl-nr-arfcn = 632628
default-nr-band = 78
default-nr-dl-freq = 3489.42
default-nr-bandwidth = 40
default-nr-tx-gain = 70
default-nr-rx-gain = 50
min-frequency = 3400
max-frequency = 3600
max-frequency = 3600
\ No newline at end of file
software/lte/software-tdd3500.cfg.json
View file @
16a725fb
...
...
@@ -7,26 +7,42 @@
"title"
:
"eNB"
,
"software-type"
:
"enb"
,
"description"
:
"eNodeB Configuration"
,
"request"
:
"instance-
enb-tdd3500
-input-schema.json"
,
"response"
:
"instance-enb-schema.json"
,
"request"
:
"instance-
tdd3500-enb
-input-schema.json"
,
"response"
:
"instance-
tdd3500-
enb-schema.json"
,
"index"
:
0
},
"enb-epc"
:
{
"title"
:
"eNB and EPC"
,
"software-type"
:
"enb-epc"
,
"description"
:
"eNodeB and EPC Configuration"
,
"request"
:
"instance-tdd3500-enb-epc-input-schema.json"
,
"response"
:
"instance-tdd3500-enb-epc-schema.json"
,
"index"
:
1
},
"gnb"
:
{
"title"
:
"gNB"
,
"software-type"
:
"gnb"
,
"description"
:
"gNodeB Configuration"
,
"request"
:
"instance-tdd3500-gnb-input-schema.json"
,
"response"
:
"instance-tdd3500-gnb-schema.json"
,
"index"
:
2
},
"gnb-epc"
:
{
"title"
:
"gNB and EPC"
,
"software-type"
:
"gnb-epc"
,
"description"
:
"gNodeB and EPC Configuration"
,
"request"
:
"instance-tdd3500-gnb-epc-input-schema.json"
,
"response"
:
"instance-tdd3500-gnb-epc-schema.json"
,
"index"
:
3
},
"epc"
:
{
"title"
:
"EPC"
,
"software-type"
:
"epc"
,
"description"
:
"EPC Configuration"
,
"request"
:
"instance-epc-input-schema.json"
,
"response"
:
"instance-epc-schema.json"
,
"index"
:
1
"index"
:
4
},
"default"
:
{
"title"
:
"Default"
,
"software-type"
:
"default"
,
"description"
:
"Default"
,
"request"
:
"instance-lte-input-schema.json"
,
"response"
:
"instance-lte-schema.json"
,
"index"
:
2
},
"epc-slave"
:
{
"title"
:
"Sim Card"
,
"description"
:
"EPC Configuration"
,
...
...
@@ -34,7 +50,7 @@
"request"
:
"instance-epc-slave-input-schema.json"
,
"response"
:
"instance-epc-slave-schema.json"
,
"shared"
:
true
,
"index"
:
3
"index"
:
5
}
}
}
}
\ No newline at end of file
software/lte/software-tdd3700.cfg
View file @
16a725fb
...
...
@@ -3,7 +3,19 @@ extends =
software.cfg
[enb]
# 3700 MHz (band 43)
default-dl-earfcn = 44590
default-lte-dl-freq = 3700.0
default-lte-band = 43
default-lte-n-rb-dl = 100
default-lte-tx-gain = 70
default-lte-rx-gain = 30
default-dl-nr-arfcn = 646666
default-nr-band = 78
default-nr-dl-freq = 3699.99
default-nr-bandwidth = 40
default-nr-tx-gain = 70
default-nr-rx-gain = 50
min-frequency = 3600
max-frequency = 3800
max-frequency = 3800
\ No newline at end of file
software/lte/software-tdd3700.cfg.json
View file @
16a725fb
...
...
@@ -7,26 +7,42 @@
"title"
:
"eNB"
,
"software-type"
:
"enb"
,
"description"
:
"eNodeB Configuration"
,
"request"
:
"instance-
enb-tdd3700
-input-schema.json"
,
"response"
:
"instance-enb-schema.json"
,
"request"
:
"instance-
tdd3700-enb
-input-schema.json"
,
"response"
:
"instance-
tdd3700-
enb-schema.json"
,
"index"
:
0
},
"enb-epc"
:
{
"title"
:
"eNB and EPC"
,
"software-type"
:
"enb-epc"
,
"description"
:
"eNodeB and EPC Configuration"
,
"request"
:
"instance-tdd3700-enb-epc-input-schema.json"
,
"response"
:
"instance-tdd3700-enb-epc-schema.json"
,
"index"
:
1
},
"gnb"
:
{
"title"
:
"gNB"
,
"software-type"
:
"gnb"
,
"description"
:
"gNodeB Configuration"
,
"request"
:
"instance-tdd3700-gnb-input-schema.json"
,
"response"
:
"instance-tdd3700-gnb-schema.json"
,
"index"
:
2
},
"gnb-epc"
:
{
"title"
:
"gNB and EPC"
,
"software-type"
:
"gnb-epc"
,
"description"
:
"gNodeB and EPC Configuration"
,
"request"
:
"instance-tdd3700-gnb-epc-input-schema.json"
,
"response"
:
"instance-tdd3700-gnb-epc-schema.json"
,
"index"
:
3
},
"epc"
:
{
"title"
:
"EPC"
,
"software-type"
:
"epc"
,
"description"
:
"EPC Configuration"
,
"request"
:
"instance-epc-input-schema.json"
,
"response"
:
"instance-epc-schema.json"
,
"index"
:
1
"index"
:
4
},
"default"
:
{
"title"
:
"Default"
,
"software-type"
:
"default"
,
"description"
:
"Default"
,
"request"
:
"instance-lte-input-schema.json"
,
"response"
:
"instance-lte-schema.json"
,
"index"
:
2
},
"epc-slave"
:
{
"title"
:
"Sim Card"
,
"description"
:
"EPC Configuration"
,
...
...
@@ -34,7 +50,7 @@
"request"
:
"instance-epc-slave-input-schema.json"
,
"response"
:
"instance-epc-slave-schema.json"
,
"shared"
:
true
,
"index"
:
3
"index"
:
5
}
}
}
}
\ No newline at end of file
software/lte/software.cfg
View file @
16a725fb
...
...
@@ -15,6 +15,7 @@ parts +=
mme.jinja2.cfg
ims.jinja2.cfg
enb.jinja2.cfg
gnb.jinja2.cfg
ue_db.jinja2.cfg
# sdr driver is dependent on ENB thus should be added explicitely by software.cfg
sdr-driver
...
...
@@ -35,12 +36,18 @@ recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:_update_hash_filename_}
mode = 0644
[template-lte-default]
[template-lte-enb-epc]
<= download-base
[template-lte-gnb-epc]
<= download-base
[template-lte-enb]
<= download-base
[template-lte-gnb]
<= download-base
[template-lte-epc]
<= download-base
...
...
@@ -70,6 +77,9 @@ on-update = true
[enb.jinja2.cfg]
<= copy-config-to-instance
filename = enb.jinja2.cfg
[gnb.jinja2.cfg]
<= copy-config-to-instance
filename = gnb.jinja2.cfg
[ltelogs.jinja2.sh]
<= copy-to-instance
filename = ltelogs.jinja2.sh
...
...
@@ -91,9 +101,8 @@ md5sum = ${trx_sdr-linux:md5sum}
[sdr-driver]
# move trx_sdr.so next to lteenb binary
recipe = slapos.recipe.build:download
url = ${sdr:destination}/trx_sdr.so
destination = ${enb:destination}/trx_sdr.so
recipe = plone.recipe.command
command = cp -p ${sdr:destination}/trx_sdr.so ${enb:destination}
[enb]
<= unpack-to-instance
...
...
software/lte/software.cfg.jinja2.json
0 → 100644
View file @
16a725fb
{
"name"
:
"LTE"
,
"description"
:
"LTE"
,
"serialisation"
:
"xml"
,
"software-type"
:
{
"enb"
:
{
"title"
:
"eNB"
,
"software-type"
:
"enb"
,
"description"
:
"eNodeB Configuration"
,
"request"
:
"instance-{{ rf_mode }}-enb-input-schema.json"
,
"response"
:
"instance-{{ rf_mode }}-enb-schema.json"
,
"index"
:
0
},
"enb-epc"
:
{
"title"
:
"eNB and EPC"
,
"software-type"
:
"enb-epc"
,
"description"
:
"eNodeB and EPC Configuration"
,
"request"
:
"instance-{{ rf_mode }}-enb-epc-input-schema.json"
,
"response"
:
"instance-{{ rf_mode }}-enb-epc-schema.json"
,
"index"
:
1
},
"gnb"
:
{
"title"
:
"gNB"
,
"software-type"
:
"gnb"
,
"description"
:
"gNodeB Configuration"
,
"request"
:
"instance-{{ rf_mode }}-gnb-input-schema.json"
,
"response"
:
"instance-{{ rf_mode }}-gnb-schema.json"
,
"index"
:
2
},
"gnb-epc"
:
{
"title"
:
"gNB and EPC"
,
"software-type"
:
"gnb-epc"
,
"description"
:
"gNodeB and EPC Configuration"
,
"request"
:
"instance-{{ rf_mode }}-gnb-epc-input-schema.json"
,
"response"
:
"instance-{{ rf_mode }}-gnb-epc-schema.json"
,
"index"
:
3
},
"epc"
:
{
"title"
:
"EPC"
,
"software-type"
:
"epc"
,
"description"
:
"EPC Configuration"
,
"request"
:
"instance-epc-input-schema.json"
,
"response"
:
"instance-epc-schema.json"
,
"index"
:
4
},
"epc-slave"
:
{
"title"
:
"Sim Card"
,
"description"
:
"EPC Configuration"
,
"software-type"
:
"epc"
,
"request"
:
"instance-epc-slave-input-schema.json"
,
"response"
:
"instance-epc-slave-schema.json"
,
"shared"
:
true
,
"index"
:
5
}
}
}
software/lte/software.jinja2.cfg
0 → 100644
View file @
16a725fb
[buildout]
extends =
software.cfg
[enb]
default-dl-earfcn = {{ default_dl_earfcn }}
default-lte-dl-freq = {{ default_lte_dl_freq }}
default-lte-band = {{ default_lte_band }}
default-lte-n-rb-dl = {{ default_lte_n_rb_dl }}
default-lte-tx-gain = {{ default_lte_tx_gain }}
default-lte-rx-gain = {{ default_lte_rx_gain }}
default-dl-nr-arfcn = {{ default_dl_nr_arfcn }}
default-nr-band = {{ default_nr_band }}
default-nr-dl-freq = {{ default_nr_dl_freq }}
default-nr-bandwidth = {{ default_nr_bandwidth }}
default-nr-tx-gain = {{ default_nr_tx_gain }}
default-nr-rx-gain = {{ default_nr_rx_gain }}
min-frequency = {{ min_frequency }}
max-frequency = {{ max_frequency }}
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