From 22bf711a5de49c061415bf0fc1cb33f6b01f45e4 Mon Sep 17 00:00:00 2001
From: Rohit Gupta <rohit.gupta@eurecom.fr>
Date: Tue, 14 Jun 2016 02:30:02 +0200
Subject: [PATCH] Gitlab CI: USRP B210 Reset
---
.../autotests/tools/configure_usrpb210.py | 108 ++++++++++++++++++
1 file changed, 108 insertions(+)
create mode 100755 cmake_targets/autotests/tools/configure_usrpb210.py
diff --git a/cmake_targets/autotests/tools/configure_usrpb210.py b/cmake_targets/autotests/tools/configure_usrpb210.py
new file mode 100755
index 0000000000..12b091e4d8
--- /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
+
+
--
GitLab