通过i2ctool工具访问Retimer型号(PT5161LRS)获取数据正常:
./i2ctool64 2 10 1 0xe0 8
./i2ctool64 2 10 1 0xe2 1
./i2ctool64 2 10 5 0x42 0x0a 0x03 0x02 0x09 0x23
./i2ctool64 1 10 2 1 0x42 0x09
如果把最后行换成
busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Complex/Chip_Retimer1_010133 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x09 2
为啥通过busctl获取到数据没对上?获取到数据为0xff
Retimer I2C拓扑如下
I2C10–PCA9545(0xe0)–CH4–Retimer Board1–PCA9617–PCA9546(0XE2)–CH1–Retimer(0x42)
Retimer拓扑是通过PCA9546通道进行连接,但是由于PCA9546类没有实现,只通过PCA9545两个通过模拟,是否合理?
对应SR配置:
"ManagementTopology": {
"Anchor": {
"Buses": [
"I2c_10"
]
},
"I2c_10": {
"Chips": [
"Lm75_RetimerBP_0",
"Eeprom_RetimerBP_0",
"Pca9555_RetimerBP_0",
"Pca9545_i2c10_chip"
]
},
"I2cMux_Pca9546_i2c10_chip_1": {
"Chips": [
"Chip_Retimer1"
]
},
"I2cMux_Pca9546_i2c10_chip_2": {
"Chips": [
"Chip_Retimer2"
]
},
"Pca9545_i2c10_chip": {
"Buses": [
"I2cMux_Pca9546_i2c10_chip_1",
"I2cMux_Pca9546_i2c10_chip_2"
]
}
},


