类似于IPMI正在查询的内容,我将如何通过SMBus/I2C访问目标服务器中每个设备的VPD?我需要一个驱动程序吗?还是i2c-dev模块就足够了?如果我有多个存储设备连接到服务器上,如何验证目标总线上的哪一个?
我正在使用i2cdetect来验证i2c总线,但是,我无法验证我的设备连接了哪条总线,或者它最初是否有总线。我知道,我需要一个i2c总线/适配器来确定实际的i2c设备。创建i2c客户机可以做到这一点,但我仍然需要验证它的总线连接,而创建i2c客户端使其仅限于定义id_table中列举的i2c设备。我尽可能希望它检测所有的存储设备,不管它是否有i2c设备。
如有任何答复,将不胜感激。非常感谢。
发布于 2019-07-21 04:03:52
部分回答(因为问题老了,询问细节是困难的):
如果设备的VPD存储在标准EEPROM中,那么标准EEPROM驱动程序就足够了。(如果以不同的方式访问,我就不知道了)。
modprobe i2c-dev将允许从用户空间访问I2C,如果可以使用i2cdetect,您可能已经这样做了。modprobe eeprom将安装标准的EEPROM驱动程序,探测其支持的设备的所有总线,并允许访问/sys/bus/i2c/drivers/eeprom中的EEPROM数据。
但是,我无法验证我的设备连接了哪条总线,或者它最初是否有总线。
是的,这有点痛苦,你必须很好地了解你的硬件,并根据你能在总线上看到的设备做出一些猜测。
看着
/sys/bus/i2c/devices/i2c-*/name
/sys/bus/i2c/devices/i2c-*/device/driver/也会有帮助。
https://unix.stackexchange.com/questions/419513
复制相似问题