Hi, I have an IP35 Pro mainboard with the uGuru feature. Until recently I was using the abituguru hwmon driver without issue. Recently (possibly since upgrading the BIOS to 16) the driver no longer loads, citing: abituguru3: no Abit uGuru3 found, data = 0x00, cmd = 0x55 After looking at the code in the driver, I found the force module parameter and tried it. Sure enough, the module loaded fine: abituguru3-isa-00e0 Adapter: ISA adapter CPU Core: +1.28 V (min = +0.00 V, max = +1.70 V) DDR2: +2.10 V (min = +1.70 V, max = +2.54 V) DDR2 VTT: +1.04 V (min = +0.85 V, max = +1.27 V) CPU VTT 1.2V: +1.25 V (min = +1.05 V, max = +1.55 V) MCH 1.25V: +1.25 V (min = +1.00 V, max = +1.50 V) ICHIO 1.5V: +1.53 V (min = +1.20 V, max = +1.80 V) ICH 1.05V: +1.07 V (min = +0.85 V, max = +1.25 V) ATX +12V (24-Pin):+12.36 V (min = +9.60 V, max = +14.40 V) ATX +12V (8-pin): +12.36 V (min = +9.60 V, max = +14.40 V) ATX +5V: +5.04 V (min = +3.99 V, max = +6.00 V) +3.3V: +3.32 V (min = +2.64 V, max = +3.94 V) 5VSB: +5.19 V (min = +3.99 V, max = +6.00 V) CPU Fan: 0 RPM (min = 300 RPM) SYS Fan: 0 RPM (min = 300 RPM) AUX1 Fan: 1380 RPM (min = 300 RPM) AUX2 Fan: 1620 RPM (min = 300 RPM) AUX3 Fan: 0 RPM (min = 300 RPM) AUX4 Fan: 0 RPM (min = 300 RPM) CPU: +34.0?C (high = +75.0?C, crit = +85.0?C) System : +28.0?C (high = +55.0?C, crit = +65.0?C) PWM : +40.0?C (high = +80.0?C, crit = +90.0?C) PWM Phase2: +0.0?C (high = +0.0?C, crit = +255.0?C) PWM Phase3: +0.0?C (high = +0.0?C, crit = +255.0?C) PWM Phase4: +0.0?C (high = +0.0?C, crit = +255.0?C) PWM Phase5: +0.0?C (high = +0.0?C, crit = +255.0?C) A fix that works here is to add 0x55 as an additional cmd_val check in abituguru3_detect(), but I think we all know this function is starting to look a bit suspicious. I've attached a patch which does this (tested as working), but I won't be surprised if you guys don't want to apply it. Signed-off-by: Alistair John Strachan <alistair at devzero.co.uk> --- diff --git a/drivers/hwmon/abituguru3.c b/drivers/hwmon/abituguru3.c index ed33fdd..74b283d 100644 --- a/drivers/hwmon/abituguru3.c +++ b/drivers/hwmon/abituguru3.c @@ -1115,7 +1115,7 @@ static int __init abituguru3_detect(void) u8 data_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_DATA); u8 cmd_val = inb_p(ABIT_UGURU3_BASE + ABIT_UGURU3_CMD); if (((data_val == 0x00) || (data_val == 0x08)) && - ((cmd_val == 0xAC) || (cmd_val == 0x05))) + ((cmd_val == 0xAC) || (cmd_val == 0x05) || (cmd_val == 0x55))) return ABIT_UGURU3_BASE; ABIT_UGURU3_DEBUG("no Abit uGuru3 found, data = 0x%02X, cmd = " -- Cheers, Alistair. 137/1 Warrender Park Road, Edinburgh, UK.