Ticket #2159 (closed defect: fixed)

Opened 8 years ago

Last modified 7 years ago

lm-sensors doesn't work on Abit AB9 Pro

Reported by: ticket Owned by: jwrdegoede
Priority: major Milestone:
Component: hardware Version: 2.10.0
Keywords: Cc: j.w.r.degoede@…

Description (last modified by ruik) (diff)

Please add your email to reporter field

lm-sensors gets all 0s on the Abit AB9 Pro (965 + ICH8R). I'm using 64bit Fedora Core 6 with a 2.6.19.1 kernel.

Here is the output of sensors detect, and sensors,

Next adapter: SMBus I801 adapter at 0500
Do you want to scan it? (YES/no/selectively): 
Client found at address 0x08
Client at address 0x50 can not be probed - unload all client drivers first!
Client at address 0x52 can not be probed - unload all client drivers first!

Some chips are also accessible through the ISA bus. ISA probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

Do you want to scan the ISA bus? (YES/no): 
Probing for `National Semiconductor LM78'
  Trying address 0x0290... Failed!
Probing for `National Semiconductor LM78-J'
  Trying address 0x0290... Failed!
Probing for `National Semiconductor LM79'
  Trying address 0x0290... Failed!
Probing for `Winbond W83781D'
  Trying address 0x0290... Failed!
Probing for `Winbond W83782D'
  Trying address 0x0290... Failed!
Probing for `Winbond W83627HF'
  Trying address 0x0290... Failed!
Probing for `Winbond W83627EHF'
  Trying address 0x0290... Failed!
Probing for `Silicon Integrated Systems SIS5595'
  Trying general detect... Failed!
Probing for `VIA Technologies VT82C686 Integrated Sensors'
  Trying general detect... Failed!
Probing for `VIA Technologies VT8231 Integrated Sensors'
  Trying general detect... Failed!
Probing for `ITE IT8712F'
  Trying address 0x0290... Failed!
Probing for `ITE IT8705F / SiS 950'
  Trying address 0x0290... Failed!
Probing for `IPMI BMC KCS'
  Trying address 0x0ca0... Failed!
Probing for `IPMI BMC SMIC'
  Trying address 0x0ca8... Failed!

Some Super I/O chips may also contain sensors. Super I/O probes are
typically a bit more dangerous, as we have to write to I/O ports to do
this. This is usually safe though.

Do you want to scan for Super I/O sensors? (YES/no): 
Probing for `ITE 8702F Super IO Sensors'
  Failed! (0x8863)
Probing for `ITE 8705F Super IO Sensors'
  Failed! (0x8863)
Probing for `ITE 8712F Super IO Sensors'
  Failed! (0x8863)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87360 Super IO Fan Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87363 Super IO Fan Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87364 Super IO Fan Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87365 Super IO Fan Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87365 Super IO Voltage Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87365 Super IO Thermal Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87366 Super IO Fan Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87366 Super IO Voltage Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87366 Super IO Thermal Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87372 Super IO Fan Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87373 Super IO Fan Sensors'
  Failed! (0x88)
Probing for `Nat. Semi. PC87591 Super IO'
  Failed! (0x88)
Probing for `Nat. Semi. PC87371 Super IO'
  Failed! (0x88)
Probing for `Nat. Semi. PC97371 Super IO'
  Failed! (0x88)
Probing for `Nat. Semi. PC8739x Super IO'
  Failed! (0x88)
Probing for `Nat. Semi. PC8741x Super IO'
  Failed! (0x88)
Probing for `Nat. Semi. PCPC87427 Super IO'
  Failed! (0x88)
Probing for `SMSC 47B27x Super IO Fan Sensors'
  Failed! (0x88)
Probing for `SMSC 47M10x/13x Super IO Fan Sensors'
  Failed! (0x88)
Probing for `SMSC 47M14x Super IO Fan Sensors'
  Failed! (0x88)
Probing for `SMSC 47M15x/192/997 Super IO Fan Sensors'
  Failed! (0x88)
Probing for `SMSC 47S42x Super IO Fan Sensors'
  Failed! (0x88)
Probing for `SMSC 47S45x Super IO Fan Sensors'
  Failed! (0x88)
Probing for `SMSC 47M172 Super IO'
  Failed! (0x88)
Probing for `SMSC LPC47B397-NC Super IO'
  Failed! (0x88)
Probing for `SMSC SCH5307-NS Super IO'
  Failed! (0x88)
