amilo-forum.com

Everything you need to know about Amilo and Lifebook laptops by Fujitsu

sensors chips on Uniwill SA0 motherboard Amilo D 1845

Everything around Linux and Unix-like operating systems.

sensors chips on Uniwill SA0 motherboard Amilo D 1845

Postby Fezar » Wed Feb 14, 2007 1:25 pm

Hey all

Does anyone know about ANY type of sensor in the Amilo D 1845 with Uniwll 257SA0 mobo? What I know:

HDD is SMART able so HDDTEMP, everest, MBM, etc all find this and works great in linux!

Also Notebook Tools detects ACPI core temp value to be constantly 75 deg C

But this is no good to me cos I want to work out motherboard sensor values for use in linux. lm_sensors can find sensors but doesn't know what they are! If I could find out what kernel drivers are needed I could modprobe them and then lm_sensors should find them... Contacted Uniwill about my mobo and they emailed me a repair guide and said they don't know. So I pass this issue to the knowledgeable guys at amilo-forum

Using American Megatrends bios at latest revision (1.04C), no sensor info available in bios screens

What do you reckon?

Cheers!
Tom
Last edited by aspettl on Wed Feb 14, 2007 1:25 pm, edited 1 time in total.
Reason: aspettl (Wed Mar 21, 2007 11:02 pm): Moved.
Fezar
 
Posts: 25
Joined: Wed Feb 14, 2007 12:18 pm
Location: Birmingham, UK

Postby aspettl » Wed Feb 14, 2007 3:35 pm

What's the output of sensors-detect?

Regards
Aaron
User avatar
aspettl
Site Admin
 
Posts: 1347
Joined: Sat Mar 25, 2006 3:31 pm
Location: Germany
Notebook:
  • Lifebook E8020D

sensors-detect

Postby Fezar » Sun Feb 18, 2007 3:08 pm

Sorry for the delay!

first of all:
sensors -v
Code: Select all
sensors version 2.10.1 with libsensors version 2.10.1


uname -a
Code: Select all
Linux Linux 2.6.18.2-34-default #1 SMP Mon Nov 27 11:46:27 UTC 2006 i686 i686 i386 GNU/Linux


And sensors-detect says:
Code: Select all
# sensors-detect revision 4171 (2006-09-24 03:37:01 -0700)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. 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.
Do you want to probe now? (YES/no):
Probing for PCI bus adapters...
Use driver `i2c-sis96x' for device 0000:00:02.1: Silicon Integrated Systems SMBus Controller

We will now try to load each adapter module in turn.
Module `i2c-sis96x' 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.
Do you want to load `i2c-dev' now? (YES/no):
Module loaded successfully.

We are now going to do the I2C/SMBus adapter probings. Some chips may
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.

Next adapter: SiS96x SMBus adapter at 0x0c00
Do you want to scan it? (YES/no/selectively):
Client found at address 0x08
Client found at address 0x10
Client found at address 0x30
Client found at address 0x31
Client found at address 0x50
Handled by driver `eeprom' (already loaded), chip type `eeprom'
Client found at address 0x51
Handled by driver `eeprom' (already loaded), chip type `eeprom'

Some chips are also accessible through the ISA I/O ports. We have to
write to arbitrary I/O ports to probe them. This is usually safe though.
Yes, you do have ISA I/O ports even if you do not have any ISA slots!
Do you want to scan the ISA I/O ports? (YES/no):
Probing for `National Semiconductor LM78' at 0x290...       No
Probing for `National Semiconductor LM78-J' at 0x290...     No
Probing for `National Semiconductor LM79' at 0x290...       No
Probing for `Winbond W83781D' at 0x290...                   No
Probing for `Winbond W83782D' at 0x290...                   No
Probing for `Winbond W83627HF' at 0x290...                  No
Probing for `Silicon Integrated Systems SIS5595'...         No
Probing for `VIA VT82C686 Integrated Sensors'...            No
Probing for `VIA VT8231 Integrated Sensors'...              No
Probing for `AMD K8 thermal sensors'...                     No
Probing for `IPMI BMC KCS' at 0xca0...                      No
Probing for `IPMI BMC SMIC' at 0xca8...                     No


