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
alex037yang
OpenXG-RAN
Commits
566fd451
Commit
566fd451
authored
Jun 18, 2016
by
Rohit Gupta
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature-34-test_framework' into develop
parents
031e6a02
7f4ec782
Changes
4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
196 additions
and
56 deletions
+196
-56
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+34
-34
cmake_targets/autotests/tools/configure_cots_bandrich_ue.py
cmake_targets/autotests/tools/configure_cots_bandrich_ue.py
+28
-7
cmake_targets/autotests/tools/configure_usrpb210.py
cmake_targets/autotests/tools/configure_usrpb210.py
+108
-0
cmake_targets/tools/build_helper
cmake_targets/tools/build_helper
+26
-15
No files found.
cmake_targets/autotests/test_case_list.xml
View file @
566fd451
This diff is collapsed.
Click to expand it.
cmake_targets/autotests/tools/configure_cots_bandrich_ue.py
View file @
566fd451
...
@@ -33,6 +33,7 @@
...
@@ -33,6 +33,7 @@
import
time
import
time
import
serial
import
serial
import
os
import
os
from
socket
import
AF_INET
from
pyroute2
import
IPRoute
from
pyroute2
import
IPRoute
import
sys
import
sys
import
re
import
re
...
@@ -62,7 +63,7 @@ def find_open_port():
...
@@ -62,7 +63,7 @@ def find_open_port():
while
True
:
while
True
:
if
os
.
path
.
exists
(
serial_port
)
==
True
:
if
os
.
path
.
exists
(
serial_port
)
==
True
:
return
serial_port
return
serial_port
for
port
in
range
(
2
,
100
):
for
port
in
range
(
0
,
100
):
serial_port_tmp
=
'/dev/ttyUSB'
+
str
(
port
)
serial_port_tmp
=
'/dev/ttyUSB'
+
str
(
port
)
if
os
.
path
.
exists
(
serial_port_tmp
)
==
True
:
if
os
.
path
.
exists
(
serial_port_tmp
)
==
True
:
print
'New Serial Port : '
+
serial_port_tmp
print
'New Serial Port : '
+
serial_port_tmp
...
@@ -97,11 +98,12 @@ signal.signal(signal.SIGINT, signal_handler)
...
@@ -97,11 +98,12 @@ signal.signal(signal.SIGINT, signal_handler)
#ser.isOpen()
#ser.isOpen()
class
pppThread
(
threading
.
Thread
):
class
pppThread
(
threading
.
Thread
):
def
__init__
(
self
,
threadID
,
name
,
counter
):
def
__init__
(
self
,
threadID
,
name
,
counter
,
port
):
threading
.
Thread
.
__init__
(
self
)
threading
.
Thread
.
__init__
(
self
)
self
.
threadID
=
threadID
self
.
threadID
=
threadID
self
.
name
=
name
self
.
name
=
name
self
.
counter
=
counter
self
.
counter
=
counter
self
.
port
=
port
def
run
(
self
):
def
run
(
self
):
print
"Starting "
+
self
.
name
print
"Starting "
+
self
.
name
#Here we keep running pppd thread in indefinite loop as this script terminates sometimes
#Here we keep running pppd thread in indefinite loop as this script terminates sometimes
...
@@ -111,6 +113,10 @@ class pppThread (threading.Thread):
...
@@ -111,6 +113,10 @@ class pppThread (threading.Thread):
print
"Starting wvdial now..."
print
"Starting wvdial now..."
print
'exit_flag = '
+
str
(
exit_flag
)
print
'exit_flag = '
+
str
(
exit_flag
)
send_command
(
'AT+CGATT=1'
,
'OK'
,
300
)
send_command
(
'AT+CGATT=1'
,
'OK'
,
300
)
#Now we do search and replace on wvdial config file
cmd
=
"sed -i
\"
s%Modem = .*%Modem = "
+
self
.
port
+
"%g
\"
"
+
bandrich_ppd_config
os
.
system
(
cmd
)
os
.
system
(
'wvdial -C '
+
bandrich_ppd_config
+
''
)
os
.
system
(
'wvdial -C '
+
bandrich_ppd_config
+
''
)
if
exit_flag
==
1
:
if
exit_flag
==
1
:
print
"Exit flag set to true. Exiting pppThread now"
print
"Exit flag set to true. Exiting pppThread now"
...
@@ -146,6 +152,7 @@ def send_command (cmd, response, timeout):
...
@@ -146,6 +152,7 @@ def send_command (cmd, response, timeout):
def
start_ue
()
:
def
start_ue
()
:
#print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
#print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
global
serial_port
timeout
=
60
#timeout in seconds
timeout
=
60
#timeout in seconds
send_command
(
'AT'
,
'OK'
,
timeout
)
send_command
(
'AT'
,
'OK'
,
timeout
)
send_command
(
'AT+CFUN=1'
,
'OK'
,
timeout
)
send_command
(
'AT+CFUN=1'
,
'OK'
,
timeout
)
...
@@ -153,23 +160,33 @@ def start_ue () :
...
@@ -153,23 +160,33 @@ def start_ue () :
send_command
(
'AT+CGATT=1'
,
'OK'
,
300
)
send_command
(
'AT+CGATT=1'
,
'OK'
,
300
)
#os.system('wvdial -C ' + bandrich_ppd_config + ' &' )
#os.system('wvdial -C ' + bandrich_ppd_config + ' &' )
thread_ppp
=
pppThread
(
1
,
"ppp_thread"
,
1
)
thread_ppp
=
pppThread
(
1
,
"ppp_thread"
,
1
,
port
=
serial_port
)
thread_ppp
.
start
()
thread_ppp
.
start
()
iface
=
'ppp0'
#
iface='ppp0'
while
1
:
while
1
:
time
.
sleep
(
2
)
time
.
sleep
(
2
)
iface
=
''
#Now we check if ppp0 interface is up and running
#Now we check if ppp0 interface is up and running
try
:
try
:
if
exit_flag
==
1
:
if
exit_flag
==
1
:
break
break
cmd
=
"ifconfig -a | sed 's/[
\t
].*//;/^$/d' | grep ppp"
status
,
out
=
commands
.
getstatusoutput
(
cmd
)
iface
=
out
ip
=
IPRoute
()
ip
=
IPRoute
()
idx
=
ip
.
link_lookup
(
ifname
=
iface
)[
0
]
idx
=
ip
.
link_lookup
(
ifname
=
iface
)[
0
]
os
.
system
(
'route add '
+
gw
+
' ppp0'
)
print
"iface = "
+
iface
print
" Setting route now..."
#os.system("status=1; while [ \"$status\" -ne \"0\" ]; do route add -host " + gw + ' ' + iface + " ; status=$? ;sleep 1; echo \"status = $status\" ; sleep 2; done ")
os
.
system
(
'route add -host '
+
gw
+
' '
+
iface
+
' 2> /dev/null'
)
#ip.route('add', dst=gw, oif=iface)
os
.
system
(
'sleep 5'
)
os
.
system
(
'sleep 5'
)
os
.
system
(
'ping '
+
gw
)
#print "Starting ping now..."
break
os
.
system
(
'ping -c 1 '
+
gw
)
#break
except
Exception
,
e
:
except
Exception
,
e
:
error
=
' Interface '
+
iface
+
'does not exist...'
error
=
' Interface '
+
iface
+
'does not exist...'
error
=
error
+
' In function: '
+
sys
.
_getframe
().
f_code
.
co_name
+
': *** Caught exception: '
+
str
(
e
.
__class__
)
+
" : "
+
str
(
e
)
error
=
error
+
' In function: '
+
sys
.
_getframe
().
f_code
.
co_name
+
': *** Caught exception: '
+
str
(
e
.
__class__
)
+
" : "
+
str
(
e
)
...
@@ -206,6 +223,7 @@ def reset_ue():
...
@@ -206,6 +223,7 @@ def reset_ue():
os
.
system
(
cmd
+
" ; sleep 15"
)
os
.
system
(
cmd
+
" ; sleep 15"
)
cmd
=
"sudo sh -c
\"
echo 1 > "
+
usb_dir
+
"/authorized
\"
"
cmd
=
"sudo sh -c
\"
echo 1 > "
+
usb_dir
+
"/authorized
\"
"
os
.
system
(
cmd
+
" ; sleep 30"
)
os
.
system
(
cmd
+
" ; sleep 30"
)
find_open_port
()
stop_ue
()
stop_ue
()
i
=
1
i
=
1
...
@@ -213,14 +231,17 @@ gw='192.172.0.1'
...
@@ -213,14 +231,17 @@ gw='192.172.0.1'
while
i
<
len
(
sys
.
argv
):
while
i
<
len
(
sys
.
argv
):
arg
=
sys
.
argv
[
i
]
arg
=
sys
.
argv
[
i
]
if
arg
==
'--start-ue'
:
if
arg
==
'--start-ue'
:
print
"Turning on UE..."
find_open_port
()
find_open_port
()
print
'Using Serial port : '
+
serial_port
print
'Using Serial port : '
+
serial_port
start_ue
()
start_ue
()
elif
arg
==
'--stop-ue'
:
elif
arg
==
'--stop-ue'
:
print
"Turning off UE..."
find_open_port
()
find_open_port
()
print
'Using Serial port : '
+
serial_port
print
'Using Serial port : '
+
serial_port
stop_ue
()
stop_ue
()
elif
arg
==
'--reset-ue'
:
elif
arg
==
'--reset-ue'
:
print
"Resetting UE..."
find_open_port
()
find_open_port
()
reset_ue
()
reset_ue
()
elif
arg
==
'-gw'
:
elif
arg
==
'-gw'
:
...
...
cmake_targets/autotests/tools/configure_usrpb210.py
0 → 100755
View file @
566fd451
#!/usr/bin/python
#******************************************************************************
# OpenAirInterface
# Copyright(c) 1999 - 2014 Eurecom
# OpenAirInterface is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# OpenAirInterface is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with OpenAirInterface.The full GNU General Public License is
# included in this distribution in the file called "COPYING". If not,
# see <http://www.gnu.org/licenses/>.
# Contact Information
# OpenAirInterface Admin: openair_admin@eurecom.fr
# OpenAirInterface Tech : openair_tech@eurecom.fr
# OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
# Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
# *******************************************************************************/
# \author Navid Nikaein, Rohit Gupta
import
time
import
serial
import
os
from
pyroute2
import
IPRoute
import
sys
import
re
import
threading
import
signal
import
traceback
import
os
import
commands
# configure the serial connections (the parameters differs on the device you are connecting to)
#First we find an open port to work with
serial_port
=
''
openair_dir
=
os
.
environ
.
get
(
'OPENAIR_DIR'
)
if
openair_dir
==
None
:
print
"Error getting OPENAIR_DIR environment variable"
sys
.
exit
(
1
)
sys
.
path
.
append
(
os
.
path
.
expandvars
(
'$OPENAIR_DIR/cmake_targets/autotests/tools/'
))
from
lib_autotest
import
*
#Stop the USB BUS of USRPB210
def
stop_usrpb210
():
stringIdBandrich
=
'National Instruments Corp.'
status
,
out
=
commands
.
getstatusoutput
(
'lsusb | grep -i
\'
'
+
stringIdBandrich
+
'
\'
'
)
if
(
out
==
''
)
:
print
"USRP B210 not found. Exiting now..."
sys
.
exit
()
p
=
re
.
compile
(
'Bus\s*(\w+)\s*Device\s*(\w+):\s*ID\s*(\w+):(\w+)'
)
res
=
p
.
findall
(
out
)
BusId
=
res
[
0
][
0
]
DeviceId
=
res
[
0
][
1
]
VendorId
=
res
[
0
][
2
]
ProductId
=
res
[
0
][
3
]
usb_dir
=
find_usb_path
(
VendorId
,
ProductId
)
print
"USRP B210 found in..."
+
usb_dir
cmd
=
"sudo sh -c
\"
echo 0 > "
+
usb_dir
+
"/authorized
\"
"
os
.
system
(
cmd
)
#Start the USB bus of USRP B210
def
start_usrpb210
():
stringIdBandrich
=
'National Instruments Corp.'
status
,
out
=
commands
.
getstatusoutput
(
'lsusb | grep -i
\'
'
+
stringIdBandrich
+
'
\'
'
)
if
(
out
==
''
)
:
print
"USRP B210 not found. Exiting now..."
sys
.
exit
()
p
=
re
.
compile
(
'Bus\s*(\w+)\s*Device\s*(\w+):\s*ID\s*(\w+):(\w+)'
)
res
=
p
.
findall
(
out
)
BusId
=
res
[
0
][
0
]
DeviceId
=
res
[
0
][
1
]
VendorId
=
res
[
0
][
2
]
ProductId
=
res
[
0
][
3
]
usb_dir
=
find_usb_path
(
VendorId
,
ProductId
)
print
"USRP B210 found in..."
+
usb_dir
cmd
=
"sudo sh -c
\"
echo 1 > "
+
usb_dir
+
"/authorized
\"
"
os
.
system
(
cmd
)
i
=
1
while
i
<
len
(
sys
.
argv
):
arg
=
sys
.
argv
[
i
]
if
arg
==
'--start-usrpb210'
:
start_usrpb210
()
elif
arg
==
'--stop-usrpb210'
:
stop_usrpb210
()
elif
arg
==
'-h'
:
print
"--stop-usrpb210: Stop the USRP B210. It cannot be found in uhd_find_devices"
print
"--start-usrpb210: Start the USRP B210. It can now be found in uhd_find_devices"
else
:
print
" Script called with wrong arguments, arg = "
+
arg
sys
.
exit
()
i
=
i
+
1
cmake_targets/tools/build_helper
View file @
566fd451
...
@@ -226,7 +226,25 @@ check_install_additional_tools (){
...
@@ -226,7 +226,25 @@ check_install_additional_tools (){
valgrind \
valgrind \
vlan \
vlan \
ctags \
ctags \
ntpdate
ntpdate \
iperf3 \
android-tools-adb
$SUDO pip install paramiko
$SUDO pip install pyroute2
$SUDO rm -fr /opt/ssh
$SUDO git clone https://gist.github.com/2190472.git /opt/ssh
log_netiface=$OPENAIR_DIR/cmake_targets/log/netiface_install_log.txt
echo_info "Installing Netinterfaces package. The logfile for installation is in $log_netiface"
(
$SUDO rm -fr /tmp/netifaces-0.10.4.tar.gz /tmp/netifaces
wget -P /tmp https://pypi.python.org/packages/18/fa/dd13d4910aea339c0bb87d2b3838d8fd923c11869b1f6e741dbd0ff3bc00/netifaces-0.10.4.tar.gz
tar -xzvf /tmp/netifaces-0.10.4.tar.gz -C /tmp
cd /tmp/netifaces-0.10.4
$SUDO python setup.py install
cd -
) >& $log_netiface
}
}
check_install_oai_software() {
check_install_oai_software() {
...
@@ -293,8 +311,7 @@ check_install_oai_software() {
...
@@ -293,8 +311,7 @@ check_install_oai_software() {
python-numpy \
python-numpy \
sshpass \
sshpass \
libxslt1-dev \
libxslt1-dev \
android-tools-adb \
android-tools-adb
iperf3
$SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so
$SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so
...
@@ -303,11 +320,7 @@ check_install_oai_software() {
...
@@ -303,11 +320,7 @@ check_install_oai_software() {
install_nettle_from_source
install_nettle_from_source
install_gnutls_from_source
install_gnutls_from_source
$SUDO pip install paramiko
$SUDO pip install pyroute2
install_asn1c_from_source
install_asn1c_from_source
$SUDO rm -fr /opt/ssh
$SUDO git clone https://gist.github.com/2190472.git /opt/ssh
}
}
install_asn1c_from_source(){
install_asn1c_from_source(){
...
@@ -315,14 +328,12 @@ install_asn1c_from_source(){
...
@@ -315,14 +328,12 @@ install_asn1c_from_source(){
echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_log "
echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_log "
(
(
$SUDO rm -rf /tmp/asn1c-r1516
$SUDO rm -rf /tmp/asn1c-r1516
mkdir -p /tmp/asn1c-r
1516
svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r
1516
cd /tmp/asn1c-r1516
cd /tmp/asn1c-r1516
rm -rf /tmp/asn1c-r1516/*
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch.p0
svn co https://github.com/vlm/asn1c/trunk /tmp/asn1c-r1516 -r 1516 > /tmp/log_compile_asn1c
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch_2.p0
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch.p0 >> /tmp/log_compile_asn1c
patch -p0 < $OPENAIR_DIR/openair2/RRC/LITE/MESSAGES/asn1c/asn1cpatch.p0
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch_2.p0 >> /tmp/log_compile_asn1c
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch_3.p0
patch -p0 < $OPENAIR_DIR/openair2/RRC/LITE/MESSAGES/asn1c/asn1cpatch.p0 >> /tmp/log_compile_asn1c
patch -p0 < $OPENAIR_DIR/openair3/S1AP/MESSAGES/ASN1/asn1cpatch_3.p0 >> /tmp/log_compile_asn1c
./configure
./configure
make -j`nproc`
make -j`nproc`
$SUDO make install
$SUDO make install
...
...
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