Open frantathefranta opened 1 week ago
This is the comparison of the tacho_active_msb
field in MFCR register. Hopefully it can be helpful.
MSB7790 switch
[root@ufm1 ufm_reg_testing]# mlxreg_ext -d SW_MT52000_SwitchIB_Mellanox_Technologies --reg_name MFCR --get
Sending access register...
Field Name | Data
=================================
pwm_frequency | 0x00000044
pwm_active | 0x00000001
tacho_active | 0x000001fe
tacho_active_msb | 0x00000000
=================================
MSB8790
[root@ufm1 ufm_reg_testing]# mlxreg_ext -d SW_MT53000_SwitchIB_Mellanox_Technologies --reg_name MFCR --get
Sending access register...
Field Name | Data
=================================
pwm_frequency | 0x00000044
pwm_active | 0x00000001
tacho_active | 0x000001fe
tacho_active_msb | 0x00000000
=================================
MQM8790 (HDR)
[root@ufm1 ufm_reg_testing]# mlxreg_ext -d SW_MT54000_Quantum_Mellanox_Technologies --reg_name MFCR --get
Sending access register...
Field Name | Data
=================================
pwm_frequency | 0x00000044
pwm_active | 0x00000001
tacho_active | 0x000003fe
tacho_active_msb | 0x00000007
=================================
MQM9790 (NDR)
[root@ufm1 ufm_reg_testing]# mlxreg_ext -d SW_MT54002_Quantum-2_Mellanox_Technologies --reg_name MFCR --get
Sending access register...
Field Name | Data
=================================
pwm_frequency | 0x00000044
pwm_active | 0x00000001
tacho_active | 0x000003fe
tacho_active_msb | 0x0000001f
=================================
As per https://github.com/stanford-rc/ibswinfo/issues/17, it's not possible right now to check all fan speeds on HDR and NDR switches. What I found out (I think) is that these newer switches have more fans under the
tacho_active_msb
index in register MFCR. I tried a sort of hacky way of getting to those fans with existing methods but not really sure if I've achieved anything correct. This only works on HDR switches, where it enumerates 12 fans (the correct amount):Doing it on an NDR switch (14 fans) yields weird results (I think due to the fact it needs 17 bits to enumerate all the fans, if I understand the logic of it correctly):
I hope this can be in any way useful and not a dead end.