this is the part:
Code: Select all
Some Super I/O chips may also contain sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no):
Probing for Super-I/O at 0x2e/0x2f
Trying family `ITE'...                                      Yes
Found unknown chip with ID 0xf411
Trying family `National Semiconductor'...                   Yes
Found unknown chip with ID 0xf411
Trying family `SMSC'...                                     Yes
Found unknown chip with ID 0xf411
Trying family `VIA/Winbond/Fintek'...                       Yes
Found unknown chip with ID 0xf411
Probing for Super-I/O at 0x4e/0x4f
Trying family `ITE'...                                      Yes
Found unknown chip with ID 0xec11
Trying family `National Semiconductor'...                   Yes
Found `Nat. Semi. PC87591 Super IO'
    (but not activated)
Trying family `SMSC'...                                     Yes
Found unknown chip with ID 0xec11
Trying family `VIA/Winbond/Fintek'...                       Yes
Found unknown chip with ID 0xec11[/b]
Now follows a summary of the probes I have just done.

Code: Select all
Just press ENTER to continue:

Driver `eeprom' (should be inserted):
  Detects correctly:
  * Bus `SiS96x SMBus adapter at 0x0c00'
    Busdriver `i2c-sis96x', I2C address 0x50
    Chip `eeprom' (confidence: 6)
  * Bus `SiS96x SMBus adapter at 0x0c00'
    Busdriver `i2c-sis96x', I2C address 0x51
    Chip `eeprom' (confidence: 6)

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

I will now generate the commands needed to load the required modules.
Just press ENTER to continue:

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-sis96x
# Chip drivers
modprobe eeprom
# sleep 2 # optional
/usr/bin/sensors -s # recommended
#----cut here----

If you have some drivers 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 the needed
modules are loaded.

Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no):


So it can find some I/O sensors but doesn't know what they are!

thanks for replying

Tom
Last edited by Fezar on Sat Mar 10, 2007 4:18 pm, edited 2 times in total.
Fezar
 
Posts: 25
Joined: Wed Feb 14, 2007 12:18 pm
Location: Birmingham, UK

Any thoughts?

Postby Fezar » Fri Feb 23, 2007 3:02 pm

Has anyone got any idea what these sensors might be?

Does anyone know of a decent motherboard manual for uniwill SA0 mobo, the easyguide that comes with it is useless!

Thanks
Fezar
 
Posts: 25
Joined: Wed Feb 14, 2007 12:18 pm
Location: Birmingham, UK

Getting there...

Postby Fezar » Sat Mar 10, 2007 12:40 pm

For the record the motherboard inside the FSC amilo D 1845 is a uniwll 257SA0. Someone kindly emailed me a service planning guide which states the following:
Service and Repair documentations (e.g. explosion diagrams) for the AMILO D 1845 will be posted in http://extranet.fujitsu-siemens.com/ser ... oks/amilos
Please note:
Only the authorized local Repair Centres will have access rights to this extranet area. :shock:

It would be great if I could get hold of an explosion diagram for this model to double-check the sensor chips. NickS gave me an explosion guide for the 258SA0 which is similar but not quite the same as the one inside my laptop. this guide says that the CPU has a thermal sensor that is an ADM 1032, but this is well documented and supported in lm-sensors with the lm90 kernel driver, so this made me wonder if there is a different chip on the 257 board that is currently unsupported, Can anyone get in and access this info for me? I can't believe that only authorised repairers can get in!
Fezar
 
Posts: 25
Joined: Wed Feb 14, 2007 12:18 pm
Location: Birmingham, UK

Sensors can be found: PC Wizard!

Postby Fezar » Tue Mar 20, 2007 3:42 pm

Pc Wizard 2007 detects some sensors on my mobo:
Battery Voltage
CPU Core voltage
CPU Temperature
HDD Temperature
CPU Frequency