Probing for `VT1211 Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83627HF Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83627THF Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83637HF Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83687THF Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83697HF Super IO Sensors'
  Failed! (0x88)
Probing for `Winbond W83697SF/UF Super IO PWM'
  Failed! (0x88)
Probing for `Winbond W83L517D Super IO'
  Failed! (0x88)
Probing for `Fintek F71805F/FG Super IO Sensors'
  Failed! (0x8863)
Probing for `Winbond W83627EHF/EHG Super IO Sensors'
  Success... found at address 0x0290

Do you want to scan for secondary Super I/O sensors? (YES/no): 
Probing for `ITE 8702F Super IO Sensors'
  Failed! (skipping family)
Probing for `Nat. Semi. PC87351 Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `SMSC 47B27x Super IO Fan Sensors'
  Failed! (skipping family)
Probing for `VT1211 Super IO Sensors'
  Failed! (skipping family)
Probing for `Winbond W83627EHF/EHG Super IO Sensors'
  Failed! (skipping family)

 Now follows a summary of the probes I have just done.
 Just press ENTER to continue: 

Driver `w83627ehf' (should be inserted):
  Detects correctly:
  * ISA bus address 0x0290 (Busdriver `i2c-isa')
    Chip `Winbond W83627EHF/EHG Super IO Sensors' (confidence: 9)


I will now generate the commands needed to load the I2C modules.

To make the sensors modules behave correctly, add these lines to
/etc/modprobe.conf:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----

To load everything that is needed, add this to some /etc/rc* file:

#----cut here----
# I2C adapter drivers
modprobe i2c-isa
# I2C chip drivers
modprobe w83627ehf
# sleep 2 # optional
/usr/bin/sensors -s # recommended
#----cut here----

WARNING! If you have some things built into your kernel, the list above
will contain too many modules. Skip the appropriate ones! You really should
try these commands right now to make sure everything is working properly.
Monitoring programs won't work until it's done.

Do you want to generate /etc/sysconfig/lm_sensors? (YES/no): 
Copy prog/init/lm_sensors.init to /etc/rc.d/init.d/lm_sensors
for initialization at boot time.
/usr/local/tools/hdlmaker_lib/csh> 
/usr/local/tools/hdlmaker_lib/csh> modprobe i2c-isa
/usr/local/tools/hdlmaker_lib/csh> sensors
w83627ehf-isa-0290
Adapter: ISA adapter
Case Fan:    0 RPM  (min =    0 RPM, div = 128)
CPU Fan:     0 RPM  (min =    0 RPM, div = 128)
fan3:        0 RPM  (min =    0 RPM, div = 128)
fan4:        0 RPM  (min =    0 RPM, div = 128)
Sys Temp:     -1°C  (high =    -1°C, hyst =    -1°C)  
CPU Temp:   +0.0°C  (high =  +0.0°C, hyst =  +0.0°C)  
temp3:      +0.0°C  (high =  +0.0°C, hyst =  +0.0°C)  

Change History

Changed 8 years ago by ruik

  • cc j.w.r.degoede@… added
  • owner changed from somebody to ruik
  • status changed from new to assigned
  • description modified (diff)

Hello,

Perhaps it has some kind of new uguru - special microprocessor. I'm CCing Hans, he might help.

Rudolf

Changed 8 years ago by ticket

I've installed the 2.6.20.1 kernel, temps still aren't working but voltages are. I did an modprobe of the abituguru module, it didn't seem to help. I'm using sensors 2.10.1.

Adapter: ISA adapter VCore: +2.04 V (min = +2.04 V, max = +2.04 V) ALARM in1: +13.46 V (min = +13.46 V, max = +13.46 V) ALARM AVCC: +4.08 V (min = +4.08 V, max = +4.08 V) ALARM 3VCC: +4.08 V (min = +4.08 V, max = +4.08 V) ALARM in4: +2.04 V (min = +2.04 V, max = +2.04 V) ALARM in5: +2.04 V (min = +2.04 V, max = +2.04 V) ALARM in6: +6.53 V (min = +6.53 V, max = +6.53 V) ALARM VSB: +4.08 V (min = +4.08 V, max = +4.08 V) ALARM VBAT: +4.08 V (min = +4.08 V, max = +4.08 V) ALARM in9: +2.04 V (min = +2.04 V, max = +2.04 V) ALARM Case Fan: 0 RPM (min = 0 RPM, div = 128) ALARM CPU Fan: 0 RPM (min = 0 RPM, div = 128) ALARM Aux Fan: 0 RPM (min = 0 RPM, div = 128) ALARM fan4: 0 RPM (min = 0 RPM, div = 128) ALARM Sys Temp: -1°C (high = -1°C, hyst = -1°C) ALARM CPU Temp: +0.0°C (high = +0.0°C, hyst = +0.0°C) ALARM AUX Temp: +0.0°C (high = +0.0°C, hyst = +0.0°C) ALARM

Changed 8 years ago by ruik

  • owner changed from ruik to jwrgoede
  • status changed from assigned to new

Pasting Han's reply (Hans you should have enough rights now, giving you the ticket):

Yes the AB9 pro probably has an uguru and most likely the 3th revision of the uguru, which doesn't work with the abituguru driver currently in the kernel I've written a driver for the 3th revision called abituguru3, which I've posted for review to the lm-sensors list quite some time ago.

Also notice that although the motherboard contains a super-io chip with sensors, this chip is not used by Abit for sensors and the sensors thus cannot be used. As can be seen from the worthless voltage readings (notice reading = min = max) , and the non working fan and temp readings.

The easiest way to get sensors readings on this board is by using the openguru userspace utility I wrote for this (must be run as root):  http://people.atrpms.net/~hdegoede/openguru2.3.1.tar.gz

Compile it like this: gcc -O2 -Wall -o oguru main2.c openGuru.c

And then as root run: ./oguru

Let me know if and how it works for you any feedback is much appreciated.

You can also try the kernel driver I wrote:  http://people.atrpms.net/~hdegoede/abituguru2-0.1.2.tar.gz

Untar, cd into the dir and run "make", this assumes you have the kernel-devel or equivalent package for your distro installed.

Once its made, do: modprobe hwmon insmod abituguru2.ko

And then you should have lots of files under /sys/bus/platform/devices/abituguru2.224

When you cat in0_input in this dir you should get a voltage in millivolt, if you want to know which voltage cat in0_label, etc, etc.

Notice that this version is still called abituguru2, in the kernel patch I've send to the list for review I've changed this to abituguru3 as this driver is for revision 3 of the uguru.

Regards,

Hans

Changed 8 years ago by ticket

Hi,

I tried to use the abituguru2 driver (0.1.2) but it wasn't able to find the device. I have an AB9 Pro running Ubuntu Feisty Fawn (2.6.20-6) x86_64. I also downloaded the openguru tool and this is the output of the first few lines on the first run:

Detect: 08 ac
uGuru wasn't found on motherboard.
AC2005 board id 0014

This is the beginning of the output of the second and all following runs:

Detect: 00 05
uGuru wasn't found on motherboard.
AC2005 board id 0014

I noticed that the all values seemed to be OK but I miss the fan information for AUX1 to AUX3.

Regards, Mark Junker

Changed 8 years ago by jwrdegoede

  • owner changed from jwrgoede to jwrdegoede
  • status changed from new to assigned

Hi, I tried to use the abituguru2 driver (0.1.2) but it wasn't able to find the device.

Yes, that reminds me that the detection code needs to be even less strict. To work around this do: "insmod abituguru2.ko force=1"

I have an AB9 Pro running Ubuntu Feisty Fawn (2.6.20-6) x86_64. I also downloaded the openguru tool and this is the output of the first few lines on the first run: {{{ Detect: 08 ac uGuru wasn't found on motherboard. AC2005 board id 0014 }}} This is the beginning of the output of the second and all following runs: {{{ Detect: 00 05 uGuru wasn't found on motherboard. AC2005 board id 0014 }}}

Okay, thats once again the detection code not working, but unlike the kernel driver openguru continues even when the detection fails, confusing I know, but please keep in mind that openguru is meant only as a debug tool to help developing the kernel driver.

I noticed that the all values seemed to be OK but I miss the fan information for AUX1 to AUX3.

Strange, the motherboard information used to determine what inputs to show and how to label them is taken straight from Abit .ini files, well I've seen a bug in one of those .ini files before :)

Try putting this version:  http://people.atrpms.net/~hdegoede/config0014.h of config0014.h in the openguru dir and then recompiling that should give you those fans too.

Regards,

Hans

Changed 7 years ago by jwrdegoede

  • status changed from assigned to closed
  • resolution set to fixed

Closing as the abituguru3 driver is now in 2.6.23rc1 and libsensors support is in 2.10.4

Note: See TracTickets for help on using tickets.