Ticket #2143 (closed defect: fixed)

Opened 7 years ago

Last modified 5 years ago

Can't detect sensors on Asus DSBF-D motherboard

Reported by: support@… Owned by: ruik
Priority: major Milestone:
Component: hardware Version: 2.10.1
Keywords: Asus DSBF sensors Cc: support@…

Description (last modified by ruik) (diff)

I have a new Asus DSBF mobo which includes both motherboard sensors AND memory (FB-DIMM) sensors. I downloaded the latest lm_sensors but can't detect the hardware sensors. (The output of sensors-detect is below).

Has anyone been able to get lm_sensors working on this mobo? Can anyone offer advice?

Thanks, MD

----------------------------------------------------------------

'''[root@vmhost1 src]# sensors-detect
# sensors-detect revision 1.413 (2006/01/19 20:28:00)

This program will help you determine which I2C/SMBus modules you need to
load to use lm_sensors most effectively. You need to have i2c and
lm_sensors installed before running this program.
Also, you need to be `root', or at least have access to the /dev/i2c-*
files, for most things.
If you have patched your kernel and have some drivers built in, you can
safely answer NO if asked to load some modules. In this case, things may
seem a bit confusing, but they will still work.

It is generally safe and recommended to accept the default answers to all
questions, unless you know what you're doing.

 We can start with probing for (PCI) I2C or SMBus adapters.
 You do not need any special privileges for this.
 Do you want to probe now? (YES/no): 
Probing for PCI bus adapters...
Use driver `i2c-i801' for device 00:1f.3: Intel Enterprise Southbridge - ESB2
Probe succesfully concluded.

We will now try to load each adapter module in turn.
Module `i2c-i801' already loaded.
If you have undetectable or unsupported adapters, you can have them
scanned by manually loading the modules before running this script.

 To continue, we need module `i2c-dev' to be loaded.
 If it is built-in into your kernel, you can safely skip this.
 i2c-dev is not loaded. Do you want to load it now? (YES/no): 
 Module loaded succesfully.

 We are now going to do the adapter probings. Some adapters may hang halfway
 through; we can't really help that. Also, some chips will be double detected;
 we choose the one with the highest confidence value in that case.
 If you found that the adapter hung after probing a certain address, you can
 specify that address to remain unprobed. That often
 includes address 0x69 (clock chip).

Next adapter: SMBus I801 adapter at 1100
Do you want to scan it? (YES/no/selectively): 
Client found at address 0x08
Client found at address 0x2f
Probing for `National Semiconductor LM78'... Failed!
Probing for `National Semiconductor LM78-J'... Failed!
Probing for `National Semiconductor LM79'... Failed!
Probing for `National Semiconductor LM80'... Failed!
Probing for `Winbond W83781D'... Failed!
Probing for `Winbond W83782D'... Failed!
Probing for `Winbond W83791D'... Failed!
Probing for `Winbond W83792D'... Failed!
Probing for `Winbond W83791SD'... Failed!
Probing for `Winbond W83627HF'... Failed!
Probing for `Winbond W83627EHF'... Failed!
Probing for `Asus AS99127F (rev.1)'... Failed!
Probing for `Asus AS99127F (rev.2)'... Failed!
Probing for `Asus ASB100 Bach'... Failed!
Probing for `Analog Devices ADM9240'... Failed!
Probing for `Dallas Semiconductor DS1780'... Failed!
Probing for `National Semiconductor LM81'... Failed!
Probing for `Analog Devices ADM1029'... Failed!
Probing for `ITE IT8712F'... Failed!
Client found at address 0x44
Probing for `Maxim MAX6633/MAX6634/MAX6635'... Failed!
Client found at address 0x4b
Probing for `National Semiconductor LM75'... Failed!
Probing for `National Semiconductor LM77'... Failed!
Probing for `Dallas Semiconductor DS1621'... Failed!
Probing for `Maxim MAX6650/MAX6651'... Failed!
Probing for `National Semiconductor LM92'... Failed!
Probing for `National Semiconductor LM76'... Failed!
Probing for `Maxim MAX6633/MAX6634/MAX6635'... Failed!
Client found at address 0x4f
Probing for `National Semiconductor LM75'... Failed!
Probing for `Dallas Semiconductor DS1621'... Failed!
Probing for `Maxim MAX6633/MAX6634/MAX6635'... Failed!
Client found at address 0x54
Probing for `SPD EEPROM'... Success!
    (confidence 1, driver `eeprom')
Client found at address 0x55
Probing for `SPD EEPROM'... Success!
    (confidence 1, driver `eeprom')
Client found at address 0x61
Probing for `SMBus 2.0 ARP-Capable Device'... Success!
    (confidence 1, driver `smbus-arp')
Client found at address 0x71

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! (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! (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... but not activated

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 `eeprom' (should be inserted):
  Detects correctly:
  * Bus `SMBus I801 adapter at 1100'
    Busdriver `i2c-i801', I2C address 0x54
    Chip `SPD EEPROM' (confidence: 1)
  * Bus `SMBus I801 adapter at 1100'
    Busdriver `i2c-i801', I2C address 0x55
    Chip `SPD EEPROM' (confidence: 1)

Driver `smbus-arp' (should be inserted):
  Detects correctly:
  * Bus `SMBus I801 adapter at 1100'
    Busdriver `i2c-i801', I2C address 0x61
    Chip `SMBus 2.0 ARP-Capable Device' (confidence: 1)


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-i801
# I2C chip drivers
modprobe eeprom
# Warning: the required module smbus-arp is not currently installed on your system.
# For status of 2.6 kernel ports see http://secure.netroedge.com/~lm78/supported.html
# If driver is built-in to the kernel, or unavailable, comment out the following line.
modprobe smbus-arp
# 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.
[root@vmhost1 src]'''