I have also found out that my laptop has a SiS648FX chipset, and thus needs the experimental/beta i2c-sis645 driver, not the i2c-sis96x driver sensors-detect loads (http://www.lm-sensors.org/wiki/Devices). The problem with this is it was not included in the installation on my distribution, so I need to compile it into a .ko module, and don't know how. Does anyone know how to compile? I tried cc i2c-sis645.c and it returned error, can anyone help?

Code: Select all
Linux:/home/tom/Desktop/i2c # cc i2c-sis645.c
In file included from /usr/include/linux/module.h:11,
                 from i2c-sis645.c:43:
/usr/include/linux/list.h:887:2: warning: #warning "don't include kernel headers in userspace"
In file included from i2c-sis645.c:43:
/usr/include/linux/module.h:49: error: field ‘attr’ has incomplete type
/usr/include/linux/module.h:60: error: field ‘kobj’ has incomplete type
In file included from i2c-sis645.c:48:
/usr/include/linux/ioport.h:18: error: expected specifier-qualifier-list before ‘resource_size_t’
/usr/include/linux/ioport.h:102: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:102: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:103: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:103: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:105: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:105: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:107: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:108: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:119: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:120: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:127: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:127: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:128: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:129: error: expected declaration specifiers or ‘...’ before ‘resource_size_t’
/usr/include/linux/ioport.h:131: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘check_region’
i2c-sis645.c:53:21: error: version.h: No such file or directory
i2c-sis645.c:54:28: error: sensors_compat.h: No such file or directory
i2c-sis645.c:147: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘sis645_smbus_base’
i2c-sis645.c:149: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘sis645_read’
i2c-sis645.c:154: error: expected ‘)’ before ‘reg’
i2c-sis645.c: In function ‘sis645_transaction’:
i2c-sis645.c:359: error: ‘KERN_DEBUG’ undeclared (first use in this function)
i2c-sis645.c:359: error: (Each undeclared identifier is reported only once
i2c-sis645.c:359: error: for each function it appears in.)
i2c-sis645.c:359: error: expected ‘)’ before string constant
i2c-sis645.c: At top level:
i2c-sis645.c:392: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘sis645_access’
i2c-sis645.c:477: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘sis645_func’
i2c-sis645.c:484: error: variable ‘smbus_algorithm’ has initializer but incomplete type
i2c-sis645.c:485: error: unknown field ‘name’ specified in initializer
i2c-sis645.c:485: warning: excess elements in struct initializer
i2c-sis645.c:485: warning: (near initialization for ‘smbus_algorithm’)
i2c-sis645.c:486: error: unknown field ‘id’ specified in initializer
i2c-sis645.c:486: error: ‘I2C_ALGO_SMBUS’ undeclared here (not in a function)
i2c-sis645.c:486: warning: excess elements in struct initializer
i2c-sis645.c:486: warning: (near initialization for ‘smbus_algorithm’)
i2c-sis645.c:487: error: unknown field ‘smbus_xfer’ specified in initializer
i2c-sis645.c:487: error: ‘sis645_access’ undeclared here (not in a function)
i2c-sis645.c:487: warning: excess elements in struct initializer
i2c-sis645.c:487: warning: (near initialization for ‘smbus_algorithm’)
i2c-sis645.c:488: error: unknown field ‘functionality’ specified in initializer
i2c-sis645.c:488: error: ‘sis645_func’ undeclared here (not in a function)
i2c-sis645.c:488: warning: excess elements in struct initializer
i2c-sis645.c:488: warning: (near initialization for ‘smbus_algorithm’)
i2c-sis645.c:491: error: variable ‘sis645_adapter’ has initializer but incomplete type
i2c-sis645.c:492: error: unknown field ‘id’ specified in initializer
i2c-sis645.c:492: error: ‘I2C_HW_SMBUS_SIS645’ undeclared here (not in a function)
i2c-sis645.c:492: warning: excess elements in struct initializer
i2c-sis645.c:492: warning: (near initialization for ‘sis645_adapter’)
i2c-sis645.c:493: error: unknown field ‘algo’ specified in initializer
i2c-sis645.c:493: warning: excess elements in struct initializer
i2c-sis645.c:493: warning: (near initialization for ‘sis645_adapter’)
i2c-sis645.c:494: error: unknown field ‘inc_use’ specified in initializer
i2c-sis645.c:494: warning: excess elements in struct initializer
i2c-sis645.c:494: warning: (near initialization for ‘sis645_adapter’)
i2c-sis645.c:495: error: unknown field ‘dec_use’ specified in initializer
i2c-sis645.c:495: warning: excess elements in struct initializer
i2c-sis645.c:495: warning: (near initialization for ‘sis645_adapter’)
i2c-sis645.c:498: error: array type has incomplete element type
i2c-sis645.c:500: error: field name not in record or union initializer
i2c-sis645.c:500: error: (near initialization for ‘sis645_ids’)
i2c-sis645.c:501: error: field name not in record or union initializer
i2c-sis645.c:501: error: (near initialization for ‘sis645_ids’)
i2c-sis645.c:502: error: field name not in record or union initializer
i2c-sis645.c:502: error: (near initialization for ‘sis645_ids’)
i2c-sis645.c:502: error: ‘PCI_ANY_ID’ undeclared here (not in a function)
i2c-sis645.c:503: error: field name not in record or union initializer
i2c-sis645.c:503: error: (near initialization for ‘sis645_ids’)
i2c-sis645.c: In function ‘sis645_probe’:
i2c-sis645.c:511: error: ‘u16’ undeclared (first use in this function)
i2c-sis645.c:511: error: expected ‘;’ before ‘ww’
i2c-sis645.c:514: error: ‘sis645_smbus_base’ undeclared (first use in this function)
i2c-sis645.c:519: error: ‘ww’ undeclared (first use in this function)
i2c-sis645.c:535: error: invalid use of undefined type ‘struct pci_driver’
i2c-sis645.c:535: error: too many arguments to function ‘__request_region’
i2c-sis645.c:545: warning: incompatible implicit declaration of built-in function ‘sprintf’
i2c-sis645.c:545: error: invalid use of undefined type ‘struct i2c_adapter’
i2c-sis645.c:550: error: too many arguments to function ‘__release_region’
i2c-sis645.c: At top level:
i2c-sis645.c:557: error: variable or field ‘__attribute_used__’ declared void
i2c-sis645.c:557: error: expected ‘,’ or ‘;’ before ‘sis645_remove’
i2c-sis645.c:566: error: variable ‘sis645_driver’ has initializer but incomplete type
i2c-sis645.c:567: error: unknown field ‘name’ specified in initializer
i2c-sis645.c:567: warning: excess elements in struct initializer
i2c-sis645.c:567: warning: (near initialization for ‘sis645_driver’)
i2c-sis645.c:568: error: unknown field ‘id_table’ specified in initializer
i2c-sis645.c:568: warning: excess elements in struct initializer
i2c-sis645.c:568: warning: (near initialization for ‘sis645_driver’)
i2c-sis645.c:569: error: unknown field ‘probe’ specified in initializer
i2c-sis645.c:569: warning: excess elements in struct initializer
i2c-sis645.c:569: warning: (near initialization for ‘sis645_driver’)
i2c-sis645.c:570: error: unknown field ‘remove’ specified in initializer
i2c-sis645.c:570: warning: excess elements in struct initializer
i2c-sis645.c:570: warning: (near initialization for ‘sis645_driver’)
i2c-sis645.c: In function ‘i2c_sis645_init’:
i2c-sis645.c:575: error: ‘KERN_INFO’ undeclared (first use in this function)
i2c-sis645.c:575: error: expected ‘)’ before string constant
i2c-sis645.c:580: error: expected ‘)’ before string constant
i2c-sis645.c:586: error: expected ‘)’ before string constant
i2c-sis645.c: At top level:
i2c-sis645.c:594: error: variable or field ‘__attribute_used__’ declared void
i2c-sis645.c:594: error: expected ‘,’ or ‘;’ before ‘i2c_sis645_exit’
i2c-sis645.c:604: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__attribute_used__’
i2c-sis645.c:605: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘__attribute_used__’


