How to implement multiples DUs connected to one CU ? #1373
-
Hello !! I was searching how to split CU/DU, I found the official tutorial, the docker script of Open5GS and the CU works fine. When connecting one DU, it also works fine. However, I've created another DU yaml file and modified the bind_addr and tried to connect a second DU to the running CU. The following message apperead: sudo ./srsdu -c du2.yml
--== srsRAN DU (commit 2be82d8ea) ==--
Lower PHY in executor blocking mode.
Available radio types: uhd and zmq.
Cell pci=1, bw=20 MHz, 1T1R, dl_arfcn=650000 (n78), dl_freq=3750 MHz, dl_ssb_arfcn=649632, ul_freq=3750 MHz
F1-C: Connection to CU-CP on 127.0.10.1:38472 completed
srsRAN ERROR: F1 Setup failed. Cause: CU-CP responded with "F1 Setup Failure" with F1AP cause "message-not-compatible-with-receiver-state"
The CU code: # Example config for a locally deployed CU listening on the localhost interface for a DU connection
cu_cp:
max_nof_dus: 3
amf:
addr: 10.53.1.2
port: 38412
bind_addr: 10.53.1.1
supported_tracking_areas:
- tac: 7
plmn_list:
- plmn: "00101"
tai_slice_support_list:
- sst: 1
inactivity_timer: 7200
f1ap:
bind_addr: 127.0.10.1
cu_up:
gtpu_queue_size: 2048 # Optional INT (2048). Sets the GTP-U queue size, in PDUs.
gtpu_reordering_timer: 0 # Optional INT (0). Sets the GTP-U RX reordering timer (in milliseconds).
warn_on_drop: true
log:
filename: /tmp/cu.log
all_level: warning
pcap:
ngap_enable: false
ngap_filename: /tmp/cu_ngap.pcap
The code for the first DU: gnb_du_id: 0 # Optional UINT (0). Sets the gNB DU ID. Supported: [0 - 68719476735].
f1ap:
cu_cp_addr: 127.0.10.1 # The address of CU-CP
bind_addr: 127.0.1.2
f1u:
socket:
-
bind_addr: 127.0.1.2
ru_sdr:
device_driver: zmq
device_args: tx_port=tcp://127.0.1.2:2000,rx_port=tcp://127.0.10.1:2001,base_srate=23.04e6
srate: 23.04
tx_gain: 75
rx_gain: 75
cell_cfg:
dl_arfcn: 650000
band: 78
channel_bandwidth_MHz: 20
common_scs: 30
plmn: "00101"
tac: 7
pci: 1 The code for the second DU (I already tried changing the PLMN for this one, a mensage on the log disapeared, however the error continues): gnb_du_id: 1 # Optional UINT (0). Sets the gNB DU ID. Supported: [0 - 68719476735].
f1ap:
cu_cp_addr: 127.0.10.1 # The address of CU-CP
bind_addr: 127.0.1.3
f1u:
socket:
-
bind_addr: 127.0.1.3
ru_sdr:
device_driver: zmq
device_args: tx_port=tcp://127.0.1.3:2001,rx_port=tcp://127.0.10.1:2002,base_srate=23.04e6
srate: 23.04
tx_gain: 75
rx_gain: 75
cell_cfg:
dl_arfcn: 650000
band: 78
channel_bandwidth_MHz: 20
common_scs: 30
plmn: "00101"
tac: 7
pci: 2 Latter on, I searched and found this issue (https://github.com/srsran/srsRAN_Project/discussions/794), and used the code from pgawlowicz, I created the file (turned off the CU and DU) and the GNB connected. However, I tried to connect a UE and stayed on Attaching UE. Code for GNB: gnb_id: 411
gnb_id_bit_length: 32
cu_cp:
amf:
addr: 10.53.1.2
port: 38412
bind_addr: 10.53.1.1
supported_tracking_areas:
- tac: 7
plmn_list:
- plmn: "00101"
tai_slice_support_list:
- sst: 1
inactivity_timer: 7200 # Sets the UE/PDU Session/DRB inactivity timer to 7200 seconds. Supported: [1 - 7200].
ru_sdr:
srate: 23.04
device_driver: zmq
device_args: tx_port0=tcp://127.0.0.1:31100,rx_port0=tcp://127.0.0.1:31681,tx_port1=tcp://127.0.0.1:31598,rx_port1=tcp://127.0.0.1:31310,id=gnb,base_srate=23.04e6
sync: default
time_alignment_calibration: 0
cell_cfg:
nof_antennas_dl: 1
nof_antennas_ul: 1
dl_arfcn: 368500
band: 3
channel_bandwidth_MHz: 20
common_scs: 15
plmn: "00101"
tac: 7
pdsch:
mcs_table: qam256
pusch:
mcs_table: qam256
cells:
- pci: 1
dl_arfcn: 368500
band: 3
common_scs: 15
prach:
prach_root_sequence_index: 0
- pci: 2
dl_arfcn: 368500
band: 3
common_scs: 15
prach:
prach_root_sequence_index: 64
Code for UE1: [rf]
freq_offset = 0
tx_gain = 50
rx_gain = 40
srate = 23.04e6
nof_antennas = 1
device_name = zmq
device_args = tx_port=tcp://127.0.0.1:31681,rx_port=tcp://127.0.0.1:31100,base_srate=23.04e6
[rat.eutra]
dl_earfcn = 2850
nof_carriers = 0
[rat.nr]
bands = 3
nof_carriers = 1
max_nof_prb = 52
nof_prb = 52
dl_nr_arfcn = 368500
ssb_nr_arfcn =366970
[pcap]
enable = none
mac_filename = /tmp/ue1_mac.pcap
mac_nr_filename = /tmp/ue1_mac_nr.pcap
nas_filename = /tmp/ue1_nas.pcap
[log]
all_level = info
phy_lib_level = none
all_hex_limit = 32
filename = /tmp/ue1.log
file_max_size = -1
[usim]
mode = soft
algo = milenage
opc = 63BFA50EE6523365FF14C1F45F88737D
k = 00112233445566778899aabbccddeeff
imsi = 001010123456780
imei = 353490069873319
[rrc]
release = 15
ue_category = 4
[nas]
apn = srsapn
apn_protocol = ipv4
[gw]
netns = ue1
ip_devname = tun_srsue
ip_netmask = 255.255.255.0
[gui]
enable = false Code for UE2: [rf]
freq_offset = 0
tx_gain = 50
rx_gain = 40
srate = 23.04e6
nof_antennas = 1
device_name = zmq
device_args = tx_port=tcp://127.0.0.1:31310,rx_port=tcp://127.0.0.1:31598,base_srate=23.04e6
[rat.eutra]
dl_earfcn = 2850
nof_carriers = 0
[rat.nr]
bands = 3
nof_carriers = 1
max_nof_prb = 52
nof_prb = 52
[pcap]
enable = none
mac_filename = /tmp/ue1_mac.pcap
mac_nr_filename = /tmp/ue1_mac_nr.pcap
nas_filename = /tmp/ue1_nas.pcap
[log]
all_level = info
phy_lib_level = none
all_hex_limit = 32
filename = /tmp/ue1.log
file_max_size = -1
[usim]
mode = soft
algo = milenage
opc = 63BFA50EE6523365FF14C1F45F88737D
k = 00112233445566778899aabbccddeeff
imsi = 001010123456780
imei = 353490069873319
[rrc]
release = 15
ue_category = 4
[nas]
apn = srsapn
apn_protocol = ipv4
[gw]
netns = ue1
ip_devname = tun_srsue
ip_netmask = 255.255.255.0
[gui]
enable = false Is there a way to implement multiples DUs connected to one CU ? Any official tutorial, specially for making individual CU/DU initializations (srsCU and srsDU) ? I want mainly a solution for the first case, because I want to use the srsCU and srsDU for orchestration purposes. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
I found the solution, I changed this three parameters and now it works (I also changed a lot more things):
Code for the CU: # Example config for a locally deployed CU listening on the localhost interface for a DU connection
cu_cp:
max_nof_dus: 3
amf:
addr: 10.53.1.2
port: 38412
bind_addr: 10.53.1.1
supported_tracking_areas:
- tac: 7
plmn_list:
- plmn: "00101"
tai_slice_support_list:
- sst: 1
inactivity_timer: 7200
f1ap:
bind_addr: 127.0.10.1
cu_up:
gtpu_queue_size: 2048 # Optional INT (2048). Sets the GTP-U queue size, in PDUs.
gtpu_reordering_timer: 0 # Optional INT (0). Sets the GTP-U RX reordering timer (in milliseconds).
warn_on_drop: true
log:
filename: /tmp/cu.log
all_level: warning
pcap:
ngap_enable: false
ngap_filename: /tmp/cu_ngap.pcap
Code for the DU1: gnb_id: 411
gnb_du_id: 0 # Optional UINT (0). Sets the gNB DU ID. Supported: [0 - 68719476735].
f1ap:
cu_cp_addr: 127.0.10.1 # The address of CU-CP
bind_addr: 127.0.1.2
f1u:
socket:
-
bind_addr: 127.0.1.2
ru_sdr:
device_driver: zmq
device_args: tx_port=tcp://127.0.1.2:2000,rx_port=tcp://127.0.10.1:2001,base_srate=23.04e6
srate: 23.04
tx_gain: 75
rx_gain: 75
cell_cfg:
sector_id: 0011
dl_arfcn: 650000
band: 78
channel_bandwidth_MHz: 20
common_scs: 30
plmn: "00101"
tac: 7
pci: 1
Code for the DU2: gnb_id: 411
gnb_du_id: 1 # Optional UINT (0). Sets the gNB DU ID. Supported: [0 - 68719476735].
f1ap:
cu_cp_addr: 127.0.10.1 # The address of CU-CP
bind_addr: 127.0.1.3
f1u:
socket:
-
bind_addr: 127.0.1.3
ru_sdr:
device_driver: zmq
device_args: tx_port=tcp://127.0.1.3:2001,rx_port=tcp://127.0.10.1:2002,base_srate=23.04e6
srate: 23.04
tx_gain: 75
rx_gain: 75
cell_cfg:
sector_id: 0000
dl_arfcn: 640000
band: 78
channel_bandwidth_MHz: 15
common_scs: 30
plmn: "00101"
tac: 6
pci: 2
log:
filename: /tmp/du2.log
all_level: warning
du_level: warning |
Beta Was this translation helpful? Give feedback.
I found the solution, I changed this three parameters and now it works (I also changed a lot more things):
Code for the CU: