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
Labels
Merge Requests
106
Merge Requests
106
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
nexedi
slapos
Commits
ef5eda2c
Commit
ef5eda2c
authored
May 14, 2024
by
Joanne Hugé
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ors-amarisoft: add support for AW2S Swallow CPRI board
parent
f185af94
Changes
17
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
314 additions
and
30 deletions
+314
-30
software/ors-amarisoft/buildout.hash.cfg
software/ors-amarisoft/buildout.hash.cfg
+20
-8
software/ors-amarisoft/cell/common.json
software/ors-amarisoft/cell/common.json
+3
-0
software/ors-amarisoft/config/enb.jinja2.cfg
software/ors-amarisoft/config/enb.jinja2.cfg
+14
-0
software/ors-amarisoft/config/ue_db.jinja2.cfg
software/ors-amarisoft/config/ue_db.jinja2.cfg
+15
-2
software/ors-amarisoft/instance-enb.jinja2.cfg
software/ors-amarisoft/instance-enb.jinja2.cfg
+2
-16
software/ors-amarisoft/instance.cfg
software/ors-amarisoft/instance.cfg
+3
-0
software/ors-amarisoft/ru/aw2s/buildout.cfg
software/ors-amarisoft/ru/aw2s/buildout.cfg
+15
-0
software/ors-amarisoft/ru/aw2s/input-schema.json
software/ors-amarisoft/ru/aw2s/input-schema.json
+60
-0
software/ors-amarisoft/ru/aw2s/libinstance.jinja2.cfg
software/ors-amarisoft/ru/aw2s/libinstance.jinja2.cfg
+50
-0
software/ors-amarisoft/ru/aw2s/rmu.jinja2.xml
software/ors-amarisoft/ru/aw2s/rmu.jinja2.xml
+23
-0
software/ors-amarisoft/ru/aw2s/swallow.jinja2.xml
software/ors-amarisoft/ru/aw2s/swallow.jinja2.xml
+51
-0
software/ors-amarisoft/ru/buildout.cfg
software/ors-amarisoft/ru/buildout.cfg
+1
-0
software/ors-amarisoft/ru/input-schema.json
software/ors-amarisoft/ru/input-schema.json
+3
-0
software/ors-amarisoft/ru/libinstance.jinja2.cfg
software/ors-amarisoft/ru/libinstance.jinja2.cfg
+8
-2
software/ors-amarisoft/ru/lopcomm/libinstance.jinja2.cfg
software/ors-amarisoft/ru/lopcomm/libinstance.jinja2.cfg
+16
-0
software/ors-amarisoft/ru/sdr/libinstance.jinja2.cfg
software/ors-amarisoft/ru/sdr/libinstance.jinja2.cfg
+15
-1
software/ors-amarisoft/ru/sunwave/libinstance.jinja2.cfg
software/ors-amarisoft/ru/sunwave/libinstance.jinja2.cfg
+15
-1
No files found.
software/ors-amarisoft/buildout.hash.cfg
View file @
ef5eda2c
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
[template]
[template]
filename = instance.cfg
filename = instance.cfg
md5sum =
43f02b7b3552d0d657fa7dbf43ce20a5
md5sum =
abdaff3013c324f6730a60ecf6b3e0ba
[template-ors]
[template-ors]
filename = instance-ors.cfg
filename = instance-ors.cfg
...
@@ -36,19 +36,23 @@ md5sum = ab666fdfadbfc7d8a16ace38d295c883
...
@@ -36,19 +36,23 @@ md5sum = ab666fdfadbfc7d8a16ace38d295c883
[ru_libinstance.jinja2.cfg]
[ru_libinstance.jinja2.cfg]
_update_hash_filename_ = ru/libinstance.jinja2.cfg
_update_hash_filename_ = ru/libinstance.jinja2.cfg
md5sum =
2dda7713832be83d94522c7abb4901f9
md5sum =
03d73ba1c184ee85cc2407db078d67f3
[ru_sdr_libinstance.jinja2.cfg]
[ru_sdr_libinstance.jinja2.cfg]
_update_hash_filename_ = ru/sdr/libinstance.jinja2.cfg
_update_hash_filename_ = ru/sdr/libinstance.jinja2.cfg
md5sum = b
7906ca3a6b17963f78f680fc0842b74
md5sum = b
1511c5916fe9b362df06aa1fee8fa58
[ru_lopcomm_libinstance.jinja2.cfg]
[ru_lopcomm_libinstance.jinja2.cfg]
_update_hash_filename_ = ru/lopcomm/libinstance.jinja2.cfg
_update_hash_filename_ = ru/lopcomm/libinstance.jinja2.cfg
md5sum = caa51d27f5a5cd5b23e4c088b3e3bb02
md5sum = 931f414531536c84f1924d334e1e955e
[ru_aw2s_libinstance.jinja2.cfg]
_update_hash_filename_ = ru/aw2s/libinstance.jinja2.cfg
md5sum = 36935130de3c3db6dae2ddb781b22bf0
[ru_sunwave_libinstance.jinja2.cfg]
[ru_sunwave_libinstance.jinja2.cfg]
_update_hash_filename_ = ru/sunwave/libinstance.jinja2.cfg
_update_hash_filename_ = ru/sunwave/libinstance.jinja2.cfg
md5sum =
bc5d82b8737b6990674b280ef2774be7
md5sum =
9c13c8946dda5a12ce60c65c8912a03a
[ru_lopcomm_ncclient_common.py]
[ru_lopcomm_ncclient_common.py]
_update_hash_filename_ = ru/lopcomm/ncclient_common.py
_update_hash_filename_ = ru/lopcomm/ncclient_common.py
...
@@ -88,7 +92,7 @@ md5sum = 52da9fe3a569199e35ad89ae1a44c30e
...
@@ -88,7 +92,7 @@ md5sum = 52da9fe3a569199e35ad89ae1a44c30e
[template-enb]
[template-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum =
8b9301f26fc4ffbc7eda9c1ac8da1a46
md5sum =
61f65a166bb8e09849f1dc3797edf97e
[template-ors-enb]
[template-ors-enb]
_update_hash_filename_ = instance-ors-enb.jinja2.cfg
_update_hash_filename_ = instance-ors-enb.jinja2.cfg
...
@@ -108,11 +112,11 @@ md5sum = c5f581ba01654b2aec46000abf8d0e35
...
@@ -108,11 +112,11 @@ md5sum = c5f581ba01654b2aec46000abf8d0e35
[ue_db.jinja2.cfg]
[ue_db.jinja2.cfg]
filename = config/ue_db.jinja2.cfg
filename = config/ue_db.jinja2.cfg
md5sum =
3b901e8733e6afff8940c6c318da4493
md5sum =
8d3048d8d7e53e2a78f979e732e83e8b
[enb.jinja2.cfg]
[enb.jinja2.cfg]
filename = config/enb.jinja2.cfg
filename = config/enb.jinja2.cfg
md5sum = 1
b8dc68206485299c08ab0e1544773f6
md5sum = 1
dd2d51298cc1c704c2157d18fefb29b
[drb_lte.jinja2.cfg]
[drb_lte.jinja2.cfg]
filename = config/drb_lte.jinja2.cfg
filename = config/drb_lte.jinja2.cfg
...
@@ -154,6 +158,14 @@ md5sum = e435990eb0a0d4be41efa9bd16dce09b
...
@@ -154,6 +158,14 @@ md5sum = e435990eb0a0d4be41efa9bd16dce09b
_update_hash_filename_ = ru/lopcomm/cu_config.jinja2.xml
_update_hash_filename_ = ru/lopcomm/cu_config.jinja2.xml
md5sum = 346c911e1ac5e5001a39c8926b44c91e
md5sum = 346c911e1ac5e5001a39c8926b44c91e
[ru_aw2s_swallow.jinja2.xml]
_update_hash_filename_ = ru/aw2s/swallow.jinja2.xml
md5sum = f584d47e814b388309ba89399d40029f
[ru_aw2s_rmu.jinja2.xml]
_update_hash_filename_ = ru/aw2s/rmu.jinja2.xml
md5sum = c130e4c6cac181da590c5f81e444a615
[software.cfg.html]
[software.cfg.html]
_update_hash_filename_ = gadget/software.cfg.html
_update_hash_filename_ = gadget/software.cfg.html
md5sum = 61a2f783fbf683a34aed3d13e00baca2
md5sum = 61a2f783fbf683a34aed3d13e00baca2
...
...
software/ors-amarisoft/cell/common.json
View file @
ef5eda2c
...
@@ -108,6 +108,9 @@
...
@@ -108,6 +108,9 @@
{
{
"$ref"
:
"../ru/lopcomm/input-schema.json"
"$ref"
:
"../ru/lopcomm/input-schema.json"
},
},
{
"$ref"
:
"../ru/aw2s/input-schema.json"
},
{
{
"$ref"
:
"../ru/sunwave/input-schema.json"
"$ref"
:
"../ru/sunwave/input-schema.json"
}
}
...
...
software/ors-amarisoft/config/enb.jinja2.cfg
View file @
ef5eda2c
...
@@ -143,7 +143,21 @@
...
@@ -143,7 +143,21 @@
log_filename: "{{ directory['log'] }}/enb.log",
log_filename: "{{ directory['log'] }}/enb.log",
{# instantiate radio units #}
{# instantiate radio units #}
{%- if len(iru_dict|dictsort|selectattr('1._.ru_link_type', '==', 'aw2s_cpri')|list) > 0 %}
rf_driver: {
name: "swallow",
path: "/usr/local/lib/lteenb",
xml_config_file: "etc/swallow.xml",
},
tx_gain_offset: -15.0,
tx_gain: 0.0,
rx_gain: 0.0,
tx_pad_duration: 0,
rx_ta_offset: 0.0,
tx_time_offset: 0,
{%- else %}
{{ slaplte.ru_config(iru_dict, slapparameter_dict) }}
{{ slaplte.ru_config(iru_dict, slapparameter_dict) }}
{%- endif %}
{%- if slapparameter_dict.get('websocket_password', '') %}
{%- if slapparameter_dict.get('websocket_password', '') %}
com_addr: "[{{ gtp_addr_v6 }}]:{{ slapparameter_dict.com_ws_port }}",
com_addr: "[{{ gtp_addr_v6 }}]:{{ slapparameter_dict.com_ws_port }}",
...
...
software/ors-amarisoft/config/ue_db.jinja2.cfg
View file @
ef5eda2c
...
@@ -23,5 +23,18 @@ ue_db: [
...
@@ -23,5 +23,18 @@ ue_db: [
{%- endif %}
{%- endif %}
}
}
{%- endfor -%}
{%- endfor -%}
]
{%- if len(slap_configuration['sim_list']) > 0 %}
, {
{%- else %}
{
{%- endif %}
sim_algo: "xor",
imsi: "001010123456789",
amf: 0x9001,
sqn: "000000000000",
K: "00112233445566778899aabbccddeeff",
impi: "001010123456789@ims.mnc001.mcc001.3gppnetwork.org",
impu: ["001010123456789", "tel:0600000000", "tel:600"],
domain: "ims.mnc001.mcc001.3gppnetwork.org",
multi_sim: true,
}]
software/ors-amarisoft/instance-enb.jinja2.cfg
View file @
ef5eda2c
...
@@ -89,22 +89,6 @@ version = {{ slapparameter_dict.get("enb_config_version") }}
...
@@ -89,22 +89,6 @@ version = {{ slapparameter_dict.get("enb_config_version") }}
offline = false
offline = false
{% endif %}
{% endif %}
[enb-sh-wrapper]
recipe = slapos.recipe.template
output = ${directory:bin}/${:_buildout_section_name_}
enb-log = ${directory:log}/enb-output.log
inline =
#!/bin/sh
{% if not slapparameter_dict.get("testing", False) %}
sudo -n /opt/amarisoft/rm-tmp-lte;
sudo -n /opt/amarisoft/init-sdr;
sudo -n /opt/amarisoft/init-enb;
(echo && echo && date "+[%Y/%m/%d %T.%N %Z] Starting eNB software..." && echo) >> ${:enb-log};
tail -c 1M ${:enb-log} > ${:enb-log}.tmp;
mv ${:enb-log}.tmp ${:enb-log};
{{ enb }}/lteenb ${directory:etc}/enb.cfg >> ${:enb-log} 2>> ${:enb-log};
{% endif %}
[enb-service]
[enb-service]
recipe = slapos.cookbook:wrapper
recipe = slapos.cookbook:wrapper
command-line = ${enb-sh-wrapper:output}
command-line = ${enb-sh-wrapper:output}
...
@@ -115,6 +99,8 @@ pidfile = ${directory:run}/enb.pid
...
@@ -115,6 +99,8 @@ pidfile = ${directory:run}/enb.pid
hash-files =
hash-files =
${enb-config:output}
${enb-config:output}
${enb-sh-wrapper:output}
${enb-sh-wrapper:output}
${swallow.xml:output}
${rmu.xml:output}
environment =
environment =
LD_LIBRARY_PATH={{ openssl_location }}/lib
LD_LIBRARY_PATH={{ openssl_location }}/lib
AMARISOFT_PATH=/opt/amarisoft/.amarisoft
AMARISOFT_PATH=/opt/amarisoft/.amarisoft
...
...
software/ors-amarisoft/instance.cfg
View file @
ef5eda2c
...
@@ -47,6 +47,7 @@ import-list =
...
@@ -47,6 +47,7 @@ import-list =
rawfile ru_libinstance.jinja2.cfg ${ru_libinstance.jinja2.cfg:target}
rawfile ru_libinstance.jinja2.cfg ${ru_libinstance.jinja2.cfg:target}
rawfile ru_sdr_libinstance.jinja2.cfg ${ru_sdr_libinstance.jinja2.cfg:target}
rawfile ru_sdr_libinstance.jinja2.cfg ${ru_sdr_libinstance.jinja2.cfg:target}
rawfile ru_lopcomm_libinstance.jinja2.cfg ${ru_lopcomm_libinstance.jinja2.cfg:target}
rawfile ru_lopcomm_libinstance.jinja2.cfg ${ru_lopcomm_libinstance.jinja2.cfg:target}
rawfile ru_aw2s_libinstance.jinja2.cfg ${ru_aw2s_libinstance.jinja2.cfg:target}
rawfile ru_sunwave_libinstance.jinja2.cfg ${ru_sunwave_libinstance.jinja2.cfg:target}
rawfile ru_sunwave_libinstance.jinja2.cfg ${ru_sunwave_libinstance.jinja2.cfg:target}
# activate eggs and modules used in jinja2 templates
# activate eggs and modules used in jinja2 templates
...
@@ -168,6 +169,8 @@ extra-context =
...
@@ -168,6 +169,8 @@ extra-context =
raw ru_lopcomm_cu_inactive_config_template ${ru_lopcomm_cu_config.jinja2.xml:target}
raw ru_lopcomm_cu_inactive_config_template ${ru_lopcomm_cu_config.jinja2.xml:target}
raw ru_lopcomm_firmware_path ${ru_lopcomm_firmware-dl:target}
raw ru_lopcomm_firmware_path ${ru_lopcomm_firmware-dl:target}
raw ru_lopcomm_firmware_filename ${ru_lopcomm_firmware-dl:filename}
raw ru_lopcomm_firmware_filename ${ru_lopcomm_firmware-dl:filename}
raw ru_aw2s_swallow_xml_template ${ru_aw2s_swallow.jinja2.xml:target}
raw ru_aw2s_rmu_xml_template ${ru_aw2s_rmu.jinja2.xml:target}
raw ru_tapsplit ${ru_tapsplit:target}
raw ru_tapsplit ${ru_tapsplit:target}
raw netcapdo ${netcapdo:exe}
raw netcapdo ${netcapdo:exe}
raw openssl_location ${openssl:location}
raw openssl_location ${openssl:location}
...
...
software/ors-amarisoft/ru/aw2s/buildout.cfg
0 → 100644
View file @
ef5eda2c
# ru/aw2s/buildout.cfg provides software code for handling AW2S Radio Units.
[buildout]
parts +=
ru_aw2s_swallow.jinja2.xml
ru_aw2s_rmu.jinja2.xml
[ru_aw2s_swallow.jinja2.xml]
<= download-base
[ru_aw2s_rmu.jinja2.xml]
<= download-base
[ru_aw2s_libinstance.jinja2.cfg]
<= download-base
software/ors-amarisoft/ru/aw2s/input-schema.json
0 → 100644
View file @
ef5eda2c
{
"$schema"
:
"https://json-schema.org/draft/2020-12/schema"
,
"title"
:
"AW2S"
,
"type"
:
"object"
,
"required"
:
[
"ru_type"
,
"ru_link_type"
,
"n_antenna_dl"
,
"n_antenna_ul"
],
"properties"
:
{
"$ref"
:
"../../ru/common.json#/properties"
,
"ru_type"
:
{
"$ref"
:
"#/properties/ru_type"
,
"const"
:
"aw2s"
},
"ru_link_type"
:
{
"$ref"
:
"#/properties/ru_link_type"
,
"const"
:
"aw2s"
},
"n_antenna_dl"
:
{
"$ref"
:
"#/properties/n_antenna_dl"
,
"default"
:
2
},
"n_antenna_ul"
:
{
"$ref"
:
"#/properties/n_antenna_ul"
,
"default"
:
2
},
"aw2s_cpri_link"
:
{
"title"
:
"AW2S CPRI link settings"
,
"type"
:
"object"
,
"required"
:
[
"swallow_board"
,
"sfp_port"
],
"properties"
:
{
"swallow_board"
:
{
"title"
:
"ID of swallow board"
,
"type"
:
"integer"
},
"sfp_port"
:
{
"title"
:
"SFP port # on the CPRI board"
,
"type"
:
"integer"
},
"mult"
:
{
"title"
:
"CPRI line bit rate multipler"
,
"description"
:
"Select the CPRI line bit rate in terms of multiple of option 1 (614.4 Mbps). E.g set 4 for option 3, 8 for option 5 and 16 for option 7"
,
"type"
:
"integer"
,
"enum"
:
[
4
,
5
,
8
,
16
],
"default"
:
16
}
}
}
}
}
software/ors-amarisoft/ru/aw2s/libinstance.jinja2.cfg
0 → 100644
View file @
ef5eda2c
{#- Package ru/aw2s/libinstance provides instance code for handling AW2S Radio Units. #}
{%- macro buildout_swallow(iru_dict, icell_dict) %}
[swallow.xml]
<= config-base
url = {{ ru_aw2s_swallow_xml_template }}
output = ${directory:etc}/swallow.xml
extra-context =
key iru_dict :iru_dict
key icell_dict :icell_dict
import json_module json
iru_dict = {{ dumps(iru_dict) }}
icell_dict = {{ dumps(icell_dict) }}
import-list =
rawfile slaplte.jinja2 {{ slaplte_template }}
[rmu.xml]
<= config-base
url = {{ ru_aw2s_rmu_xml_template }}
output = ${directory:etc}/rmu.xml
extra-context =
key iru_dict :iru_dict
key icell_dict :icell_dict
iru_dict = {{ dumps(iru_dict) }}
icell_dict = {{ dumps(icell_dict) }}
{%- endmacro %}
{%- macro buildout() %}
[enb-sh-wrapper]
recipe = slapos.recipe.template
output = ${directory:bin}/${:_buildout_section_name_}
enb-log = ${directory:log}/enb-output.log
inline =
#!/bin/sh
{% if not testing %}
sudo -n /opt/amarisoft/rm-tmp-lte;
sudo -n /opt/amarisoft/init-enb;
(echo && echo && date "+[%Y/%m/%d %T.%N %Z] Starting eNB software..." && echo) >> ${:enb-log};
tail -c 1M ${:enb-log} > ${:enb-log}.tmp;
mv ${:enb-log}.tmp ${:enb-log};
sudo -n {{ enb }}/lteenb ${directory:etc}/enb.cfg >> ${:enb-log} 2>> ${:enb-log};
{% endif %}
{%- endmacro %}
{%- macro buildout_iru(iru, icell_list) %}
{%- endmacro %}
software/ors-amarisoft/ru/aw2s/rmu.jinja2.xml
0 → 100644
View file @
ef5eda2c
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Radio Management Unit configuration file -->
<rmu>
<!-- Swallow configuration -->
<swallow
minor=
"*"
>
<sync
mode=
"gps"
output=
"umts"
/>
<port
id=
"*"
line-speed=
"3"
defragment=
"true"
/>
</swallow>
<!-- Optional FTP links -->
<ftp>
<link
alias=
"Releases"
>
<host>
127.0.0.1
</host>
<user>
user
</user>
<password>
default0
</password>
<directory>
releases
</directory>
</link>
</ftp>
</rmu>
software/ors-amarisoft/ru/aw2s/swallow.jinja2.xml
0 → 100644
View file @
ef5eda2c
{%- import 'slaplte.jinja2' as slaplte with context %}
<?xml version="1.0" encoding="utf-8"?>
<!-- Swallow V6 LTEENB TRx PCIe configuration file -->
{%- set cpri_board_list = [] %}
{%- for (ru_ref, iru) in iru_dict.items() | sort(attribute="1._._rf_port") %}
{%- set ru = iru['_'] %}
{%- set cpri_board = ru.aw2s_cpri_link.swallow_board %}
{%- if cpri_board not in cpri_board_list %}
{%- do cpri_board_list.append(cpri_board) %}
{%- endif %}
{%- endfor %}
{%- for cpri_board in cpri_board_list|sort %}
<swallow
minor=
"{{ cpri_board }}"
>
<!-- CPU management -->
<cpu
wait-mode=
"poll"
irq-interval-us=
"250"
/>
{%- if len(cpri_board_list) == 1 %}
<!-- Synchronization scheme (ignored when using MRAT transceiver) -->
<sync
mode=
"gps"
output=
"umts"
/>
<!-- CPRI master ports setup (ignored when using MRAT transceiver) -->
{%- for (ru_ref, iru) in iru_dict.items() | sort(attribute="1._._rf_port") %}
{%- set ru = iru['_'] %}
<port
id=
"{{ ru._rf_port }}"
cpri-line-speed=
"{{ ru.aw2s_cpri_link.cpri_line_speed }}"
/>
{%- endfor %}
{%- endif %}
<!-- Cells configuration -->
{%- for cell_index, (cell_ref, icell) in enumerate(icell_dict|dictsort) %}
{%- set cell = icell['_'] %}
{%- set ru_ref = slaplte.J(slaplte.jcell_ru_ref(icell, icell_dict)) %}
{%- set iru = iru_dict[ru_ref] %}
{%- set ru = iru['_'] %}
{%- if ru.aw2s_cpri_link.swallow_board == cpri_board %}
<cell
id=
"{{ cell_index }}"
>
<iq-compression
type=
"none"
tx-sigma=
"7000"
rx-sigma=
"4000"
/>
{%- for ant in range(ru.n_antenna_dl) %}
<tx
id=
"{{ ant }}"
master-port=
"{{ ru._rf_port }}"
hop-count=
"0"
antport=
"{{ ant }}"
power-dBm=
"{{ cell.power_dbm }}"
/>
{%- endfor %}
{%- for ant in range(ru.n_antenna_ul) %}
<rx
id=
"{{ ant }}"
master-port=
"{{ ru._rf_port }}"
hop-count=
"0"
antport=
"{{ ant }}"
/>
{%- endfor %}
</cell>
{%- endif %}
{%- endfor %}
</swallow>
{%- endfor %}
software/ors-amarisoft/ru/buildout.cfg
View file @
ef5eda2c
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
extends =
extends =
sdr/buildout.cfg
sdr/buildout.cfg
lopcomm/buildout.cfg
lopcomm/buildout.cfg
aw2s/buildout.cfg
sunwave/buildout.cfg
sunwave/buildout.cfg
parts +=
parts +=
...
...
software/ors-amarisoft/ru/input-schema.json
View file @
ef5eda2c
...
@@ -9,6 +9,9 @@
...
@@ -9,6 +9,9 @@
{
{
"$ref"
:
"lopcomm/input-schema.json"
"$ref"
:
"lopcomm/input-schema.json"
},
},
{
"$ref"
:
"aw2s/input-schema.json"
},
{
{
"$ref"
:
"sunwave/input-schema.json"
"$ref"
:
"sunwave/input-schema.json"
}
}
...
...
software/ors-amarisoft/ru/libinstance.jinja2.cfg
View file @
ef5eda2c
...
@@ -20,7 +20,6 @@
...
@@ -20,7 +20,6 @@
{%- set icell_dict = {} %}
{%- set icell_dict = {} %}
{%- do slaplte.load_iru_and_icell(iru_dict, icell_dict, icell_kind) %}
{%- do slaplte.load_iru_and_icell(iru_dict, icell_dict, icell_kind) %}
{%- macro buildout() %}
{%- macro buildout() %}
{%- set root = slap_configuration['instance-title'] %}
{%- set root = slap_configuration['instance-title'] %}
{%- set testing = slapparameter_dict.get("testing", False) %}
{%- set testing = slapparameter_dict.get("testing", False) %}
...
@@ -54,9 +53,11 @@ config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
...
@@ -54,9 +53,11 @@ config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
{%- set ierror = slaplte.ierror %}
{%- set ierror = slaplte.ierror %}
{%- import 'ru_sdr_libinstance.jinja2.cfg' as rudrv_sdr with context %}
{%- import 'ru_sdr_libinstance.jinja2.cfg' as rudrv_sdr with context %}
{%- import 'ru_lopcomm_libinstance.jinja2.cfg' as rudrv_lopcomm with context %}
{%- import 'ru_lopcomm_libinstance.jinja2.cfg' as rudrv_lopcomm with context %}
{%- import 'ru_aw2s_libinstance.jinja2.cfg' as rudrv_aw2s with context %}
{%- import 'ru_sunwave_libinstance.jinja2.cfg' as rudrv_sunwave with context %}
{%- import 'ru_sunwave_libinstance.jinja2.cfg' as rudrv_sunwave with context %}
{%- set rudrv_dict = namespace(sdr=rudrv_sdr,
{%- set rudrv_dict = namespace(sdr=rudrv_sdr,
lopcomm=rudrv_lopcomm,
lopcomm=rudrv_lopcomm,
aw2s=rudrv_aw2s,
sunwave=rudrv_sunwave) %}
sunwave=rudrv_sunwave) %}
{%- set rudrv_init = {} %}
{%- set rudrv_init = {} %}
...
@@ -216,7 +217,7 @@ config-sdr_dev = {{ ru.cpri_link.sdr_dev }}
...
@@ -216,7 +217,7 @@ config-sdr_dev = {{ ru.cpri_link.sdr_dev }}
config-sfp_port = {{ ru.cpri_link.sfp_port }}
config-sfp_port = {{ ru.cpri_link.sfp_port }}
config-amarisoft-rf-info-log = ${ru_amarisoft-rf-info-template:log-output}
config-amarisoft-rf-info-log = ${ru_amarisoft-rf-info-template:log-output}
{%- el
se
%}
{%- el
if ru.ru_link_type != 'aw2s_cpri'
%}
{%- do bug('unreachable') %}
{%- do bug('unreachable') %}
{%- endif %}
{%- endif %}
...
@@ -233,6 +234,9 @@ config-max-rx-sample-db = {{ slapparameter_dict.get("max_rx_sample_db", 0) }}
...
@@ -233,6 +234,9 @@ config-max-rx-sample-db = {{ slapparameter_dict.get("max_rx_sample_db", 0) }}
{%- do rudrv_init.update({ru.ru_type: 1}) %}
{%- do rudrv_init.update({ru.ru_type: 1}) %}
{%- endif %}
{%- endif %}
{{ rudrv.buildout_iru(iru, iru_icell_list) }}
{{ rudrv.buildout_iru(iru, iru_icell_list) }}
{%- if ru.ru_type == 'aw2s' %}
{{ rudrv.buildout_swallow(iru_dict, icell_dict) }}
{%- endif %}
{#- publish information about RU (skipping synthetic) #}
{#- publish information about RU (skipping synthetic) #}
{%- if iru.slave_reference %}
{%- if iru.slave_reference %}
...
@@ -248,8 +252,10 @@ cell-list = {{ dumps(iru_icell_ref_list) }}
...
@@ -248,8 +252,10 @@ cell-list = {{ dumps(iru_icell_ref_list) }}
{%- if ru.ru_link_type == 'cpri' %}
{%- if ru.ru_link_type == 'cpri' %}
ipv6 = ${vtap.{{ ru.cpri_link._tap }}:gateway}
ipv6 = ${vtap.{{ ru.cpri_link._tap }}:gateway}
{%- endif %}
{%- endif %}
{%- if ru.ru_link_type != 'aw2s_cpri' %}
tx_gain = {{ dumps(ru.tx_gain) }}
tx_gain = {{ dumps(ru.tx_gain) }}
rx_gain = {{ dumps(ru.rx_gain) }}
rx_gain = {{ dumps(ru.rx_gain) }}
{%- endif %}
txrx_active = {{ dumps(ru.txrx_active) }}
txrx_active = {{ dumps(ru.txrx_active) }}
{%- endif %}
{%- endif %}
...
...
software/ors-amarisoft/ru/lopcomm/libinstance.jinja2.cfg
View file @
ef5eda2c
...
@@ -248,6 +248,22 @@ firmware = {{ru_lopcomm_firmware_filename}}
...
@@ -248,6 +248,22 @@ firmware = {{ru_lopcomm_firmware_filename}}
{%- macro buildout() %}
{%- macro buildout() %}
[enb-sh-wrapper]
recipe = slapos.recipe.template
output = ${directory:bin}/${:_buildout_section_name_}
enb-log = ${directory:log}/enb-output.log
inline =
#!/bin/sh
{% if not slapparameter_dict.get("testing", False) %}
sudo -n /opt/amarisoft/rm-tmp-lte;
sudo -n /opt/amarisoft/init-sdr;
sudo -n /opt/amarisoft/init-enb;
(echo && echo && date "+[%Y/%m/%d %T.%N %Z] Starting eNB software..." && echo) >> ${:enb-log};
tail -c 1M ${:enb-log} > ${:enb-log}.tmp;
mv ${:enb-log}.tmp ${:enb-log};
{{ enb }}/lteenb ${directory:etc}/enb.cfg >> ${:enb-log} 2>> ${:enb-log};
{% endif %}
# deploy openssh-server for software upgrade
# deploy openssh-server for software upgrade
#
#
# FIXME user-authorized-key is global for eNB. Either we need to put SSH server
# FIXME user-authorized-key is global for eNB. Either we need to put SSH server
...
...
software/ors-amarisoft/ru/sdr/libinstance.jinja2.cfg
View file @
ef5eda2c
...
@@ -5,5 +5,19 @@
...
@@ -5,5 +5,19 @@
{%- endmacro %}
{%- endmacro %}
{%- macro buildout() %}
{%- macro buildout() %}
{#- nothing SDR-specific #}
[enb-sh-wrapper]
recipe = slapos.recipe.template
output = ${directory:bin}/${:_buildout_section_name_}
enb-log = ${directory:log}/enb-output.log
inline =
#!/bin/sh
{% if not slapparameter_dict.get("testing", False) %}
sudo -n /opt/amarisoft/rm-tmp-lte;
sudo -n /opt/amarisoft/init-sdr;
sudo -n /opt/amarisoft/init-enb;
(echo && echo && date "+[%Y/%m/%d %T.%N %Z] Starting eNB software..." && echo) >> ${:enb-log};
tail -c 1M ${:enb-log} > ${:enb-log}.tmp;
mv ${:enb-log}.tmp ${:enb-log};
{{ enb }}/lteenb ${directory:etc}/enb.cfg >> ${:enb-log} 2>> ${:enb-log};
{% endif %}
{%- endmacro %}
{%- endmacro %}
software/ors-amarisoft/ru/sunwave/libinstance.jinja2.cfg
View file @
ef5eda2c
...
@@ -5,5 +5,19 @@
...
@@ -5,5 +5,19 @@
{%- endmacro %}
{%- endmacro %}
{%- macro buildout() %}
{%- macro buildout() %}
{#- nothing SunWave-specific #}
[enb-sh-wrapper]
recipe = slapos.recipe.template
output = ${directory:bin}/${:_buildout_section_name_}
enb-log = ${directory:log}/enb-output.log
inline =
#!/bin/sh
{% if not slapparameter_dict.get("testing", False) %}
sudo -n /opt/amarisoft/rm-tmp-lte;
sudo -n /opt/amarisoft/init-sdr;
sudo -n /opt/amarisoft/init-enb;
(echo && echo && date "+[%Y/%m/%d %T.%N %Z] Starting eNB software..." && echo) >> ${:enb-log};
tail -c 1M ${:enb-log} > ${:enb-log}.tmp;
mv ${:enb-log}.tmp ${:enb-log};
{{ enb }}/lteenb ${directory:etc}/enb.cfg >> ${:enb-log} 2>> ${:enb-log};
{% endif %}
{%- endmacro %}
{%- endmacro %}
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