change the script of FAPI build/run and WLS build to be executable
[o-du/phy.git] / docs / installation-guide.rst
1 ..    Copyright (c) 2019 Intel
2 ..
3 ..  Licensed under the Apache License, Version 2.0 (the "License");
4 ..  you may not use this file except in compliance with the License.
5 ..  You may obtain a copy of the License at
6 ..
7 ..      http://www.apache.org/licenses/LICENSE-2.0
8 ..
9 ..  Unless required by applicable law or agreed to in writing, software
10 ..  distributed under the License is distributed on an "AS IS" BASIS,
11 ..  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 ..  See the License for the specific language governing permissions and
13 ..  limitations under the License.
14
15
16
17 Installation Guide
18 ==================
19
20 .. contents::
21    :depth: 3
22    :local:
23
24 Abstract
25 --------
26
27 This document describes how to install the Front Haul Interface Library, it's dependencies and required system resources.
28
29
30 Version history
31
32 +--------------------+--------------------+--------------------+--------------------+
33 | **Date**           | **Ver.**           | **Author**         | **Comment**        |
34 |                    |                    |                    |                    |
35 +--------------------+--------------------+--------------------+--------------------+
36 | 2019-11-01         | 1.1                |     Intel          | Rel A Seed Cont    |
37 |                    |                    |                    |                    |
38 +--------------------+--------------------+--------------------+--------------------+
39
40
41
42 Introduction
43 ------------
44
45 This document describes the Prerequirements and Installation Information for the Front Haul Interface Library.
46 The audience of this document is assumed to have good knowledge in RAN network and Linux system.
47
48 Preface
49 -------
50
51
52 Before starting the installation of the Front Haul Interface Library, please ensure that the following pre-requisites are met
53
54 System configuration
55 ~~~~~~~~~~~~~~~~~~~~
56
57 VFIO requires:
58  *  linux:
59                 IOMMU=ON
60  *  BIOS:
61                 Intel(R) Virtualization Technology Enabled
62                 Intel(R) VT for Directed I/O - Enabled
63                 ACS Control - Enabled
64                 Coherency Support - Disabled
65  *  Compiler
66
67     icc -v
68     icc version 19.0.3.206 (gcc version 4.8.5 compatibility)
69
70     Link to ICC (community free version):
71     https://software.intel.com/en-us/system-studio/choose-download#technical
72
73   * DPDK 18.08
74
75 Compile DPDK with
76 [root@5gnr-sc12-xran dpdk]# ./usertools/dpdk-setup.sh    // Where the root@5gnr-sc12-xran dpdk corresponds to the location in the server for the dpdk installation folder
77
78 select [16] x86_64-native-linuxapp-icc
79 select [19] Insert VFIO module
80 exit   [35] Exit Script
81
82  * Find PCIe device of Fortville port
83
84 lspci|grep Eth
85 19:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
86 19:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
87 41:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GBASE-T (rev 04)
88 41:00.1 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GBASE-T (rev 04)
89 d8:00.0 << Ethernet controller: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ (rev 02) <<<< this one
90 d8:00.1 Ethernet controller: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ (rev 02)
91
92  * Corresponding Eth device via
93
94 ifconfig -a
95
96 find port Eth with correct PCIe Bus address as per list above
97
98 ethtool -i enp218s0f0
99 driver: i40e
100 version: 2.4.10 << driver
101 firmware-version: 6.80 0x80003cfd 1.2007.0
102 expansion-rom-version:
103 bus-info: 0000:da:00.0 << this one
104 supports-statistics: yes
105 supports-test: yes
106 supports-eeprom-access: yes
107 supports-register-dump: yes
108 supports-priv-flags: yes
109
110 * install correct 2.4.10 i40e version if different (https://downloadcenter.intel.com/download/28306/Intel-Network-Adapter-Driver-for-PCIe-40-Gigabit-Ethernet-Network-Connections-Under-Linux-)
111
112 make sure firmare version is at least this version or higher
113
114 firmware-version: 6.01
115
116 * make sure that linux boot arguments are correct
117
118 cat /proc/cmdline
119 BOOT_IMAGE=/vmlinuz-3.10.0-rt56 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap intel_iommu=on iommu=pt usbcore.autosuspend=-1 selinux=0 enforcing=0 nmi_watchdog=0 softlockup_panic=0 audit=0 intel_pstate=disable cgroup_disable=memory mce=off idle=poll hugepagesz=1G hugepages=20 hugepagesz=2M hugepages=0 default_hugepagesz=1G isolcpus=1-39 rcu_nocbs=1-39 kthread_cpus=0 irqaffinity=0 nohz_full=1-39
120
121 * enable SRIOV VF port for XRAN
122
123 echo 2 > /sys/class/net/enp216s0f0/device/sriov_numvfs
124
125 see https://doc.dpdk.org/guides/nics/intel_vf.html
126
127 * Check that Virtual Function was created
128
129 lspci|grep Eth
130 19:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
131 19:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
132 41:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GBASE-T (rev 04)
133 41:00.1 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GBASE-T (rev 04)
134 d8:00.0 Ethernet controller: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ (rev 02)
135 d8:00.1 Ethernet controller: Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ (rev 02)
136 d8:02.0 Ethernet controller: Intel Corporation XL710/X710 Virtual Function (rev 02) <<<< this is XRAN port (u-plane)
137 d8:02.1 Ethernet controller: Intel Corporation XL710/X710 Virtual Function (rev 02) <<<< this is XRAN port (c-plane)
138
139 * Configure VFs
140
141 - set mac to 00:11:22:33:44:66
142 - set Vlan tag to 2 (U-plane) for VF0
143 - set Vlan tag to 1 (C-plane) for VF1
144
145 [root@5gnr-sc12-xran app]# ip link set enp216s0f0 vf 0 mac 00:11:22:33:44:66 vlan 2
146 [root@5gnr-sc12-xran app]# ip link set enp216s0f0 vf 1 mac 00:11:22:33:44:66 vlan 1
147 [root@5gnr-sc12-xran app]# ip link show
148
149 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
150
151     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
152     
153 2: enp65s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
154
155     link/ether a4:bf:01:3e:6b:79 brd ff:ff:ff:ff:ff:ff
156     
157 3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
158
159     link/ether a4:bf:01:3e:6b:7a brd ff:ff:ff:ff:ff:ff
160     
161 4: enp25s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
162
163     link/ether 90:e2:ba:d3:b2:ec brd ff:ff:ff:ff:ff:ff
164     
165 5: enp129s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000
166
167     link/ether 3c:fd:fe:a8:e0:70 brd ff:ff:ff:ff:ff:ff
168     
169 6: enp129s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000
170
171     link/ether 3c:fd:fe:a8:e0:71 brd ff:ff:ff:ff:ff:ff
172     
173 7: enp216s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
174
175     link/ether 3c:fd:fe:9e:93:68 brd ff:ff:ff:ff:ff:ff
176     
177     vf 0 MAC 00:11:22:33:44:66, vlan 2, spoof checking on, link-state auto, trust off
178     vf 1 MAC 00:11:22:33:44:66, vlan 1, spoof checking on, link-state auto, trust off
179     
180 8: enp25s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000
181
182     link/ether 90:e2:ba:d3:b2:ed brd ff:ff:ff:ff:ff:ff
183     
184 9: enp216s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
185
186     link/ether 3c:fd:fe:9e:93:69 brd ff:ff:ff:ff:ff:ff
187     
188 12: enp216s2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
189
190     link/ether 96:fa:4d:04:4d:87 brd ff:ff:ff:ff:ff:ff
191     
192 13: enp216s2f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
193
194     link/ether a6:67:49:bb:bd:5e brd ff:ff:ff:ff:ff:ff
195
196
197 Hardware Requirements
198 ---------------------
199
200 The following minimum hardware requirements must be met for installation of the FHI Library:
201 *       Wolfpass server according to recommended BOM for FlexRAN such as Intel® Xeon® Skylake Gold 6148 FC-LGA3647 2.4GHz 27.5MB 150W 20 cores (2 sockets) 
202 *       BIOS settings: 
203
204         Intel(R) Virtualization Technology Enabled
205         Intel(R) VT for Directed I/O - Enabled
206         ACS Control - Enabled
207         Coherency Support - Disabled
208         
209 *   Front Haul networking cards:
210
211         Intel® Ethernet Converged Network Adapter XL710-QDA2
212         Intel® Ethernet Converged Network Adapter XXV710-DA2
213         Intel® FPGA Programmable Acceleration Card (Intel® FPGA PAC) N3000
214         
215 *       Back (Mid) Haul networking card can be either
216
217         Intel® Ethernet Connection X722 for 10GBASE-T  
218         Intel® 82599ES 10-Gigabit SFI/SFP+ Network Connection
219         
220 *   Other networking cards capable of HW timestamping for PTP synchronization.
221
222 Note:   Both Back (mid) Haul and Front Haul NIC require support for PTP HW timestamping.
223
224 The recommended configuration for NICs is: 
225
226     ethtool -i enp216s0f0
227     driver: i40e
228     version: 2.8.43
229     firmware-version: 6.80 0x80003cfb 1.2007.0
230     expansion-rom-version:
231     bus-info: 0000:d8:00.0
232     supports-statistics: yes
233     supports-test: yes
234     supports-eeprom-access: yes
235     supports-register-dump: yes
236     supports-priv-flags: yes
237     [root@5gnr-sc12-xran testmac]# ethtool -T enp216s0f0
238     Time stamping parameters for enp216s0f0:
239     Capabilities:
240     
241         hardware-transmit     (SOF_TIMESTAMPING_TX_HARDWARE)
242         software-transmit     (SOF_TIMESTAMPING_TX_SOFTWARE)
243         hardware-receive      (SOF_TIMESTAMPING_RX_HARDWARE)
244         software-receive      (SOF_TIMESTAMPING_RX_SOFTWARE)
245         software-system-clock (SOF_TIMESTAMPING_SOFTWARE)
246         hardware-raw-clock    (SOF_TIMESTAMPING_RAW_HARDWARE)
247         
248     PTP Hardware Clock: 2
249     Hardware Transmit Timestamp Modes:
250     
251         off                   (HWTSTAMP_TX_OFF)
252         on                    (HWTSTAMP_TX_ON)
253         
254     Hardware Receive Filter Modes:
255     
256         none                  (HWTSTAMP_FILTER_NONE)
257         ptpv1-l4-sync         (HWTSTAMP_FILTER_PTP_V1_L4_SYNC)
258         ptpv1-l4-delay-req    (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ)
259         ptpv2-l4-event        (HWTSTAMP_FILTER_PTP_V2_L4_EVENT)
260         ptpv2-l4-sync         (HWTSTAMP_FILTER_PTP_V2_L4_SYNC)
261         ptpv2-l4-delay-req    (HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ)
262         ptpv2-l2-event        (HWTSTAMP_FILTER_PTP_V2_L2_EVENT)
263         ptpv2-l2-sync         (HWTSTAMP_FILTER_PTP_V2_L2_SYNC)
264         ptpv2-l2-delay-req    (HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ)
265         ptpv2-event           (HWTSTAMP_FILTER_PTP_V2_EVENT)
266         ptpv2-sync            (HWTSTAMP_FILTER_PTP_V2_SYNC)
267         ptpv2-delay-req       (HWTSTAMP_FILTER_PTP_V2_DELAY_REQ)
268         
269 PTP Grand Master is required to be available in the network to provide synchronization of both O-DU and RU to GPS time.
270
271 Software Installation and Deployment
272 ------------------------------------
273
274 This section describes the installation of the Front Haul Interface Library on the reference hardware and the validation.
275
276 * start matlab and run gen_test.m with correct Numerology, Bandwidth and number of slots
277
278   copy ant_*.bin  to /xran/app/usecase/mu{X}_{Y}MHz
279   
280         where X is numerology: 0,1,3
281     
282               Y is 5,10,20,100 MHz bandwidth
283
284 * compile xran sample application (Please make sure that the export match your install directories for SDK, ORAN_FH_lib (i.e. XRAN_DIR), google test
285
286     export RTE_SDK=/opt/dpdk-18.08
287     export RTE_TARGET=x86_64-native-linuxapp-icc
288     export XRAN_DIR= /home/npg_wireless-flexran_xran/
289     export export GTEST_ROOT=/opt/gtest/gtest-1.7.0 
290
291 * ./build.sh
292
293     Number of commandline arguments: 0
294     Building xRAN Library
295     
296   LIBXRANSO=0
297   CC ../lib/ethernet/ethdi.o
298   CC ../lib/ethernet/ethernet.o
299   CC ../lib/src/xran_up_api.o
300   CC ../lib/src/xran_sync_api.o
301   CC ../lib/src/xran_timer.o
302   CC ../lib/src/xran_cp_api.o
303   CC ../lib/src/xran_transport.o
304   CC ../lib/src/xran_common.o
305   CC ../lib/src/xran_ul_tables.o
306   CC ../lib/src/xran_frame_struct.o
307   CC ../lib/src/xran_compression.o
308   CC ../lib/src/xran_app_frag.o
309   CC ../lib/src/xran_main.o
310   AR libxran.a
311   INSTALL-LIB libxran.a
312   Building xRAN Test Application
313   CC ../app/src/common.o
314   CC ../app/src/sample-app.o
315   
316 remark #11074: Inlining inhibited by limit max-size
317 remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
318
319   CC ../app/src/config.o
320   LD sample-app
321   INSTALL-APP sample-app
322   INSTALL-MAP sample-app.map
323
324
325 * update Eth port used for XRAN
326
327
328 cat ./run_o_du.sh
329 #! /bin/bash
330
331 ulimit -c unlimited
332 echo 1 > /proc/sys/kernel/core_uses_pid
333
334 grep Huge /proc/meminfo
335 huge_folder="/mnt/huge_bbu"
336 [ -d "$huge_folder" ] || mkdir -p $huge_folder
337 if ! mount | grep $huge_folder; then
338
339  mount none $huge_folder -t hugetlbfs -o rw,mode=0777
340  
341 fi
342
343 #40G
344 ./build/sample-app ./usecase/mu3_100mhz/config_file_o_du.dat  0000:da:02.0 0000:da:02.1
345
346                                                               ^^^^^ ports have to match VF function from step 1.11 (0000:da:02.0 - U-plane  0000:da:02.1 C-plane)
347
348 umount $huge_folder
349 rmdir $huge_folder
350
351
352 cat ./dpdk.sh
353 ...
354 $RTE_SDK/usertools/dpdk-devbind.py --status
355 if [ ${VM_DETECT} == 'HOST' ]; then
356
357     #HOST
358
359     $RTE_SDK/usertools/dpdk-devbind.py --bind=vfio-pci 0000:da:02.0 <<< port has to match VF function from step 1.11
360     $RTE_SDK/usertools/dpdk-devbind.py --bind=vfio-pci 0000:da:02.1 <<< port has to match VF function from step 1.11
361
362         
363 Run
364
365 * Run dpdk.sh to assign port to PMD
366
367 [root@5gnr-sc12-xran app]# ./dpdk.sh
368
369 Network devices using DPDK-compatible driver
370 ============================================
371 0000:da:02.0 'XL710/X710 Virtual Function 154c' drv=vfio-pci unused=i40evf,igb_uio
372 0000:da:02.1 'XL710/X710 Virtual Function 154c' drv=vfio-pci unused=i40evf,igb_uio
373
374
375 * Run XRAN sample app
376
377 setup RU mac address in config_file_o_du.dat for corespondig usecase
378
379 e.g.
380 ./build/sample-app ./usecase/mu3_100mhz/config_file_o_du.dat  0000:da:02.0 0000:da:02.1
381
382 ruMac=00:11:22:33:44:55  #RU VF for RU
383
384 execute O-DU sample app
385
386 [root@sc12-xran-ru-1 app]# ./run_o_du.sh
387 HugePages_Total:      20
388 HugePages_Free:       11
389 HugePages_Rsvd:        0
390 HugePages_Surp:        0
391 Hugepagesize:    1048576 kB
392 Machine is synchronized using PTP!
393 mu_number: 3
394 nDLAbsFrePointA: 27968160
395 nULAbsFrePointA: 27968160
396 nDLBandwidth: 100
397 nULBandwidth: 100
398 nULFftSize: 1024
399 nULFftSize: 1024
400 nFrameDuplexType: 1
401 nTddPeriod: 4
402 sSlotConfig0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0
403 sSlotConfig1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0
404 sSlotConfig2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0
405 sSlotConfig3: 0 2 2 1 1 1 1 1 1 1 1 1 1 1
406 mtu 9600
407 lls-CU MAC address: 00:11:22:33:44:66
408 RU MAC address: 00:11:22:33:44:55
409 numSlots: 40
410 antC0: ./usecase/mu3_100mhz/ant_0.bin
411 antC1: ./usecase/mu3_100mhz/ant_1.bin
412 antC2: ./usecase/mu3_100mhz/ant_2.bin
413 antC3: ./usecase/mu3_100mhz/ant_3.bin
414 antC4: ./usecase/mu3_100mhz/ant_4.bin
415 antC5: ./usecase/mu3_100mhz/ant_5.bin
416 antC6: ./usecase/mu3_100mhz/ant_6.bin
417 antC7: ./usecase/mu3_100mhz/ant_7.bin
418 antC8: ./usecase/mu3_100mhz/ant_8.bin
419 antC9: ./usecase/mu3_100mhz/ant_9.bin
420 antC10: ./usecase/mu3_100mhz/ant_10.bin
421 antC11: ./usecase/mu3_100mhz/ant_11.bin
422 antC12: ./usecase/mu3_100mhz/ant_12.bin
423 antC13: ./usecase/mu3_100mhz/ant_13.bin
424 antC14: ./usecase/mu3_100mhz/ant_14.bin
425 antC15: ./usecase/mu3_100mhz/ant_15.bin
426 Prach enable: 0
427 Prach config index: 81
428 debugStop: 1
429 CPenable: 1
430 cp_vlan_tag: 1
431 up_vlan_tag: 2
432 Tadv_cp_dl: 25
433 T2a_min_cp_dl: 50
434 T2a_max_cp_dl: 140
435 T2a_min_cp_ul: 50
436 T2a_max_cp_ul: 140
437 T2a_min_up: 25
438 T2a_max_up: 140
439 Ta3_min: 20
440 Ta3_max: 32
441 T1a_min_cp_dl: 70
442 T1a_max_cp_dl: 100
443 T1a_min_cp_ul: 60
444 T1a_max_cp_ul: 70
445 T1a_min_up: 35
446 T1a_max_up: 50
447 Ta4_min: 0
448 Ta4_max: 45
449 115 lines of config file has been read.
450 numCCPorts 1 num_eAxc4
451 set O-DU
452 IQ files size is 40 slots
453 app_xran_get_num_rbs: nNumerology[3] nBandwidth[100] nAbsFrePointA[27968160] numRBs[66]
454 app_xran_get_num_rbs: nNumerology[3] nBandwidth[100] nAbsFrePointA[27968160] numRBs[66]
455 Loading file ./usecase/mu3_100mhz/ant_0.bin to  DL IFFT IN IQ Samples in binary format: Reading IQ samples from file: File Size: 1774080 [Buffer Size: 1774080]
456 from addr (0x7f62ad088010) size (1774080) bytes num (1774080)
457 Loading file ./usecase/mu3_100mhz/ant_1.bin to  DL IFFT IN IQ Samples in binary format: Reading IQ samples from file: File Size: 1774080 [Buffer Size: 1774080]
458 from addr (0x7f62aced6010) size (1774080) bytes num (1774080)
459 Loading file ./usecase/mu3_100mhz/ant_2.bin to  DL IFFT IN IQ Samples in binary format: Reading IQ samples from file: File Size: 1774080 [Buffer Size: 1774080]
460 from addr (0x7f62acd24010) size (1774080) bytes num (1774080)
461 Loading file ./usecase/mu3_100mhz/ant_3.bin to  DL IFFT IN IQ Samples in binary format: Reading IQ samples from file: File Size: 1774080 [Buffer Size: 1774080]
462 from addr (0x7f62acb72010) size (1774080) bytes num (1774080)
463 Storing DL IFFT IN IQ Samples in human readable format to file ./logs/o-du-play_ant0.txt: from addr (0x7f62ad088010) size (1774080) IQ num (443520)
464 Storing DL IFFT IN IQ Samples in binary format to file ./logs/o-du-play_ant0.bin: from addr (0x7f62ad088010) size (887040) bytes num (887040)
465 Storing DL IFFT IN IQ Samples in human readable format to file ./logs/o-du-play_ant1.txt: from addr (0x7f62aced6010) size (1774080) IQ num (443520)
466 Storing DL IFFT IN IQ Samples in binary format to file ./logs/o-du-play_ant1.bin: from addr (0x7f62aced6010) size (887040) bytes num (887040)
467 Storing DL IFFT IN IQ Samples in human readable format to file ./logs/o-du-play_ant2.txt: from addr (0x7f62acd24010) size (1774080) IQ num (443520)
468 Storing DL IFFT IN IQ Samples in binary format to file ./logs/o-du-play_ant2.bin: from addr (0x7f62acd24010) size (887040) bytes num (887040)
469 Storing DL IFFT IN IQ Samples in human readable format to file ./logs/o-du-play_ant3.txt: from addr (0x7f62acb72010) size (1774080) IQ num (443520)
470 Storing DL IFFT IN IQ Samples in binary format to file ./logs/o-du-play_ant3.bin: from addr (0x7f62acb72010) size (887040) bytes num (887040)
471 TX: Convert S16 I and S16 Q to network byte order for XRAN Ant: [0]
472 TX: Convert S16 I and S16 Q to network byte order for XRAN Ant: [1]
473 TX: Convert S16 I and S16 Q to network byte order for XRAN Ant: [2]
474 TX: Convert S16 I and S16 Q to network byte order for XRAN Ant: [3]
475 System clock (rdtsc) resolution 1596250371 [Hz]
476 Ticks per us 1596
477 xran_init: MTU 9600
478 xran_ethdi_init_dpdk_io: Calling rte_eal_init:wls -c ffffffff -m5120 --proc-type=auto --file-prefix wls -w 0000:00:00.0
479 EAL: Detected 40 lcore(s)
480 EAL: Detected 2 NUMA nodes
481 EAL: Auto-detected process type: PRIMARY
482 EAL: Multi-process socket /var/run/dpdk/wls/mp_socket
483 EAL: No free hugepages reported in hugepages-2048kB
484 EAL: Probing VFIO support...
485 EAL: VFIO support initialized
486 EAL: PCI device 0000:da:02.0 on NUMA socket 1
487 EAL:   probe driver: 8086:154c net_i40e_vf
488 EAL:   using IOMMU type 1 (Type 1)
489 initializing port 0 for TX, drv=net_i40e_vf
490 Port 0 MAC: 00 11 22 33 44 66
491
492 Checking link status ... done
493 Port 0 Link Up - speed 40000 Mbps - full-duplex
494 EAL: PCI device 0000:da:02.1 on NUMA socket 1
495 EAL:   probe driver: 8086:154c net_i40e_vf
496 initializing port 1 for TX, drv=net_i40e_vf
497 Port 1 MAC: 00 11 22 33 44 66
498
499 Checking link status ... done
500 Port 1 Link Up - speed 40000 Mbps - full-duplex
501 Set debug stop 1
502 FFT Order 10
503 app_xran_get_num_rbs: nNumerology[3] nBandwidth[100] nAbsFrePointA[27968160] numRBs[66]
504 app_xran_get_num_rbs: nNumerology[3] nBandwidth[100] nAbsFrePointA[27968160] numRBs[66]
505 app_xran_cal_nrarfcn: nCenterFreq[28015680] nDeltaFglobal[60] nFoffs[24250080] nNoffs[2016667] nNRARFCN[2079427]
506 DL center freq 28015680 DL NR-ARFCN  2079427
507 app_xran_cal_nrarfcn: nCenterFreq[28015680] nDeltaFglobal[60] nFoffs[24250080] nNoffs[2016667] nNRARFCN[2079427]
508 UL center freq 28015680 UL NR-ARFCN  2079427
509 XRAN front haul xran_mm_init
510 xran_sector_get_instances [0]: CC 0 handle 0xd013380
511 Handle: 0x5a07cb8 Instance: 0xd013380
512 init_xran [0]: CC 0 handle 0xd013380
513 Sucess xran_mm_init
514 nSectorNum 1
515 nSectorIndex[0] = 0
516 [ handle 0xd013380 0 0 ] [nPoolIndex 0] nNumberOfBuffers 4480 nBufferSize 3328
517 CC:[ handle 0xd013380 ru 0 cc_idx 0 ] [nPoolIndex 0] mb pool 0x24a7ad440
518 nSectorIndex[0] = 0
519 [ handle 0xd013380 0 0 ] [nPoolIndex 1] nNumberOfBuffers 4480 nBufferSize 2216
520 CC:[ handle 0xd013380 ru 0 cc_idx 0 ] [nPoolIndex 1] mb pool 0x24956d100
521 [ handle 0xd013380 0 0 ] [nPoolIndex 2] nNumberOfBuffers 4480 nBufferSize 3328
522 CC:[ handle 0xd013380 ru 0 oolIndex 2] mb pool 0x248818dc0
523 [ handle 0xd013380 0 0 ] [nPoolIndex 3] nNumberOfBuffers 4480 nBufferSize 2216
524 CC:[ handle 0xd013380 ru 0 cc_idx 0 ] [nPoolIndex 3] mb pool 0x2475d8a80
525 [ handle 0xd013380 0 0 ] [nPoolIndex 4] nNumberOfBuffers 4480 nBufferSize 8192
526 CC:[ handle 0xd013380 ru 0 cc_idx 0 ] [nPoolIndex 4] mb pool 0x246884740
527 @@@ NB cell 0 DL NR-ARFCN  0,DL phase comp flag 0 UL NR-ARFCN  0,UL phase comp flag 0
528 init_xran_iq_content
529 xRAN open PRACH config: Numerology 3 ConfIdx 81, preambleFmrt 6 startsymb 7, numSymbol 6, occassionsInPrachSlot 1
530 PRACH: x 1 y[0] 0, y[1] 0 prach slot: 3.. 5 .... 7 .... 9 .... 11 .... 13 ..
531
532 PRACH start symbol 7 lastsymbol 12
533 xran_cp_init_sectiondb:Allocation Size for Section DB : 128 (1x8x16)
534 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
535 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
536 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
537 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
538 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
539 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
540 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
541 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
542 xran_cp_init_sectiondb:Allocation Size for Section DB : 128 (1x8x16)
543 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
544 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
545 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
546 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
547 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
548 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
549 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
550 xran_cp_init_sectiondb:Allocation Size for list : 1848 (28x66)
551 xran_open: interval_us=125
552 nSlotNum[0] : numDlSym[14] numGuardSym[0] numUlSym[0] XRAN_SLOT_TYPE_DL
553
554             numDlSlots[1] numUlSlots[0] numSpSlots[0] numSpDlSlots[0] numSpUlSlots[0]
555             
556 nSlotNum[1] : numDlSym[14] numGuardSym[0] numUlSym[0] XRAN_SLOT_TYPE_DL
557
558             numDlSlots[2] numUlSlots[0] numSpSlots[0] numSpDlSlots[0] numSpUlSlots[0]
559             
560 nSlotNum[2] : numDlSym[14] numGuardSym[0] numUlSym[0] XRAN_SLOT_TYPE_DL
561
562             numDlSlots[3] numUlSlots[0] numSpSlots[0] numSpDlSlots[0] numSpUlSlots[0]
563             
564 nSlotNum[3] : numDlSym[1] numGuardSym[2] numUlSym[11] XRAN_SLOT_TYPE_SP
565
566             numDlSlots[3] numUlSlots[0] numSpSlots[1] numSpDlSlots[1] numSpUlSlots[1]
567             
568 xran_fs_set_slot_type: nPhyInstanceId[0] nFrameDuplexType[1], nTddPeriod[4]
569 DLRate[1.000000] ULRate[0.250000]
570 SlotPattern:
571 Slot:   0    1    2    3
572
573     0   DL   DL   DL   SP
574
575 xran_timing_source_thread [CPU  7] [PID: 292331]
576 MLogOpen: filename(mlog-o-du.bin) mlogSubframes (0), mlogCores(32), mlogSize(0) mlog_mask (-1)
577
578     mlogSubframes (256), mlogCores(32), mlogSize(7168)
579     
580     localMLogTimerInit
581     
582 lls-CU: thread_run start time: 06/10/19 21:09:37.000000028 UTC [125]
583 Start C-plane DL 25 us after TTI  [trigger on sym 3]
584 Start C-plane UL 55 us after TTI  [trigger on sym 7]
585 Start U-plane DL 50 us before OTA [offset  in sym -6]
586 Start U-plane UL 45 us OTA        [offset  in sym 6]
587 C-plane to U-plane delay 25 us after TTI
588 Start Sym timer 8928 ns
589 interval_us 125
590
591         System clock (CLOCK_REALTIME)  resolution 1000037471 [Hz]
592         Ticks per us 1000
593         
594     MLog Storage: 0x7f6298487100 -> 0x7f629bc88d20 [ 58727456 bytes ]
595     localMLogFreqReg: 1000. Storing: 1000
596     Mlog Open successful
597
598
599 MLog Info: virt=0x00007f6298487100 size=58727456
600
601 Start XRAN traffic
602 +---------------------------------------+
603 | Press 1 to start 5G NR XRAN traffic   |
604 | Press 2 reserved for future use       |
605 | Press 3 to quit                       |
606 +---------------------------------------+
607 rx_counter 0 tx_counter 1376072
608 rx_counter 0 tx_counter 1720112
609 rx_counter 0 tx_counter 2064161
610 rx_counter 0 tx_counter 2408212
611 rx_counter 0 tx_counter 2752232
612
613 type 3 to stop
614 3
615 rx_counter 0 tx_counter 3096264
616 Stop XRAN traffic
617 get_xran_iq_content
618 Closing timing source thread...
619 Closing l1 app... Ending all threads...
620 MLogPrint: ext_filename((null).bin)
621
622     Opening MLog File: mlog-o-du-c0.bin
623     MLog file mlog-o-du-c0.bin closed
624     Mlog Print successful
625
626 Failed at  xran_mm_destroy, status -2
627 Dump IQs...
628 RX: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [0]
629 RX: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [1]
630 RX: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [2]
631 RX: Convert S16 I and S16 Q to cpu byte order from XRAN Ant: [3]
632 Storing UL FFT OUT IQ Samples in human readable format to file ./logs/o-du-rx_log_ant0.txt: from addr (0x7f62ac9c0010) size (1774080) IQ num (443520)
633 Storing UL FFT OUT IQ Samples in binary format to file ./logs/o-du-rx_log_ant0.bin: from addr (0x7f62ac9c0010) size (887040) bytes num (887040)
634 Storing UL FFT OUT IQ Samples in human readable format to file ./logs/o-du-rx_log_ant1.txt: from addr (0x7f62ac80e010) size (1774080) IQ num (443520)
635 Storing UL FFT OUT IQ Samples in binary format to file ./logs/o-du-rx_log_ant1.bin: from addr (0x7f62ac80e010) size (887040) bytes num (887040)
636 Storing UL FFT OUT IQ Samples in human readable format to file ./logs/o-du-rx_log_ant2.txt: from addr (0x7f62ac65c010) size (1774080) IQ num (443520)
637 Storing UL FFT OUT IQ Samples in binary format to file ./logs/o-du-rx_log_ant2.bin: from addr (0x7f62ac65c010) size (887040) bytes num (887040)
638 Storing UL FFT OUT IQ Samples in human readable format to file ./logs/o-du-rx_log_ant3.txt: from addr (0x7f62ac4aa010) size (1774080) IQ num (443520)
639 Storing UL FFT OUT IQ Samples in binary format to file ./logs/o-du-rx_log_ant3.bin: from addr (0x7f62ac4aa010) size (887040) bytes num (887040)
640
641
642 References
643 ----------
644 * Front Haul Library Readme file
645
646
647
648