diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py index cde52c686b02d6d85fe940e889ce555d50b0eadc..8f1161390fce6cc1f55b828cdff804e169e9ae8e 100755 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py @@ -33,6 +33,7 @@ import time import serial import os +from socket import AF_INET from pyroute2 import IPRoute import sys import re @@ -97,11 +98,12 @@ signal.signal(signal.SIGINT, signal_handler) #ser.isOpen() class pppThread (threading.Thread): - def __init__(self, threadID, name, counter): + def __init__(self, threadID, name, counter,port): threading.Thread.__init__(self) self.threadID = threadID self.name = name self.counter = counter + self.port=port def run(self): print "Starting " + self.name #Here we keep running pppd thread in indefinite loop as this script terminates sometimes @@ -111,6 +113,10 @@ class pppThread (threading.Thread): print "Starting wvdial now..." print 'exit_flag = ' + str(exit_flag) 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 + '' ) if exit_flag == 1: print "Exit flag set to true. Exiting pppThread now" @@ -146,6 +152,7 @@ def send_command (cmd, response, timeout): def start_ue () : #print 'Enter your commands below.\r\nInsert "exit" to leave the application.' + global serial_port timeout=60 #timeout in seconds send_command('AT', 'OK' , timeout) send_command('AT+CFUN=1' , 'OK' , timeout) @@ -153,23 +160,33 @@ def start_ue () : send_command('AT+CGATT=1','OK', 300) #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() - iface='ppp0' + #iface='ppp0' while 1: time.sleep ( 2) + iface='' #Now we check if ppp0 interface is up and running try: if exit_flag == 1: break + cmd="ifconfig -a | sed 's/[ \t].*//;/^$/d' | grep ppp" + status, out = commands.getstatusoutput(cmd) + iface=out ip = IPRoute() 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 ('ping ' + gw) - break + #print "Starting ping now..." + os.system ('ping -c 1 ' + gw) + #break except Exception, e: error = ' Interface ' + iface + 'does not exist...' error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) @@ -214,14 +231,17 @@ gw='192.172.0.1' while i < len(sys.argv): arg=sys.argv[i] if arg == '--start-ue' : + print "Turning on UE..." find_open_port() print 'Using Serial port : ' + serial_port start_ue() elif arg == '--stop-ue' : + print "Turning off UE..." find_open_port() print 'Using Serial port : ' + serial_port stop_ue() elif arg == '--reset-ue' : + print "Resetting UE..." find_open_port() reset_ue() elif arg == '-gw' : diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 00f6842ffddff67bf8fb5f161dbebb7e7e359062..55598e28327cb1a9f4e33ac1ca21052c8e9795b9 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -226,7 +226,22 @@ check_install_additional_tools (){ valgrind \ vlan \ 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 + + echo "Installing Netinterfaces packge...." + $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 - } check_install_oai_software() { @@ -293,8 +308,7 @@ check_install_oai_software() { python-numpy \ sshpass \ libxslt1-dev \ - android-tools-adb \ - iperf3 + android-tools-adb $SUDO update-alternatives --set liblapack.so /usr/lib/atlas-base/atlas/liblapack.so @@ -303,11 +317,7 @@ check_install_oai_software() { install_nettle_from_source install_gnutls_from_source - $SUDO pip install paramiko - $SUDO pip install pyroute2 install_asn1c_from_source - $SUDO rm -fr /opt/ssh - $SUDO git clone https://gist.github.com/2190472.git /opt/ssh } install_asn1c_from_source(){