Does this indicate an error in code?
Fezar
 
Posts: 25
Joined: Wed Feb 14, 2007 12:18 pm
Location: Birmingham, UK

Postby aspettl » Tue Mar 20, 2007 7:47 pm

There should be a file "configure", you have to run this script.
It will create Makefiles, then you can compile with "make" and install with "make install".

Of course you will need some header files, at least the headers of your running kernel.

Regards
Aaron
User avatar
aspettl
Site Admin
 
Posts: 1347
Joined: Sat Mar 25, 2006 3:31 pm
Location: Germany
Notebook:
  • Lifebook E8020D

Postby Fezar » Wed Mar 21, 2007 12:21 pm

Ah...
I only have the .c file which I downloaded from www.lm-sensors.org the site is confusing to try to download these files, where can I get a configure script from?
The version of lm_sensors (2.10.1) came pre-installed with the distro (OpenSuSE 10.2), so I think it may not have all the stuff in the tarball here: http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-2.10.1.tar.gz This is where I got the i2c-sis645.c file from under \lm_sensors-2.10.1\kernel\busses\ in the tarball. There is no configure file, but there is a "Module.mk" file. Would this do the trick, how could I use it?

Cheers
TOm
Fezar
 
Posts: 25
Joined: Wed Feb 14, 2007 12:18 pm
Location: Birmingham, UK

