[AS7726-32X] Modify util.py to support python3 (#8166)
Co-authored-by: Jostar Yang <jostar_yang@accton.com.tw>
This commit is contained in:
parent
2a06e079fa
commit
1d8149471e
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python3
|
||||||
#
|
#
|
||||||
# Copyright (C) 2016 Accton Networks, Inc.
|
# Copyright (C) 2016 Accton Networks, Inc.
|
||||||
#
|
#
|
||||||
@ -25,12 +25,8 @@ options:
|
|||||||
command:
|
command:
|
||||||
install : install drivers and generate related sysfs nodes
|
install : install drivers and generate related sysfs nodes
|
||||||
clean : uninstall drivers and remove related sysfs nodes
|
clean : uninstall drivers and remove related sysfs nodes
|
||||||
show : show all systen status
|
|
||||||
sff : dump SFP eeprom
|
|
||||||
set : change board setting with fan|led|sfp
|
|
||||||
"""
|
"""
|
||||||
|
import subprocess
|
||||||
import commands
|
|
||||||
import getopt
|
import getopt
|
||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
@ -43,34 +39,9 @@ verbose = False
|
|||||||
DEBUG = False
|
DEBUG = False
|
||||||
args = []
|
args = []
|
||||||
ALL_DEVICE = {}
|
ALL_DEVICE = {}
|
||||||
DEVICE_NO = {'led':5, 'fan1':1, 'fan2':1,'fan3':1,'fan4':1,'fan5':1,'thermal':3, 'psu':2, 'sfp':54}
|
|
||||||
|
|
||||||
|
|
||||||
led_prefix ='/sys/devices/platform/as7716_32x_led/leds/accton_'+PROJECT_NAME+'_led::'
|
|
||||||
fan_prefix ='/sys/devices/platform/as7716_32x_'
|
|
||||||
hwmon_types = {'led': ['diag','fan','loc','psu1','psu2'],
|
|
||||||
'fan1': ['fan'],
|
|
||||||
'fan2': ['fan'],
|
|
||||||
'fan3': ['fan'],
|
|
||||||
'fan4': ['fan'],
|
|
||||||
'fan5': ['fan'],
|
|
||||||
}
|
|
||||||
hwmon_nodes = {'led': ['brightness'] ,
|
|
||||||
'fan1': ['fan_duty_cycle_percentage', 'fan1_fault', 'fan1_speed_rpm', 'fan1_direction', 'fanr1_fault', 'fanr1_speed_rpm'],
|
|
||||||
'fan2': ['fan_duty_cycle_percentage','fan2_fault', 'fan2_speed_rpm', 'fan2_direction', 'fanr2_fault', 'fanr2_speed_rpm'],
|
|
||||||
'fan3': ['fan_duty_cycle_percentage','fan3_fault', 'fan3_speed_rpm', 'fan3_direction', 'fanr3_fault', 'fanr3_speed_rpm'],
|
|
||||||
'fan4': ['fan4_duty_cycle_percentage','fan4_fault', 'fan4_speed_rpm', 'fan4_direction', 'fanr4_fault', 'fanr4_speed_rpm'],
|
|
||||||
'fan5': ['fan_duty_cycle_percentage','fan5_fault', 'fan5_speed_rpm', 'fan5_direction', 'fanr5_fault', 'fanr5_speed_rpm'],
|
|
||||||
}
|
|
||||||
hwmon_prefix ={'led': led_prefix,
|
|
||||||
'fan1': fan_prefix,
|
|
||||||
'fan2': fan_prefix,
|
|
||||||
'fan3': fan_prefix,
|
|
||||||
'fan4': fan_prefix,
|
|
||||||
'fan5': fan_prefix,
|
|
||||||
}
|
|
||||||
|
|
||||||
i2c_prefix = '/sys/bus/i2c/devices/'
|
i2c_prefix = '/sys/bus/i2c/devices/'
|
||||||
|
'''
|
||||||
i2c_bus = {'fan': ['54-0066'],
|
i2c_bus = {'fan': ['54-0066'],
|
||||||
'thermal': ['54-004c', '55-0048','55-0049', '55-004a', '55-004b'] ,
|
'thermal': ['54-004c', '55-0048','55-0049', '55-004a', '55-004b'] ,
|
||||||
'psu': ['49-0050','50-0053'],
|
'psu': ['49-0050','50-0053'],
|
||||||
@ -79,7 +50,7 @@ i2c_nodes = {'fan': ['present', 'front_speed_rpm', 'rear_speed_rpm'],
|
|||||||
'thermal': ['hwmon/hwmon*/temp1_input'] ,
|
'thermal': ['hwmon/hwmon*/temp1_input'] ,
|
||||||
'psu': ['psu_present ', 'psu_power_good'] ,
|
'psu': ['psu_present ', 'psu_power_good'] ,
|
||||||
'sfp': ['module_present_ ', 'module_tx_disable_']}
|
'sfp': ['module_present_ ', 'module_tx_disable_']}
|
||||||
|
'''
|
||||||
sfp_map = [21, 22, 23, 24, 26, 25, 28, 27,
|
sfp_map = [21, 22, 23, 24, 26, 25, 28, 27,
|
||||||
17, 18, 19, 20, 29, 30, 31, 32,
|
17, 18, 19, 20, 29, 30, 31, 32,
|
||||||
33, 34, 35, 36, 45, 46, 47, 48,
|
33, 34, 35, 36, 45, 46, 47, 48,
|
||||||
@ -129,8 +100,8 @@ logging.basicConfig(level=logging.INFO)
|
|||||||
|
|
||||||
|
|
||||||
if DEBUG == True:
|
if DEBUG == True:
|
||||||
print sys.argv[0]
|
print(sys.argv[0])
|
||||||
print 'ARGV :', sys.argv[1:]
|
print('ARGV :', sys.argv[1:])
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@ -146,9 +117,9 @@ def main():
|
|||||||
'force',
|
'force',
|
||||||
])
|
])
|
||||||
if DEBUG == True:
|
if DEBUG == True:
|
||||||
print options
|
print(options)
|
||||||
print args
|
print(args)
|
||||||
print len(sys.argv)
|
print(len(sys.argv))
|
||||||
|
|
||||||
for opt, arg in options:
|
for opt, arg in options:
|
||||||
if opt in ('-h', '--help'):
|
if opt in ('-h', '--help'):
|
||||||
@ -165,22 +136,6 @@ def main():
|
|||||||
do_install()
|
do_install()
|
||||||
elif arg == 'clean':
|
elif arg == 'clean':
|
||||||
do_uninstall()
|
do_uninstall()
|
||||||
elif arg == 'show':
|
|
||||||
device_traversal()
|
|
||||||
elif arg == 'sff':
|
|
||||||
if len(args)!=2:
|
|
||||||
show_eeprom_help()
|
|
||||||
elif int(args[1]) ==0 or int(args[1]) > DEVICE_NO['sfp']:
|
|
||||||
show_eeprom_help()
|
|
||||||
else:
|
|
||||||
show_eeprom(args[1])
|
|
||||||
return
|
|
||||||
elif arg == 'set':
|
|
||||||
if len(args)<3:
|
|
||||||
show_set_help()
|
|
||||||
else:
|
|
||||||
set_device(args[1:])
|
|
||||||
return
|
|
||||||
else:
|
else:
|
||||||
show_help()
|
show_help()
|
||||||
|
|
||||||
@ -188,33 +143,20 @@ def main():
|
|||||||
return 0
|
return 0
|
||||||
|
|
||||||
def show_help():
|
def show_help():
|
||||||
print __doc__ % {'scriptName' : sys.argv[0].split("/")[-1]}
|
print( __doc__ % {'scriptName' : sys.argv[0].split("/")[-1]})
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
def show_set_help():
|
|
||||||
cmd = sys.argv[0].split("/")[-1]+ " " + args[0]
|
|
||||||
print cmd +" [led|sfp|fan]"
|
|
||||||
print " use \""+ cmd + " led 0-4 \" to set led color"
|
|
||||||
print " use \""+ cmd + " fan 0-100\" to set fan duty percetage"
|
|
||||||
print " use \""+ cmd + " sfp 1-32 {0|1}\" to set sfp# tx_disable"
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
def show_eeprom_help():
|
|
||||||
cmd = sys.argv[0].split("/")[-1]+ " " + args[0]
|
|
||||||
print " use \""+ cmd + " 1-32 \" to dump sfp# eeprom"
|
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
def dis_i2c_ir3570a(addr):
|
def dis_i2c_ir3570a(addr):
|
||||||
cmd = "i2cset -y 0 0x%x 0xE5 0x01" % addr
|
cmd = "i2cset -y 0 0x%x 0xE5 0x01" % addr
|
||||||
status, output = commands.getstatusoutput(cmd)
|
status, output = subprocess.getstatusoutput(cmd)
|
||||||
cmd = "i2cset -y 0 0x%x 0x12 0x02" % addr
|
cmd = "i2cset -y 0 0x%x 0x12 0x02" % addr
|
||||||
status, output = commands.getstatusoutput(cmd)
|
status, output = subprocess.getstatusoutput(cmd)
|
||||||
return status
|
return status
|
||||||
|
|
||||||
def ir3570_check():
|
def ir3570_check():
|
||||||
cmd = "i2cdump -y 0 0x42 s 0x9a"
|
cmd = "i2cdump -y 0 0x42 s 0x9a"
|
||||||
try:
|
try:
|
||||||
status, output = commands.getstatusoutput(cmd)
|
status, output = subprocess.getstatusoutput(cmd)
|
||||||
lines = output.split('\n')
|
lines = output.split('\n')
|
||||||
hn = re.findall(r'\w+', lines[-1])
|
hn = re.findall(r'\w+', lines[-1])
|
||||||
version = int(hn[1], 16)
|
version = int(hn[1], 16)
|
||||||
@ -223,24 +165,24 @@ def ir3570_check():
|
|||||||
else:
|
else:
|
||||||
ret = 0
|
ret = 0
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print "Error on ir3570_check() e:" + str(e)
|
print( "Error on ir3570_check() e:" + str(e))
|
||||||
return -1
|
return -1
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
def my_log(txt):
|
def my_log(txt):
|
||||||
if DEBUG == True:
|
if DEBUG == True:
|
||||||
print "[ACCTON DBG]: "+txt
|
print("[ACCTON DBG]: ",txt)
|
||||||
return
|
return
|
||||||
|
|
||||||
def log_os_system(cmd, show):
|
def log_os_system(cmd, show):
|
||||||
logging.info('Run :'+cmd)
|
logging.info('Run :'+cmd)
|
||||||
status = 1
|
status = 1
|
||||||
output = ""
|
output = ""
|
||||||
status, output = commands.getstatusoutput(cmd)
|
status, output = subprocess.getstatusoutput(cmd)
|
||||||
my_log (cmd +"with result:" + str(status))
|
my_log (cmd +" with result:" + str(status))
|
||||||
my_log ("cmd:" + cmd)
|
#my_log ("cmd:" + cmd)
|
||||||
my_log (" output:"+output)
|
#my_log (" output:"+output)
|
||||||
if status:
|
if status:
|
||||||
logging.info('Failed :'+cmd)
|
logging.info('Failed :'+cmd)
|
||||||
if show:
|
if show:
|
||||||
@ -285,6 +227,8 @@ def driver_install():
|
|||||||
if status:
|
if status:
|
||||||
if FORCE == 0:
|
if FORCE == 0:
|
||||||
return status
|
return status
|
||||||
|
|
||||||
|
print("Done driver_install")
|
||||||
|
|
||||||
#status=cpld_reset_mac()
|
#status=cpld_reset_mac()
|
||||||
return 0
|
return 0
|
||||||
@ -294,7 +238,7 @@ def driver_uninstall():
|
|||||||
for i in range(0,len(kos)):
|
for i in range(0,len(kos)):
|
||||||
rm = kos[-(i+1)].replace("modprobe", "modprobe -rq")
|
rm = kos[-(i+1)].replace("modprobe", "modprobe -rq")
|
||||||
lst = rm.split(" ")
|
lst = rm.split(" ")
|
||||||
print "lst=%s"%lst
|
|
||||||
if len(lst) > 3:
|
if len(lst) > 3:
|
||||||
del(lst[3])
|
del(lst[3])
|
||||||
rm = " ".join(lst)
|
rm = " ".join(lst)
|
||||||
@ -314,21 +258,24 @@ def device_install():
|
|||||||
|
|
||||||
status, output = log_os_system(mknod[i], 1)
|
status, output = log_os_system(mknod[i], 1)
|
||||||
if status:
|
if status:
|
||||||
print output
|
print(output)
|
||||||
if FORCE == 0:
|
if FORCE == 0:
|
||||||
return status
|
return status
|
||||||
|
|
||||||
for i in range(0,len(sfp_map)):
|
for i in range(0,len(sfp_map)):
|
||||||
status, output =log_os_system("echo optoe1 0x50 > /sys/bus/i2c/devices/i2c-"+str(sfp_map[i])+"/new_device", 1)
|
status, output =log_os_system("echo optoe1 0x50 > /sys/bus/i2c/devices/i2c-"+str(sfp_map[i])+"/new_device", 1)
|
||||||
if status:
|
if status:
|
||||||
print output
|
print(output)
|
||||||
if FORCE == 0:
|
if FORCE == 0:
|
||||||
return status
|
return status
|
||||||
status, output =log_os_system("echo port"+str(i)+" > /sys/bus/i2c/devices/"+str(sfp_map[i])+"-0050/port_name", 1)
|
status, output =log_os_system("echo port"+str(i)+" > /sys/bus/i2c/devices/"+str(sfp_map[i])+"-0050/port_name", 1)
|
||||||
if status:
|
if status:
|
||||||
print output
|
print(output)
|
||||||
if FORCE == 0:
|
if FORCE == 0:
|
||||||
return status
|
return status
|
||||||
|
|
||||||
|
print("Done device_install")
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def device_uninstall():
|
def device_uninstall():
|
||||||
@ -344,7 +291,7 @@ def device_uninstall():
|
|||||||
target = "/sys/bus/i2c/devices/i2c-"+str(sfp_map[i])+"/delete_device"
|
target = "/sys/bus/i2c/devices/i2c-"+str(sfp_map[i])+"/delete_device"
|
||||||
status, output =log_os_system("echo 0x50 > "+ target, 1)
|
status, output =log_os_system("echo 0x50 > "+ target, 1)
|
||||||
if status:
|
if status:
|
||||||
print output
|
print(output)
|
||||||
if FORCE == 0:
|
if FORCE == 0:
|
||||||
return status
|
return status
|
||||||
|
|
||||||
@ -357,7 +304,7 @@ def device_uninstall():
|
|||||||
temp[-1] = temp[-1].replace('new_device', 'delete_device')
|
temp[-1] = temp[-1].replace('new_device', 'delete_device')
|
||||||
status, output = log_os_system(" ".join(temp), 1)
|
status, output = log_os_system(" ".join(temp), 1)
|
||||||
if status:
|
if status:
|
||||||
print output
|
print(output)
|
||||||
if FORCE == 0:
|
if FORCE == 0:
|
||||||
return status
|
return status
|
||||||
|
|
||||||
@ -367,7 +314,7 @@ def system_ready():
|
|||||||
if driver_inserted() == False:
|
if driver_inserted() == False:
|
||||||
return False
|
return False
|
||||||
if not device_exist():
|
if not device_exist():
|
||||||
print "not device_exist()"
|
print("not device_exist()")
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@ -378,7 +325,7 @@ def do_install():
|
|||||||
if FORCE == 0:
|
if FORCE == 0:
|
||||||
return status
|
return status
|
||||||
else:
|
else:
|
||||||
print PROJECT_NAME.upper()+" drivers detected...."
|
print(PROJECT_NAME.upper()+" drivers detected....")
|
||||||
|
|
||||||
ir3570_check()
|
ir3570_check()
|
||||||
|
|
||||||
@ -388,23 +335,23 @@ def do_install():
|
|||||||
if FORCE == 0:
|
if FORCE == 0:
|
||||||
return status
|
return status
|
||||||
else:
|
else:
|
||||||
print PROJECT_NAME.upper()+" devices detected...."
|
print(PROJECT_NAME.upper()+" devices detected....")
|
||||||
return
|
return
|
||||||
|
|
||||||
def do_uninstall():
|
def do_uninstall():
|
||||||
if not device_exist():
|
if not device_exist():
|
||||||
print PROJECT_NAME.upper() +" has no device installed...."
|
print(PROJECT_NAME.upper()+" has no device installed....")
|
||||||
else:
|
else:
|
||||||
print "Removing device...."
|
print("Removing device....")
|
||||||
status = device_uninstall()
|
status = device_uninstall()
|
||||||
if status:
|
if status:
|
||||||
if FORCE == 0:
|
if FORCE == 0:
|
||||||
return status
|
return status
|
||||||
|
|
||||||
if driver_inserted()== False :
|
if driver_inserted()== False :
|
||||||
print PROJECT_NAME.upper() +" has no driver installed...."
|
print(PROJECT_NAME.upper()+" has no driver installed....")
|
||||||
else:
|
else:
|
||||||
print "Removing installed driver...."
|
print("Removing installed driver....")
|
||||||
status = driver_uninstall()
|
status = driver_uninstall()
|
||||||
if status:
|
if status:
|
||||||
if FORCE == 0:
|
if FORCE == 0:
|
||||||
@ -412,184 +359,6 @@ def do_uninstall():
|
|||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def devices_info():
|
|
||||||
global DEVICE_NO
|
|
||||||
global ALL_DEVICE
|
|
||||||
global i2c_bus, hwmon_types
|
|
||||||
for key in DEVICE_NO:
|
|
||||||
ALL_DEVICE[key]= {}
|
|
||||||
for i in range(0,DEVICE_NO[key]):
|
|
||||||
ALL_DEVICE[key][key+str(i+1)] = []
|
|
||||||
|
|
||||||
for key in i2c_bus:
|
|
||||||
buses = i2c_bus[key]
|
|
||||||
nodes = i2c_nodes[key]
|
|
||||||
for i in range(0,len(buses)):
|
|
||||||
for j in range(0,len(nodes)):
|
|
||||||
if 'fan' == key:
|
|
||||||
for k in range(0,DEVICE_NO[key]):
|
|
||||||
node = key+str(k+1)
|
|
||||||
path = i2c_prefix+ buses[i]+"/fan"+str(k+1)+"_"+ nodes[j]
|
|
||||||
my_log(node+": "+ path)
|
|
||||||
ALL_DEVICE[key][node].append(path)
|
|
||||||
elif 'sfp' == key:
|
|
||||||
for k in range(0,DEVICE_NO[key]):
|
|
||||||
node = key+str(k+1)
|
|
||||||
path = i2c_prefix+ str(sfp_map[k])+ buses[i]+"/"+ nodes[j]
|
|
||||||
my_log(node+": "+ path)
|
|
||||||
ALL_DEVICE[key][node].append(path)
|
|
||||||
else:
|
|
||||||
node = key+str(i+1)
|
|
||||||
path = i2c_prefix+ buses[i]+"/"+ nodes[j]
|
|
||||||
my_log(node+": "+ path)
|
|
||||||
ALL_DEVICE[key][node].append(path)
|
|
||||||
|
|
||||||
for key in hwmon_types:
|
|
||||||
itypes = hwmon_types[key]
|
|
||||||
nodes = hwmon_nodes[key]
|
|
||||||
for i in range(0,len(itypes)):
|
|
||||||
for j in range(0,len(nodes)):
|
|
||||||
node = key+"_"+itypes[i]
|
|
||||||
path = hwmon_prefix[key]+ itypes[i]+"/"+ nodes[j]
|
|
||||||
my_log(node+": "+ path)
|
|
||||||
ALL_DEVICE[key][ key+str(i+1)].append(path)
|
|
||||||
|
|
||||||
#show dict all in the order
|
|
||||||
if DEBUG == True:
|
|
||||||
for i in sorted(ALL_DEVICE.keys()):
|
|
||||||
print(i+": ")
|
|
||||||
for j in sorted(ALL_DEVICE[i].keys()):
|
|
||||||
print(" "+j)
|
|
||||||
for k in (ALL_DEVICE[i][j]):
|
|
||||||
print(" "+" "+k)
|
|
||||||
return
|
|
||||||
|
|
||||||
def show_eeprom(index):
|
|
||||||
if system_ready()==False:
|
|
||||||
print("System's not ready.")
|
|
||||||
print("Please install first!")
|
|
||||||
return
|
|
||||||
|
|
||||||
if len(ALL_DEVICE)==0:
|
|
||||||
devices_info()
|
|
||||||
node = ALL_DEVICE['sfp'] ['sfp'+str(index)][0]
|
|
||||||
node = node.replace(node.split("/")[-1], 'eeprom')
|
|
||||||
# check if got hexdump command in current environment
|
|
||||||
ret, log = log_os_system("which hexdump", 0)
|
|
||||||
ret, log2 = log_os_system("which busybox hexdump", 0)
|
|
||||||
if len(log):
|
|
||||||
hex_cmd = 'hexdump'
|
|
||||||
elif len(log2):
|
|
||||||
hex_cmd = ' busybox hexdump'
|
|
||||||
else:
|
|
||||||
log = 'Failed : no hexdump cmd!!'
|
|
||||||
logging.info(log)
|
|
||||||
print log
|
|
||||||
return 1
|
|
||||||
print "node=%s"%node
|
|
||||||
print node + ":"
|
|
||||||
ret, log = log_os_system("cat "+node+"| "+hex_cmd+" -C", 1)
|
|
||||||
if ret==0:
|
|
||||||
print log
|
|
||||||
else:
|
|
||||||
print "**********device no found**********"
|
|
||||||
return
|
|
||||||
|
|
||||||
def set_device(args):
|
|
||||||
global DEVICE_NO
|
|
||||||
global ALL_DEVICE
|
|
||||||
if system_ready()==False:
|
|
||||||
print("System's not ready.")
|
|
||||||
print("Please install first!")
|
|
||||||
return
|
|
||||||
|
|
||||||
if len(ALL_DEVICE)==0:
|
|
||||||
devices_info()
|
|
||||||
|
|
||||||
if args[0]=='led':
|
|
||||||
if int(args[1])>4:
|
|
||||||
show_set_help()
|
|
||||||
return
|
|
||||||
#print ALL_DEVICE['led']
|
|
||||||
for i in range(0,len(ALL_DEVICE['led'])):
|
|
||||||
for k in (ALL_DEVICE['led']['led'+str(i+1)]):
|
|
||||||
ret, log = log_os_system("echo "+args[1]+" >"+k, 1)
|
|
||||||
if ret:
|
|
||||||
return ret
|
|
||||||
elif args[0]=='fan':
|
|
||||||
if int(args[1])>100:
|
|
||||||
show_set_help()
|
|
||||||
return
|
|
||||||
#print ALL_DEVICE['fan']
|
|
||||||
#fan1~6 is all fine, all fan share same setting
|
|
||||||
node = ALL_DEVICE['fan1'] ['fan11'][0]
|
|
||||||
node = node.replace(node.split("/")[-1], 'fan1_duty_cycle_percentage')
|
|
||||||
ret, log = log_os_system("cat "+ node, 1)
|
|
||||||
if ret==0:
|
|
||||||
print ("Previous fan duty: " + log.strip() +"%")
|
|
||||||
ret, log = log_os_system("echo "+args[1]+" >"+node, 1)
|
|
||||||
if ret==0:
|
|
||||||
print ("Current fan duty: " + args[1] +"%")
|
|
||||||
return ret
|
|
||||||
elif args[0]=='sfp':
|
|
||||||
if int(args[1])> DEVICE_NO[args[0]] or int(args[1])==0:
|
|
||||||
show_set_help()
|
|
||||||
return
|
|
||||||
if len(args)<2:
|
|
||||||
show_set_help()
|
|
||||||
return
|
|
||||||
|
|
||||||
if int(args[2])>1:
|
|
||||||
show_set_help()
|
|
||||||
return
|
|
||||||
|
|
||||||
#print ALL_DEVICE[args[0]]
|
|
||||||
for i in range(0,len(ALL_DEVICE[args[0]])):
|
|
||||||
for j in ALL_DEVICE[args[0]][args[0]+str(args[1])]:
|
|
||||||
if j.find('tx_disable')!= -1:
|
|
||||||
ret, log = log_os_system("echo "+args[2]+" >"+ j, 1)
|
|
||||||
if ret:
|
|
||||||
return ret
|
|
||||||
|
|
||||||
return
|
|
||||||
|
|
||||||
#get digits inside a string.
|
|
||||||
#Ex: 31 for "sfp31"
|
|
||||||
def get_value(input):
|
|
||||||
digit = re.findall('\d+', input)
|
|
||||||
return int(digit[0])
|
|
||||||
|
|
||||||
def device_traversal():
|
|
||||||
if system_ready()==False:
|
|
||||||
print("System's not ready.")
|
|
||||||
print("Please install first!")
|
|
||||||
return
|
|
||||||
|
|
||||||
if len(ALL_DEVICE)==0:
|
|
||||||
devices_info()
|
|
||||||
for i in sorted(ALL_DEVICE.keys()):
|
|
||||||
print("============================================")
|
|
||||||
print(i.upper()+": ")
|
|
||||||
print("============================================")
|
|
||||||
|
|
||||||
for j in sorted(ALL_DEVICE[i].keys(), key=get_value):
|
|
||||||
print " "+j+":",
|
|
||||||
for k in (ALL_DEVICE[i][j]):
|
|
||||||
ret, log = log_os_system("cat "+k, 0)
|
|
||||||
func = k.split("/")[-1].strip()
|
|
||||||
func = re.sub(j+'_','',func,1)
|
|
||||||
func = re.sub(i.lower()+'_','',func,1)
|
|
||||||
if ret==0:
|
|
||||||
print func+"="+log+" ",
|
|
||||||
else:
|
|
||||||
print func+"="+"X"+" ",
|
|
||||||
print
|
|
||||||
print("----------------------------------------------------------------")
|
|
||||||
|
|
||||||
|
|
||||||
print
|
|
||||||
return
|
|
||||||
|
|
||||||
def device_exist():
|
def device_exist():
|
||||||
ret1, log = log_os_system("ls "+i2c_prefix+"*0077", 0)
|
ret1, log = log_os_system("ls "+i2c_prefix+"*0077", 0)
|
||||||
ret2, log = log_os_system("ls "+i2c_prefix+"i2c-2", 0)
|
ret2, log = log_os_system("ls "+i2c_prefix+"i2c-2", 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user