Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG-RAN
Commits
2f313c9a
Commit
2f313c9a
authored
Feb 26, 2024
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/ci-replace-nrmodule2' into integration_2024_w08
parents
072d65a5
b284b093
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
255 additions
and
49 deletions
+255
-49
ci-scripts/ci_ueinfra.yaml
ci-scripts/ci_ueinfra.yaml
+5
-7
ci-scripts/mbim_scripts/mbim-set-ip.sh
ci-scripts/mbim_scripts/mbim-set-ip.sh
+221
-0
ci-scripts/mbim_scripts/start_quectel_mbim.sh
ci-scripts/mbim_scripts/start_quectel_mbim.sh
+10
-0
ci-scripts/mbim_scripts/stop_quectel_mbim.sh
ci-scripts/mbim_scripts/stop_quectel_mbim.sh
+3
-0
ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml
ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml
+8
-21
ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml
ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml
+8
-21
No files found.
ci-scripts/ci_ueinfra.yaml
View file @
2f313c9a
...
...
@@ -9,16 +9,14 @@ idefix:
MTU
:
1500
Trace
:
True
LogStore
:
/media/usb-drive/ci_qlogs
nrmodule2_quectel
:
Host
:
nrmodule2
InitScript
:
sudo stdbuf -oL /home/nrmodule2/quectel-CM/quectel-CM -4 -s oai.ipv4 &> /tmp/quecel-cm.log &
TermScript
:
sudo -S killall --signal SIGKILL quectel-CM
AttachScript
:
sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 wup
DetachScript
:
sudo python3 ci_ctl_qtel.py /dev/ttyUSB2 detach
up2
:
Host
:
up2
AttachScript
:
sudo /opt/mbim/start_quectel_mbim.sh
DetachScript
:
sudo /opt/mbim/stop_quectel_mbim.sh
NetworkScript
:
ip a show dev wwan0
IF
:
wwan0
MTU
:
1500
LogStore
:
/media/ci_qlogs
adb_ue_1
:
Host
:
nano
...
...
ci-scripts/mbim_scripts/mbim-set-ip.sh
0 → 100644
View file @
2f313c9a
#!/bin/bash
# Modified by Karim Boutiba (karim.boutiba@eurecom.fr)
# mbim-set-ip script version 1.1
# Modified mbimcli IPv4 IPv6 parsing script based on parts of project https://github.com/grandcentrix/thinkpad-x260-modem-scripts
# Licensed under the Apache License, Version 2.0
# Modified by Jörgen Storvist, Techship http://www.techship.com
# Further details in the Techship FAQ sections on using MBIM and setting correct modes in cellular modules:
# https://techship.com/faq/how-to-set-up-a-simple-data-connection-over-the-mbim-interface-using-libmbim-and-driver-cdc-mbim-in-linux/
#
# Installation & Usage:
#
# Verify that the cellular module is exposing the MBIM interface over the USB interface.
# Use mbimcli to check status for the cellular connection and enter the PIN code if necessary.
# Configure mbim-network.conf and place in /etc/ (example file included in the archive, check link bellow for details).
# https://www.freedesktop.org/software/libmbim/man/latest/mbim-network.1.html
# Start the mbim data connection with command:
# mbim-network <MBIM-INTERFACE> start
# Ensure execution of mbim-set-ip script with sufficient system priviledges
# ./mbim-set-ip <MBIM-INTERFACE> <NETWORK-INTERFACE>
#
# Examples:
# mbimcli -d /dev/cdc-wdm0 -p --query-device-caps
# mbimcli -d /dev/cdc-wdm0 -p --enter-pin=1234
# mbim-network /dev/cdc-wdm0 start
# ./mbim-set-ip /dev/cdc-wdm0 wwan0
#
# You should now be able to ping over the data connection.
# IP v4 ping: (only if IPv4 address was acquired from cellular module)
# ping -4 -I wwan0 8.8.8.8
# ping -4 -I wwan0 google.com
# IP v6 ping: (only if IPv6 address was acquired from cellular module)
# ping -6 -I wwan0 2001:4860:4860::8888
# ping -6 -I wwan0 google.com
#
# The script relies on the linux tools mbimcli, ip, systemd-resolve
# (Tested on libmbim 1.16.0 running on Ubuntu 18.10 cosmic (development) with kernel version 4.15.0)
# Details on mbim-network and mbimcli
# https://www.freedesktop.org/software/libmbim/man/latest/mbim-network.1.html
# https://www.freedesktop.org/software/libmbim/man/latest/mbimcli.1.html
ipv4_addresses
=()
ipv4_gateway
=
""
ipv4_dns
=()
ipv4_mtu
=
""
ipv6_addresses
=()
ipv6_gateway
=
""
ipv6_dns
=()
ipv6_mtu
=
""
#CONTROL-IFACE
CONTROLDEV
=
"
$1
"
#WWAN-IFACE
DEV
=
"
$2
"
SESSION
=
"
$3
"
echo
$SESSION
echo
"Requesting IPv4 and IPv6 information through mbimcli proxy:"
mbimcli
-d
$CONTROLDEV
-p
--query-ip-configuration
IPDATA
=
$(
mbimcli
-d
$CONTROLDEV
-p
--query-ip-configuration
=
$SESSION
)
function
parse_ip
{
# IP [0]: '10.134.203.177/30'
local
line_re
=
"IP
\[
([0-9]+)
\]
: '(.+)'"
local
input
=
$1
if
[[
$input
=
~
$line_re
]]
;
then
local
ip_cnt
=
${
BASH_REMATCH
[1]
}
local
ip
=
${
BASH_REMATCH
[2]
}
fi
echo
"
$ip
"
}
function
parse_gateway
{
# Gateway: '10.134.203.178'
local
line_re
=
"Gateway: '(.+)'"
local
input
=
$1
if
[[
$input
=
~
$line_re
]]
;
then
local
gw
=
${
BASH_REMATCH
[1]
}
fi
echo
"
$gw
"
}
function
parse_dns
{
# DNS [0]: '10.134.203.177/30'
local
line_re
=
"DNS
\[
([0-9]+)
\]
: '(.+)'"
local
input
=
$1
if
[[
$input
=
~
$line_re
]]
;
then
local
dns_cnt
=
${
BASH_REMATCH
[1]
}
local
dns
=
${
BASH_REMATCH
[2]
}
fi
echo
"
$dns
"
}
function
parse_mtu
{
# MTU: '1500'
local
line_re
=
"MTU: '([0-9]+)'"
local
input
=
$1
if
[[
$input
=
~
$line_re
]]
;
then
local
mtu
=
${
BASH_REMATCH
[1]
}
fi
echo
"
$mtu
"
}
while
read
-r
line
||
[[
-n
"
$line
"
]]
;
do
[
-z
"
$line
"
]
&&
continue
case
"
$line
"
in
*
"IPv4 configuration available: 'none'"
*
)
state
=
"start"
continue
;;
*
"IPv4 configuration available"
*
)
state
=
"ipv4"
continue
;;
*
"IPv6 configuration available: 'none'"
*
)
state
=
"start"
continue
;;
*
"IPv6 configuration available"
*
)
state
=
"ipv6"
continue
;;
*
)
;;
esac
case
"
$state
"
in
"ipv4"
)
case
"
$line
"
in
*
"IP"
*
)
row
=
$(
parse_ip
"
$line
"
)
ipv4_addresses+
=(
"
$row
"
)
continue
;;
*
"Gateway"
*
)
row
=
$(
parse_gateway
"
$line
"
)
ipv4_gateway
=
"
$row
"
continue
;;
*
"DNS"
*
)
row
=
$(
parse_dns
"
$line
"
)
ipv4_dns+
=(
"
$row
"
)
continue
;;
*
"MTU"
*
)
row
=
$(
parse_mtu
"
$line
"
)
ipv4_mtu
=
"
$row
"
continue
;;
*
)
;;
esac
;;
"ipv6"
)
case
"
$line
"
in
*
"IP"
*
)
row
=
$(
parse_ip
"
$line
"
)
ipv6_addresses+
=(
"
$row
"
)
continue
;;
*
"Gateway"
*
)
row
=
$(
parse_gateway
"
$line
"
)
ipv6_gateway
=
"
$row
"
continue
;;
*
"DNS"
*
)
row
=
$(
parse_dns
"
$line
"
)
ipv6_dns+
=(
"
$row
"
)
continue
;;
*
"MTU"
*
)
row
=
$(
parse_mtu
"
$line
"
)
ipv6_mtu
=
"
$row
"
continue
;;
*
)
continue
;;
esac
;;
*
)
continue
;;
esac
done
<<<
"
$IPDATA
"
execfile
=
$(
mktemp
)
printf
"ip link set
$DEV
down
\n
"
>>
$execfile
printf
"ip addr flush dev
$DEV
\n
"
>>
$execfile
printf
"ip -6 addr flush dev
$DEV
\n
"
>>
$execfile
printf
"ip link set
$DEV
up
\n
"
>>
$execfile
if
[[
"
${#
ipv4_addresses
[@]
}
"
>
0
]]
;
then
printf
"ip addr add %s dev
$DEV
broadcast +
\n
"
"
${
ipv4_addresses
[@]
}
"
>>
$execfile
printf
"ip route add 192.168.61.0/24 via
$ipv4_gateway
dev
$DEV
\n
"
>>
$execfile
if
[
-n
"
$ipv4_mtu
"
]
;
then
printf
"ip link set mtu
$ipv4_mtu
dev
$DEV
\n
"
>>
$execfile
fi
if
[[
"
${#
ipv4_dns
[@]
}
"
>
0
]]
;
then
printf
"resolvectl -4 --interface=
$DEV
--set-dns=%s
\n
"
"
${
ipv4_dns
[@]
}
"
>>
$execfile
fi
fi
if
[[
"
${#
ipv6_addresses
[@]
}
"
>
0
]]
;
then
printf
"ip -6 addr add %s dev
$DEV
\n
"
"
${
ipv6_addresses
[@]
}
"
>>
$execfile
printf
"ip -6 route add default via
$ipv6_gateway
dev
$DEV
\n
"
>>
$execfile
if
[
-n
"
$ipv6_mtu
"
]
;
then
printf
"ip -6 link set mtu
$ipv6_mtu
dev
$DEV
\n
"
>>
$execfile
fi
if
[[
"
${#
ipv6_dns
[@]
}
"
>
0
]]
;
then
printf
"systemd-resolve -6 --interface=
$DEV
--set-dns=%s
\n
"
"
${
ipv6_dns
[@]
}
"
>>
$execfile
fi
fi
echo
"Applying the following network interface configurations:"
cat
$execfile
bash
$execfile
rm
$execfile
echo
"Network interface configurations completed."
ci-scripts/mbim_scripts/start_quectel_mbim.sh
0 → 100644
View file @
2f313c9a
set
-x
sudo
mbimcli
-p
-d
/dev/cdc-wdm0
--set-radio-state
=
off
sleep
1
sudo
mbimcli
-p
-d
/dev/cdc-wdm0
--set-radio-state
=
on
sleep
2
sudo
mbimcli
-p
-d
/dev/cdc-wdm0
--attach-packet-service
sudo
mbimcli
-p
-d
/dev/cdc-wdm0
--connect
=
session-id
=
0,access-string
=
oai.ipv4,ip-type
=
ipv4
sudo
/opt/mbim/mbim-set-ip.sh /dev/cdc-wdm0 wwan0 0
ci-scripts/mbim_scripts/stop_quectel_mbim.sh
0 → 100644
View file @
2f313c9a
set
-x
sudo
mbimcli
-p
-d
/dev/cdc-wdm0
--set-radio-state
=
off
ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm1.xml
View file @
2f313c9a
...
...
@@ -30,7 +30,7 @@
111111
100000
0100
0
0
0100
1
0
030101
010001
000001
...
...
@@ -39,7 +39,6 @@
070000
070001
010010
010002
030201
</TestCaseRequestedList>
...
...
@@ -80,28 +79,16 @@
<idle_sleep_time_in_sec>
5
</idle_sleep_time_in_sec>
</testCase>
<testCase
id=
"010000"
>
<class>
Initialize_UE
</class>
<desc>
Initialize Quectel
</desc>
<id>
nrmodule2_quectel
</id>
</testCase>
<testCase
id=
"010002"
>
<class>
Terminate_UE
</class>
<desc>
Terminate Quectel
</desc>
<id>
nrmodule2_quectel
</id>
</testCase>
<testCase
id=
"010001"
>
<class>
Attach_UE
</class>
<desc>
Attach UE
</desc>
<id>
nrmodule2_quectel
</id>
<id>
up2
</id>
</testCase>
<testCase
id=
"050000"
>
<class>
Ping
</class>
<desc>
Ping: 20 pings
</desc>
<id>
nrmodule2_quectel
</id>
<id>
up2
</id>
<ping_args>
-c 20 %cn_ip%
</ping_args>
<ping_packetloss_threshold>
1
</ping_packetloss_threshold>
<ping_rttavg_threshold>
60
</ping_rttavg_threshold>
...
...
@@ -110,8 +97,8 @@
<testCase
id=
"050001"
>
<class>
Ping
</class>
<desc>
Ping: 100 pings, size 1024
</desc>
<id>
nrmodule2_quectel
</id>
<ping_args>
-c 100 -s 1024 -i 0
,
2 %cn_ip%
</ping_args>
<id>
up2
</id>
<ping_args>
-c 100 -s 1024 -i 0
.
2 %cn_ip%
</ping_args>
<ping_packetloss_threshold>
1
</ping_packetloss_threshold>
<ping_rttavg_threshold>
60
</ping_rttavg_threshold>
</testCase>
...
...
@@ -121,7 +108,7 @@
<desc>
iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 26M -t 60
</iperf_args>
<direction>
DL
</direction>
<id>
nrmodule2_quectel
</id>
<id>
up2
</id>
<iperf_packetloss_threshold>
5
</iperf_packetloss_threshold>
<iperf_bitrate_threshold>
95
</iperf_bitrate_threshold>
<iperf_profile>
single-ue
</iperf_profile>
...
...
@@ -132,7 +119,7 @@
<desc>
iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 7M -t 60
</iperf_args>
<direction>
UL
</direction>
<id>
nrmodule2_quectel
</id>
<id>
up2
</id>
<iperf_packetloss_threshold>
5
</iperf_packetloss_threshold>
<iperf_bitrate_threshold>
95
</iperf_bitrate_threshold>
<iperf_profile>
single-ue
</iperf_profile>
...
...
@@ -141,7 +128,7 @@
<testCase
id=
"010010"
>
<class>
Detach_UE
</class>
<desc>
Detach UE
</desc>
<id>
nrmodule2_quectel
</id>
<id>
up2
</id>
</testCase>
<testCase
id=
"030201"
>
...
...
ci-scripts/xml_files/container_lte_n3xx_tdd_2x2_tm2.xml
View file @
2f313c9a
...
...
@@ -30,7 +30,7 @@
111111
100000
0100
0
0
0100
1
0
030101
010001
000001
...
...
@@ -39,7 +39,6 @@
070000
070001
010010
010002
030201
</TestCaseRequestedList>
...
...
@@ -80,28 +79,16 @@
<idle_sleep_time_in_sec>
5
</idle_sleep_time_in_sec>
</testCase>
<testCase
id=
"010000"
>
<class>
Initialize_UE
</class>
<desc>
Initialize Quectel
</desc>
<id>
nrmodule2_quectel
</id>
</testCase>
<testCase
id=
"010002"
>
<class>
Terminate_UE
</class>
<desc>
Terminate Quectel
</desc>
<id>
nrmodule2_quectel
</id>
</testCase>
<testCase
id=
"010001"
>
<class>
Attach_UE
</class>
<desc>
Attach UE
</desc>
<id>
nrmodule2_quectel
</id>
<id>
up2
</id>
</testCase>
<testCase
id=
"050000"
>
<class>
Ping
</class>
<desc>
Ping: 20 pings
</desc>
<id>
nrmodule2_quectel
</id>
<id>
up2
</id>
<ping_args>
-c 20 %cn_ip%
</ping_args>
<ping_packetloss_threshold>
1
</ping_packetloss_threshold>
<ping_rttavg_threshold>
60
</ping_rttavg_threshold>
...
...
@@ -110,8 +97,8 @@
<testCase
id=
"050001"
>
<class>
Ping
</class>
<desc>
Ping: 100 pings, size 1024
</desc>
<id>
nrmodule2_quectel
</id>
<ping_args>
-c 100 -s 1024 -i 0
,
2 %cn_ip%
</ping_args>
<id>
up2
</id>
<ping_args>
-c 100 -s 1024 -i 0
.
2 %cn_ip%
</ping_args>
<ping_packetloss_threshold>
1
</ping_packetloss_threshold>
<ping_rttavg_threshold>
60
</ping_rttavg_threshold>
</testCase>
...
...
@@ -121,7 +108,7 @@
<desc>
iperf (DL/26Mbps/UDP)(60 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 1M -t 60
</iperf_args>
<direction>
DL
</direction>
<id>
nrmodule2_quectel
</id>
<id>
up2
</id>
<iperf_packetloss_threshold>
5
</iperf_packetloss_threshold>
<iperf_bitrate_threshold>
95
</iperf_bitrate_threshold>
<iperf_profile>
single-ue
</iperf_profile>
...
...
@@ -132,7 +119,7 @@
<desc>
iperf (UL/7Mbps/UDP)(60 sec)(single-ue profile)
</desc>
<iperf_args>
-u -b 7M -t 60
</iperf_args>
<direction>
UL
</direction>
<id>
nrmodule2_quectel
</id>
<id>
up2
</id>
<iperf_packetloss_threshold>
5
</iperf_packetloss_threshold>
<iperf_bitrate_threshold>
95
</iperf_bitrate_threshold>
<iperf_profile>
single-ue
</iperf_profile>
...
...
@@ -141,7 +128,7 @@
<testCase
id=
"010010"
>
<class>
Detach_UE
</class>
<desc>
Detach UE
</desc>
<id>
nrmodule2_quectel
</id>
<id>
up2
</id>
</testCase>
<testCase
id=
"030201"
>
...
...
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