diff --git a/cmake_targets/autotests/tools/configure_usrpb210.py b/cmake_targets/autotests/tools/configure_usrpb210.py new file mode 100755 index 0000000000000000000000000000000000000000..12b091e4d8aeb6412fe3372aeb17aaa12fa79a07 --- /dev/null +++ b/cmake_targets/autotests/tools/configure_usrpb210.py @@ -0,0 +1,108 @@ +#!/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 + +