本文整理汇总了Python中common.OpTestHost.OpTestHost.host_get_list_of_i2c_buses方法的典型用法代码示例。如果您正苦于以下问题:Python OpTestHost.host_get_list_of_i2c_buses方法的具体用法?Python OpTestHost.host_get_list_of_i2c_buses怎么用?Python OpTestHost.host_get_list_of_i2c_buses使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类common.OpTestHost.OpTestHost
的用法示例。
在下文中一共展示了OpTestHost.host_get_list_of_i2c_buses方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: OpTestI2Cdriver
# 需要导入模块: from common.OpTestHost import OpTestHost [as 别名]
# 或者: from common.OpTestHost.OpTestHost import host_get_list_of_i2c_buses [as 别名]
class OpTestI2Cdriver():
## Initialize this object
# @param i_bmcIP The IP address of the BMC
# @param i_bmcUser The userid to log into the BMC with
# @param i_bmcPasswd The password of the userid to log into the BMC with
# @param i_bmcUserIpmi The userid to issue the BMC IPMI commands with
# @param i_bmcPasswdIpmi The password of BMC IPMI userid
# @param i_ffdcDir Optional param to indicate where to write FFDC
#
# "Only required for inband tests" else Default = None
# @param i_hostIP The IP address of the HOST
# @param i_hostuser The userid to log into the HOST
# @param i_hostPasswd The password of the userid to log into the HOST with
#
def __init__(self, i_bmcIP, i_bmcUser, i_bmcPasswd,
i_bmcUserIpmi, i_bmcPasswdIpmi, i_ffdcDir=None, i_hostip=None,
i_hostuser=None, i_hostPasswd=None):
self.cv_BMC = OpTestBMC(i_bmcIP, i_bmcUser, i_bmcPasswd, i_ffdcDir)
self.cv_IPMI = OpTestIPMI(i_bmcIP, i_bmcUserIpmi, i_bmcPasswdIpmi,
i_ffdcDir)
self.cv_HOST = OpTestHost(i_hostip, i_hostuser, i_hostPasswd, i_bmcIP)
self.util = OpTestUtil()
##
# @brief This function has following test steps
# 1. Getting host information(OS and kernel info)
# 2. Checking the required utilites are present on host or not
# 3. Loading the necessary modules to test I2C device driver functionalites
# (i2c_dev, i2c_opal and at24)
# 4. Getting the list of i2c buses
# 5. Querying the i2c bus for devices
# 3. Getting the list of i2c buses and eeprom chip addresses
# 4. Accessing the registers visible through the i2cbus using i2cdump utility
# 5. Listing the i2c adapter conetents and i2c bus entries to make sure sysfs entries
# created for each bus.
# 6. Testing i2cget functionality for limited samples
# Avoiding i2cset functionality, it may damage the system.
#
# @return BMC_CONST.FW_SUCCESS-success or raise OpTestError-fail
#
def testI2Cdriver(self):
# Get OS level
self.cv_HOST.host_get_OS_Level()
# make sure install "i2c-tools" package in-order to run the test
# Check whether i2cdump, i2cdetect and hexdump commands are available on host
self.cv_HOST.host_check_command("i2cdump")
self.cv_HOST.host_check_command("i2cdetect")
self.cv_HOST.host_check_command("hexdump")
self.cv_HOST.host_check_command("i2cget")
self.cv_HOST.host_check_command("i2cset")
# Get Kernel Version
l_kernel = self.cv_HOST.host_get_kernel_version()
# loading i2c_opal module based on config option
l_config = "CONFIG_I2C_OPAL"
l_module = "i2c_opal"
self.cv_HOST.host_load_module_based_on_config(l_kernel, l_config, l_module)
# loading i2c_dev module based on config option
l_config = "CONFIG_I2C_CHARDEV"
l_module = "i2c_dev"
self.cv_HOST.host_load_module_based_on_config(l_kernel, l_config, l_module)
# loading at24 module based on config option
l_config = "CONFIG_EEPROM_AT24"
l_module = "at24"
self.cv_HOST.host_load_module_based_on_config(l_kernel, l_config, l_module)
# Get information of EEPROM chips
self.cv_HOST.host_get_info_of_eeprom_chips()
# Get list of i2c buses available on host,
# l_list=["0","1"....]
# l_list1=["i2c-0","i2c-1","i2c-2"....]
l_list, l_list1 = self.cv_HOST.host_get_list_of_i2c_buses()
# Scanning i2c bus for devices attached to it.
for l_bus in l_list:
self.query_i2c_bus(l_bus)
# Get list of pairs of i2c bus and EEPROM device addresses in the host
l_chips = self.cv_HOST.host_get_list_of_eeprom_chips()
for l_args in l_chips:
# Accessing the registers visible through the i2cbus using i2cdump utility
# l_args format: "0 0x51","1 0x53",.....etc
self.i2c_dump(l_args)
# list i2c adapter conetents
l_res = self.cv_HOST.host_run_command("ls -l /sys/class/i2c-adapter; echo $?")
l_res = l_res.splitlines()
if int(l_res[-1]) == 0:
pass
else:
l_msg = "listing i2c adapter contents through the sysfs entry failed"
print l_msg
raise OpTestError(l_msg)
#.........这里部分代码省略.........