Postby aspettl » Wed Mar 21, 2007 1:56 pm

I think you can't just compile one module, or at least it isn't designed to do this without some work.
Kernel 2.6.20.3 and latest 2.6.21 (rc4) don't include i2c-sis645.

You'll have to get the full lm_sensors package, compile and install it.

Regards
Aaron
User avatar
aspettl
Site Admin
 
Posts: 1347
Joined: Sat Mar 25, 2006 3:31 pm
Location: Germany
Notebook:
  • Lifebook E8020D

Postby Fezar » Wed Mar 21, 2007 3:07 pm

ok. When I compile and install lm_sensors, will the module be made automatically for me, or will I need to compile that as well afterwards?

Does the same prinicpal apply to a rpm? i.e. it will compile the module for me when I install it?

I think its not included in the kernel because it is still very much in beta testing because of poor datasheet documentation

Tom
Fezar
 
Posts: 25
Joined: Wed Feb 14, 2007 12:18 pm
Location: Birmingham, UK

Postby aspettl » Wed Mar 21, 2007 7:44 pm

Fezar wrote:When I compile and install lm_sensors, will the module be made automatically for me

I suppose.

Fezar wrote:Does the same prinicpal apply to a rpm? i.e. it will compile the module for me when I install it?

No, it depends on your kernel - a package can't know which exact version you use. But it is possible that there are packages for your kernel, I don't know.

Edit:
Do you use Fedora?

Regards
Aaron
User avatar
aspettl
Site Admin
 
Posts: 1347
Joined: Sat Mar 25, 2006 3:31 pm
Location: Germany
Notebook:
  • Lifebook E8020D

Postby Fezar » Wed Mar 21, 2007 9:08 pm

No, I'm of the OpenSuSE (10.2) crowd.

To compile and install lm_sensors from source code I will need to remove the current version which is ok because its an rpm, but won't uninstalling it leave broken dependancies?
I don't really know how to remove current version, and install the compiled one in its place, because I am aware that the current version has been compiled especially for my distro, I am in the habit of ruining a perfectly normal running system by not compiling a program properly, could you help me out with how to do this?

Checked out the contents of the SuSE rpm and it doesn't contain half of the info the official lm-sensors source code contains, so it does appear that if I am to every get this working properly I will need to remove the current version, let see if I've got this right:

Code: Select all
rpm -e sensors


Inside source code folder
Code: Select all
./configure
make user
make install


Code: Select all
modprobe i2c-sis645


And then the sensors should be found
Is it that simple?

Regards

Tom
Fezar
 
Posts: 25
Joined: Wed Feb 14, 2007 12:18 pm
Location: Birmingham, UK

Postby aspettl » Wed Mar 21, 2007 10:06 pm

No, probably not.

I just downloaded the source and had a look at the readme file:
The kernel modules in this package will NOT compile for 2.6;


Not good in your case...

But I don't understand why you need lm_sensors at all? In my opinion too much trouble ;-)

Regards
Aaron
User avatar
aspettl
Site Admin
 
Posts: 1347
Joined: Sat Mar 25, 2006 3:31 pm
Location: Germany
Notebook:
  • Lifebook E8020D

Postby Fezar » Thu Mar 22, 2007 9:25 am

Yeah, see what you mean, I'll see what the nag's head has to say, and if they can't offer a decent I answer I don't think I'll bother :lol:

Cheers

Tom
Fezar
 
Posts: 25
Joined: Wed Feb 14, 2007 12:18 pm
Location: Birmingham, UK


Return to Linux / Unix / BSD