@bleader I've done exactly the same on my ThinkSystem SR665 V3, BMC Version
3.20 (Build ID: KAX334O), UEFI Version 4.20 (Build ID: KAE120J), LXPM Version 4.12 (Build ID: GNL114G) and it worked;
# Found which driver to blacklist from kernel init
fgrep i2c /boot/System.map-4.19.0+1 | grep init
[10:10 xcp-ng-host1 ~]# fgrep i2c /boot/System.map-4.19.0+1 | grep init
ffffffff815172f0 T drm_i2c_encoder_init
ffffffff815574c0 T __regmap_init_i2c
ffffffff81557510 T __devm_regmap_init_i2c
ffffffff815d0700 t i2c_dw_init_master
ffffffff815d14f0 t i2c_dw_init_slave
ffffffff81ea9b40 r __ksymtab_drm_i2c_encoder_init
ffffffff81eb0570 r __ksymtab___devm_regmap_init_i2c
ffffffff81eb0838 r __ksymtab___regmap_init_i2c
ffffffff81edc1a9 r __kstrtab_drm_i2c_encoder_init
ffffffff81edffcd r __kstrtab___devm_regmap_init_i2c
ffffffff81edffe4 r __kstrtab___regmap_init_i2c
ffffffff8248156d t i2c_init
ffffffff82481b65 t dw_i2c_init_driver
ffffffff8255fe48 t __initcall_i2c_init2
ffffffff8255ffa8 t __initcall_dw_i2c_init_driver4
In /etc/grub-efi.cfg I added initcall_blacklist=dw_i2c_init_driver and ran grub-mkconfig then rebooted.
terminal_input serial console
terminal_output serial console
set default=0
set timeout=5
menuentry 'XCP-ng' {
search --label --set root root-pxdcvt
multiboot2 /boot/xen.gz dom0_mem=7568M,max:7568M watchdog ucode=scan dom0_max_vcpus=1-16 crashkernel=256M,below=4G console=vga vga=mode-0x0311
module2 /boot/vmlinuz-4.19-xen root=LABEL=root-pxdcvt ro nolvm hpet=disable rd.auto console=hvc0 console=tty0 quiet vga=785 splash plymouth.ignore-serial-consoles initcall_blacklist=dw_i2c_init_driver
module2 /boot/initrd-4.19-xen.img
}
Run grub-mkconfig then rebooted
grub-mkconfig
I first checked the current system temperatures and fan speeds (configured at fix RPM);
[10:17 xcp-ng-host1 ~]# ipmitool sdr | grep -i temp
Ambient Temp | 30 degrees C | ok
Exhaust Temp | 34 degrees C | ok
CPU 1 Temp | 39 degrees C | ok
CPU 2 Temp | no reading | ns
DIMM 1 Temp | no reading | ns
DIMM 2 Temp | no reading | ns
DIMM 3 Temp | no reading | ns
DIMM 4 Temp | no reading | ns
DIMM 5 Temp | no reading | ns
DIMM 6 Temp | 0 degrees C | ok
DIMM 7 Temp | 0 degrees C | ok
DIMM 8 Temp | no reading | ns
DIMM 9 Temp | no reading | ns
DIMM 10 Temp | no reading | ns
DIMM 11 Temp | no reading | ns
DIMM 12 Temp | no reading | ns
DIMM 13 Temp | no reading | ns
DIMM 14 Temp | no reading | ns
DIMM 15 Temp | no reading | ns
DIMM 16 Temp | no reading | ns
DIMM 17 Temp | no reading | ns
DIMM 18 Temp | no reading | ns
DIMM 19 Temp | no reading | ns
DIMM 20 Temp | no reading | ns
DIMM 21 Temp | no reading | ns
DIMM 22 Temp | no reading | ns
DIMM 23 Temp | no reading | ns
DIMM 24 Temp | no reading | ns
PCIe 1 OverTemp | 0x00 | ok
PCIe 2 OverTemp | 0x00 | ok
PCIe 3 OverTemp | 0x00 | ok
OCP OverTemp | 0x00 | ok
[10:18 xcp-ng-host1 ~]# ipmitool sdr | grep -i fan
Fan Mismatch | 0x00 | ok
Fan 1 Front Tach | 6642 RPM | ok
Fan 2 Front Tach | 6642 RPM | ok
Fan 3 Front Tach | 6724 RPM | ok
Fan 4 Front Tach | 6560 RPM | ok
Fan 5 Front Tach | 6642 RPM | ok
Fan 6 Tach | 0 RPM | ok
Fan 1 Rear Tach | 6225 RPM | ok
Fan 2 Rear Tach | 6150 RPM | ok
Fan 3 Rear Tach | 6300 RPM | ok
Fan 4 Rear Tach | 6150 RPM | ok
Fan 5 Rear Tach | 6300 RPM | ok
Sys Fan Pwr | 18 Watts | ok
I followed by a reboot of the Xclarity BMC controller and the new readings are;
[10:23 xcp-ng-host1 ~]# ipmitool sdr | grep -i temp
Ambient Temp | 30 degrees C | ok
Exhaust Temp | 34 degrees C | ok
CPU 1 Temp | 40 degrees C | ok
CPU 2 Temp | no reading | ns
DIMM 1 Temp | no reading | ns
DIMM 2 Temp | no reading | ns
DIMM 3 Temp | no reading | ns
DIMM 4 Temp | no reading | ns
DIMM 5 Temp | no reading | ns
DIMM 6 Temp | 38 degrees C | ok
DIMM 7 Temp | 37 degrees C | ok
DIMM 8 Temp | no reading | ns
DIMM 9 Temp | no reading | ns
DIMM 10 Temp | no reading | ns
DIMM 11 Temp | no reading | ns
DIMM 12 Temp | no reading | ns
DIMM 13 Temp | no reading | ns
DIMM 14 Temp | no reading | ns
DIMM 15 Temp | no reading | ns
DIMM 16 Temp | no reading | ns
DIMM 17 Temp | no reading | ns
DIMM 18 Temp | no reading | ns
DIMM 19 Temp | no reading | ns
DIMM 20 Temp | no reading | ns
DIMM 21 Temp | no reading | ns
DIMM 22 Temp | no reading | ns
DIMM 23 Temp | no reading | ns
DIMM 24 Temp | no reading | ns
PCIe 1 OverTemp | 0x00 | ok
PCIe 2 OverTemp | 0x00 | ok
PCIe 3 OverTemp | 0x00 | ok
OCP OverTemp | 0x00 | ok
[10:26 xcp-ng-host1 ~]# ipmitool sdr | grep -i fan
Fan Mismatch | 0x00 | ok
Fan 1 Front Tach | 8528 RPM | ok
Fan 2 Front Tach | 8446 RPM | ok
Fan 3 Front Tach | 8446 RPM | ok
Fan 4 Front Tach | 8610 RPM | ok
Fan 5 Front Tach | 8446 RPM | ok
Fan 6 Tach | 0 RPM | ok
Fan 1 Rear Tach | 7950 RPM | ok
Fan 2 Rear Tach | 7950 RPM | ok
Fan 3 Rear Tach | 8025 RPM | ok
Fan 4 Rear Tach | 7950 RPM | ok
Fan 5 Rear Tach | 7875 RPM | ok
Sys Fan Pwr | 24 Watts | ok