Attachments

consoleoutput.txt Download (8.0 KB) - added by ticket 7 years ago.
Console output showing sensors-detect, modprobes, and sensors -s
2143_lspci.txt Download (29.8 KB) - added by ticket 7 years ago.
test.log Download (3.3 KB) - added by ticket 7 years ago.
simple test output to read AMB temp sensor
intel_detect.txt Download (6.1 KB) - added by ticket 7 years ago.
sensors-detect rev4271 on intel board
fbdtemp.c Download (1.7 KB) - added by ticket 7 years ago.
Display the FB-DIMM temperature and thermal trip points

Change History

Changed 7 years ago by ticket

Console output showing sensors-detect, modprobes, and sensors -s

follow-up: ↓ 2   Changed 7 years ago by ticket

I have reinstalled from the tar file (I think the rpm was not quite right) and have better results now - but I'm still stuck.

The attachement shows the results for sensors-detect, modprobes, and sensors -s. I realize that I don't have the winbond driver yet (seperate issue), but why won't my eeprom sensors work? I have the modules loaded, but sensors -s won't find them!

(I have FB-DIMMs with temp sensors which are visible in the bios).

Thanks for the help!

in reply to: ↑ 1   Changed 7 years ago by khali

Replying to ticket:

The attachement shows the results for sensors-detect, modprobes, and sensors -s. I realize that I don't have the winbond driver yet (seperate issue), but why won't my eeprom sensors work? I have the modules loaded, but sensors -s won't find them! (I have FB-DIMMs with temp sensors which are visible in the bios).

From the output of sensors-detect:

EEPROMs are *NOT* sensors! They are data storage chips commonly
found on memory modules (SPD), in monitors (EDID), or in some
laptops, for example.

If you want to read the contents of the EEPROMs, use the script "decode-dimms.pl".

I've never heard of memory modules with embedded thermal sensors. What brand and model is it? sensors-detect didn't recognize any additional sensor. We'd need to know how the sensors are wired and how they can be accessed.

  Changed 7 years ago by ticket

The memory I use are FB-DIMM's model KVR667D2D8F5K2/2G (2GB 667MHz DDR2 ECC Fully Buffered CL5 DIMM Dual Rank, x8). The decode-dimms.pl script is unable to decode the dimms (completely wrong).

