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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
b284b093
Commit
b284b093
authored
Feb 15, 2024
by
Jaroslava Fiedlerova
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replace nrmodule2 by up2 in LTE 2x2 pipeline, use mbim scripts
parent
3f3a9869
Changes
6
Show 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 @
b284b093
...
...
@@ -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 @
b284b093
#!/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 @
b284b093
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 @
b284b093
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 @
b284b093
...
...
@@ -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 @
b284b093
...
...
@@ -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