As for the temp sensors, can anyone give me instructions on how to get the `w83793' driver into my kernel (2.6.18)?

Thanks, MD

follow-up: ↓ 5   Changed 7 years ago by ruik

  • owner changed from somebody to ruik
  • status changed from new to assigned
  • description modified (diff)
  • reporter changed from ticket to support@…

Hello,

The W83793 driver is ready to be in 2.6.20! You may take the patch from here:  http://khali.linux-fr.org/devel/linux-2.6/jdelvare-hwmon/hwmon-w83793-new-driver.patch

With some luck it will apply on older kernels (2.6.19 perhaps)

As for the FB-DIMM temperature, please provide output of following commands:

lspci
lspci -xxx

I think the temperature could be read from some PCI device, as specified here:  http://www.intel.com/design/chipsets/datashts/313072.htm

If you happen to have such device, a driver could be developed. If you would like to support the development with funds and/or testing even better.

Thanks,
Rudolf

in reply to: ↑ 4   Changed 7 years ago by ticket

Replying to ruik:

As for the FB-DIMM temperature, please provide output of following commands: {{{ lspci lspci -xxx }}}

I'm not the OP, but I also have a board which runs FB-dimms and I'd like to be able to read their temp. In the interest of moving this along, here is my info:

00:00.0 Host bridge: Intel Corporation 5000X Chipset Memory Controller Hub (rev 31)
00:02.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x8 Port 2-3 (rev 31)
00:03.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 3 (rev 31)
00:04.0 PCI bridge: Intel Corporation 5000X Chipset PCI Express x16 Port 4-7 (rev 31)
00:05.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 5 (rev 31)
00:06.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 6 (rev 31)
00:07.0 PCI bridge: Intel Corporation 5000 Series Chipset PCI Express x4 Port 7 (rev 31)
00:08.0 System peripheral: Intel Corporation 5000 Series Chipset DMA Engine (rev 31)
00:10.0 Host bridge: Intel Corporation 5000 Series Chipset Error Reporting Registers (rev 31)
00:10.1 Host bridge: Intel Corporation 5000 Series Chipset Error Reporting Registers (rev 31)
00:10.2 Host bridge: Intel Corporation 5000 Series Chipset Error Reporting Registers (rev 31)
00:11.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev 31)
00:13.0 Host bridge: Intel Corporation 5000 Series Chipset Reserved Registers (rev 31)
00:15.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev 31)
00:16.0 Host bridge: Intel Corporation 5000 Series Chipset FBD Registers (rev 31)
00:1b.0 Audio device: Intel Corporation 631xESB/632xESB High Definition Audio Controller (rev 09)
00:1c.0 PCI bridge: Intel Corporation 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 (rev 09)
00:1d.0 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 (rev 09)
00:1d.1 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 (rev 09)
00:1d.2 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 (rev 09)
00:1d.3 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 (rev 09)
00:1d.7 USB Controller: Intel Corporation 631xESB/632xESB/3100 Chipset EHCI USB2 Controller (rev 09)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)
00:1f.0 ISA bridge: Intel Corporation 631xESB/632xESB/3100 Chipset LPC Interface Controller (rev 09)
00:1f.1 IDE interface: Intel Corporation 631xESB/632xESB IDE Controller (rev 09)
00:1f.2 SATA controller: Intel Corporation 631xESB/632xESB SATA Storage Controller AHCI (rev 09)
00:1f.3 SMBus: Intel Corporation 631xESB/632xESB/3100 Chipset SMBus Controller (rev 09)
01:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Upstream Port (rev 01)
01:00.3 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express to PCI-X Bridge (rev 01)
02:00.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E1 (rev 01)
02:02.0 PCI bridge: Intel Corporation 6311ESB/6321ESB PCI Express Downstream Port E3 (rev 01)
04:00.0 Ethernet controller: Intel Corporation 631xESB/632xESB DPT LAN Controller Copper (rev 01)
04:00.1 Ethernet controller: Intel Corporation 631xESB/632xESB DPT LAN Controller Copper (rev 01)

See attachment for lspci -xxx. I should also mention that I'm reading other temps and fan speeds from IPMI, so it's possible this could be read from there, too.

Thanks, Frank

Changed 7 years ago by ticket

  Changed 7 years ago by ruik

Hello,

Oh IPMI, seems sensors-detect did not find that :/ What modules are load from IPMI? Any details what and where is detected?

I'm attaching the simple program that might read the FB-DIMM temp. Careful! It will run only on that machine you provided dumps from the PCI. It can crash your system even it is doing only read only access!

#include <sys/mman.h>
#include <sys/stat.h>
#include <fcntl.h>

void main(void) {
unsigned char * addr;
int fd = open("/dev/mem", O_RDONLY);
int i;
int idx;
addr = mmap(0, 128*1024*1024, PROT_READ, MAP_PRIVATE, fd, 0xFE000000);
//addr = mmap(0, 128, PROT_READ, MAP_PRIVATE, fd, 0xd5000000);

//we want function 3, 
//4 channels, 16AMB/channel
for (i=0;i<64;i++) {
idx = i*2048;
printf("Intel sig: %02x %02x\n", addr[idx],addr[idx+1]);
//offset 85h function 3
printf("Current temp is: %f (0x%02x)C\n", (addr[idx+(256*3)+0x85] / (float) 2.0), addr[idx+(256*3)+0x85]);

}
}

Compile and run as root:

gcc -o test test.c
su
./test

Send the output back please ;) If there will be 0x80 0x86 next line may contain actual temp.

Good luck.

Rudolf

  Changed 7 years ago by ticket

Happy Holidays Rudolf!

Your program seemed to work, output is attached. So I usually see temps between 58-66C, which is reasonable, I think. No crashes.

root@oscar1:/tmp# zgrep IPMI /proc/config.gz # IPMI CONFIG_IPMI_HANDLER=y CONFIG_IPMI_PANIC_EVENT=y CONFIG_IPMI_PANIC_STRING=y CONFIG_IPMI_DEVICE_INTERFACE=y CONFIG_IPMI_SI=y CONFIG_IPMI_WATCHDOG=y CONFIG_IPMI_POWEROFF=y CONFIG_SENSORS_IPMI=y

ipmisensors is a patch from here  http://bmcsensors-26.sourceforge.net/ipmisensors/

sensors-detect did not pick up ipmi because that was MDs' ASUS board and this is my Intel board. I get fan speeds, P/S voltages, dimm/cpu population, PCI-E link errors, and mobo temp for example from ipmi. No cpu temps, just "Therm Margin". I'm using your coretemp patch (thanks for that!). It works here on dual Xeon 5160s. I'm only using ipmitool occasionally, as ipmisensors patch lets me monitor fans and temps from gnome sensors-applet.

Frank

Changed 7 years ago by ticket

simple test output to read AMB temp sensor

  Changed 7 years ago by ticket

I'll also add that I have four dimms, so there are four readings.

  Changed 7 years ago by ruik

Hello,

Yep, happy new year! A lot of success in upcoming year!

Cool it works ;) Good is that it does not crash, I did not know what will happen when I read empty slots.

Now a proper driver could be developed. Do you offer something for a development? Money, test support, random hardware, whatever?

Let me clarify the IPMI issue. The Asus board do not have that, other Intel board with unknown specs (for me) has the IPMI. Right?

I will fix the sensors-detect routine, please try that out. Now the SVN version of sensors-detect should detect that.

Maybe you can try out the w83793 driver.

Rudolf

Changed 7 years ago by ticket

sensors-detect rev4271 on intel board

  Changed 7 years ago by ticket

There is the latest sensors-detect output, it finds it.

That is another person "MD" that has the asus. He will have to try w83793. I only have the intel with ipmi.

Also, the test program will freeze the system after 30 seconds or so if I use it like: "watch ./test|grep -A1 "86 80", so I won't do that :)

I can test your driver, and find some others with FB-DIMMs on Tyan boards with IPMI.

Thanks, Frank

  Changed 7 years ago by ticket

Rudolf,

Can you explain how you derived the base address 0xFE000000 in your test program?

Thanks

Bolek

  Changed 7 years ago by ruik

Hi Bolek,

Check the datasheet for this chipset, there is one register for it. Imho default was that address.

Rudolf

follow-up: ↓ 14   Changed 7 years ago by ticket

Thanks to the info from Rudolf I cleaned up his test program a little bit (see attached fbdtemp.c). It still only supports Intel 5000 MCH and Intel 6400/6402 AMBs but it seems to work on several different motherboards (Asus, Dell). It also displays the low, mid and high thermal trip points.

Of course it's not the real driver but that is over my head.

Changed 7 years ago by ticket

Display the FB-DIMM temperature and thermal trip points

in reply to: ↑ 13   Changed 7 years ago by ticket

Replying to ticket:

Thanks to the info from Rudolf I cleaned up his test program a little bit (see attached fbdtemp.c). It still only supports Intel 5000 MCH and Intel 6400/6402 AMBs but it seems to work on several different motherboards (Asus, Dell). It also displays the low, mid and high thermal trip points. Of course it's not the real driver but that is over my head.

There is already a driver written (actually two), the latest posted here:

 http://lists.lm-sensors.org/pipermail/lm-sensors/2007-July/020745.html

Frank

follow-up: ↓ 16   Changed 7 years ago by ticket

I just saw the update - I posted the original question regarding my asus mb. I would like to test reading the DIMM temperatures.

Do I need to download the driver listed in the last posting? (It appears to be a patch file). Or, my preference, can I download the latest lm-Sensors and just make it and try again?

Thanks, MD

in reply to: ↑ 15   Changed 7 years ago by ticket

Replying to ticket:

I just saw the update - I posted the original question regarding my asus mb. I would like to test reading the DIMM temperatures. Do I need to download the driver listed in the last posting? (It appears to be a patch file). Or, my preference, can I download the latest lm-Sensors and just make it and try again? Thanks, MD

You will have to patch your kernel with the driver, enable it, and recompile. Then you can read the temps like this:

root@oscar1:~# cat /sys/devices/platform/i5k_amb.0/*input
58000
50000
52000
53000

Once the driver has been accepted, there can be support added to lm-sensors for reading from your favorite program.

Frank

  Changed 5 years ago by ruik

  • status changed from assigned to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.