I2C crash - ADM1021

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Well, this did not take long, and the results are positive.


On Sat, 2003-10-11 at 07:48, Jean Delvare wrote:
..
> I took a look, it used to detect an adm1021 clone for all three
> addresses (0x18, 0x4c and 0x4e). After my first fix, 0x18 is left apart
> (great), 0x4c is detected but the lm90 driver if prefered (great too)
> and 0x4e is still detected (*not* great). I added one extra check in
> sensors detect for the MAX1617 and the LM84 (and also for the LM75),
> which should fix the problem. Could you check it out and give it a try?
> Would be nice.

File is attached...
> 
> BTW, I'd be interested in a dump of devices 0x18 and 0x4e. You already
> sent them once, but they obviously changed (the one at 0x4e at least, or
> it couldn't be detected as a LM84 - and it is).
File is attached.  I don't know why 4e changed either.
> 
Now the fun part...
Actually, you could unload the
lm90 driver, load the adm1021 driver instead and it would return
resonable temperatures and limits (better believe me and don't do it, we
know how much your system loves the adm1021 driver).
----------------
Well, I did, and was able to load adm1021 in port 0x4c using the command
rmmod lm90
modprobe adm1021 ignore=0,0x18,0,0x4e

and I got similar data from the MAX1617.  see file
sensors-output-20031012.txt for the history.

About the only difference I can see is that the lm90 driver returns a
temp with a decimal number and the MAX1617 returns a whole number.

ANYWAY, Jean.  Sorry to have taken up so much of your time -- especially
since it appears it was my error in the first place (not adding 0,0x4e
in the original modules.conf file.

However, I learned alot from the experience and have become quite
comfortable working with lmsensors.

If I can be of any further help to you, please let me know!

By the way, my daughter's team went 1 win, 1 loss today.  tomorrow
morning's match will determine if we go to the semi-finals or not.
-- 
Peter Hyman
Home:(609)395-1211 Office: (609)655-1184, Fax:(609)655-0285
Stop Telemarketers.  Sign up for Do Not Call at http://donotcall.gov
-------------- next part --------------
bash-2.05b# ./prog/dump/i2cdump 0 0x18
No size specified (using byte-data access)
  WARNING! This program can confuse your I2C bus, cause data loss and worse!
  I will probe file /dev/i2c-0, address 0x18, mode byte
  You have five seconds to reconsider and press CTRL-C!

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: d7 d7 00 00 00 ef ff ff 3c 00 04 3c 14 00 ff ff    ??...?..<.?<?...
10: ff 7c 00 00 00 00 00 ff ff ff ff ff ff ff ff ff    .|..............
20: 60 13 ff ff ff ff ff ff ff ff ff ff ff ff ff ff    `?..............
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
80: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
90: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff    ................
bash-2.05b# ./prog/dump/i2cdump 0 0x4c
No size specified (using byte-data access)
  WARNING! This program can confuse your I2C bus, cause data loss and worse!
  I will probe file /dev/i2c-0, address 0x4c, mode byte
  You have five seconds to reconsider and press CTRL-C!

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 2f 43 80 80 05 46 05 46 05 00 00 00 00 00 00 00    /C???F?F?.......
10: 60 00 00 00 00 00 00 00 00 55 00 00 00 00 00 00    `........U......
20: 55 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00    U?..............
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 2a 20 0f b3 ab 00 0d 00 00 4b 4b 00 00 00 00 00    * ???.?..KK.....
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 21    ..............?!
bash-2.05b# ./prog/dump/i2cdump 0 0x4e
No size specified (using byte-data access)
  WARNING! This program can confuse your I2C bus, cause data loss and worse!
  I will probe file /dev/i2c-0, address 0x4e, mode byte
  You have five seconds to reconsider and press CTRL-C!

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
-------------- next part --------------
bash-2.05b# ./prog/detect/sensors-detect

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.

 BIOS vendor (ACPI): KT400
 System vendor (DMI): VIA Technologies, Inc.
 BIOS version (DMI): 6.00 PG
 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-viapro' for device 00:11.0: VIA Technologies VT8233A/8235 South Bridge
Probe succesfully concluded.

 We will now try to load each adapter module in turn.
Load `i2c-viapro' (say NO if built into your kernel)? (YES/no):
Module loaded succesfully.
 Do you now want to be prompted for non-detectable adapters? (yes/NO):
 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 already loaded.

 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 Via Pro adapter at 5000 (Non-I2C SMBus adapter)
Do you want to scan it? (YES/no/selectively):
Client found at address 0x18
Probing for `Analog Devices ADM1021'... Failed!
Probing for `Analog Devices ADM1021A/ADM1023'... Failed!
Probing for `Maxim MAX1617'... Failed!
Probing for `Maxim MAX1617A'... Failed!
Probing for `TI THMC10'... Failed!
Probing for `National Semiconductor LM84'... Failed!
Probing for `Genesys Logic GL523SM'... Failed!
Probing for `Onsemi MC1066'... Failed!
Probing for `National Semiconductor LM82'... Failed!
Probing for `National Semiconductor LM83'... Failed!
Client found at address 0x37
Client found at address 0x4c
Probing for `National Semiconductor LM75'... Failed!
Probing for `Dallas Semiconductor DS1621'... Failed!
Probing for `Analog Devices ADM1021'... Failed!
Probing for `Analog Devices ADM1021A/ADM1023'... Failed!
Probing for `Maxim MAX1617'... Success!
    (confidence 3, driver `adm1021')
Probing for `Maxim MAX1617A'... Failed!
Probing for `TI THMC10'... Failed!
Probing for `National Semiconductor LM84'... Failed!
Probing for `Genesys Logic GL523SM'... Failed!
Probing for `Onsemi MC1066'... Failed!
Probing for `National Semiconductor LM82'... Failed!
Probing for `National Semiconductor LM83'... Failed!
Probing for `National Semiconductor LM90'... Success!
    (confidence 8, driver `lm90')
Probing for `National Semiconductor LM89'... Failed!
Probing for `National Semiconductor LM86'... Failed!
Probing for `Analog Devices ADM1032'... Failed!
Probing for `Maxim MAX6657/MAX6658'... Failed!
Probing for `Philips Semiconductors PCF8591'... Success!
    (confidence 1, driver `pcf8591')
Client found at address 0x4e
Probing for `National Semiconductor LM75'... Success!
    (confidence 3, driver `lm75')
Probing for `Dallas Semiconductor DS1621'... Failed!
Probing for `Analog Devices ADM1021'... Failed!
Probing for `Analog Devices ADM1021A/ADM1023'... Failed!
Probing for `Maxim MAX1617'... Failed!
Probing for `Maxim MAX1617A'... Failed!
Probing for `TI THMC10'... Failed!
Probing for `National Semiconductor LM84'... Failed!
Probing for `Genesys Logic GL523SM'... Failed!
Probing for `Onsemi MC1066'... Failed!
Probing for `National Semiconductor LM82'... Failed!
Probing for `National Semiconductor LM83'... Failed!
Probing for `Philips Semiconductors PCF8591'... Success!
    (confidence 1, driver `pcf8591')
Client found at address 0x52
Probing for `SPD EEPROM'... Success!
    (confidence 8, driver `eeprom')
Client found at address 0x69

 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.  Do you want to scan the ISA bus? (YES/no):
Probing for `National Semiconductor LM78'
  Trying address 0x0290... Success!
    (confidence 7, driver `lm78')
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 W83697HF'
  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 IT8705F / IT8712F / SiS 950'
  Trying address 0x0290... Success!
    (confidence 8, driver `it87')
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.  Do you want to scan for Super I/O sensors? (YES/no):
Probing for `SMSC 47M10x Super IO Fan Sensors'
  Failed!
Probing for `SMSC 47M14x Super IO Fan Sensors'
  Failed!
Probing for `VT1211 Super IO Sensors'
  Failed!
Probing for `Winbond W83627HF Super IO Sensors'
  Failed!
Probing for `Winbond W83627THF Super IO Sensors'
  Failed!
Probing for `Winbond W83697HF Super IO Sensors'
  Failed!

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

Driver `adm1021' (may not be inserted):
  Misdetects:
  * Bus `SMBus Via Pro adapter at 5000' (Non-I2C SMBus adapter)
    Busdriver `i2c-viapro', I2C address 0x4c
    Chip `Maxim MAX1617' (confidence: 3)

Driver `lm90' (should be inserted):
  Detects correctly:
  * Bus `SMBus Via Pro adapter at 5000' (Non-I2C SMBus adapter)
    Busdriver `i2c-viapro', I2C address 0x4c
    Chip `National Semiconductor LM90' (confidence: 8)

Driver `pcf8591' (may not be inserted):
  Misdetects:
  * Bus `SMBus Via Pro adapter at 5000' (Non-I2C SMBus adapter)
    Busdriver `i2c-viapro', I2C address 0x4c
    Chip `Philips Semiconductors PCF8591' (confidence: 1)
  * Bus `SMBus Via Pro adapter at 5000' (Non-I2C SMBus adapter)
    Busdriver `i2c-viapro', I2C address 0x4e
    Chip `Philips Semiconductors PCF8591' (confidence: 1)

Driver `lm75' (should be inserted):
  Detects correctly:
  * Bus `SMBus Via Pro adapter at 5000' (Non-I2C SMBus adapter)
    Busdriver `i2c-viapro', I2C address 0x4e
    Chip `National Semiconductor LM75' (confidence: 3)

Driver `eeprom' (should be inserted):
  Detects correctly:
  * Bus `SMBus Via Pro adapter at 5000' (Non-I2C SMBus adapter)
    Busdriver `i2c-viapro', I2C address 0x52
    Chip `SPD EEPROM' (confidence: 8)

Driver `lm78' (may not be inserted):
  Misdetects:
  * ISA bus address 0x0290 (Busdriver `i2c-isa')
    Chip `National Semiconductor LM78' (confidence: 7)

Driver `it87' (should be inserted):
  Detects correctly:
  * ISA bus address 0x0290 (Busdriver `i2c-isa')
    Chip `ITE IT8705F / IT8712F / SiS 950' (confidence: 8)


 I will now generate the commands needed to load the I2C modules.
 Sometimes, a chip is available both through the ISA bus and an I2C bus.
 ISA bus access is faster, but you need to load an additional driver module
 for it. If you have the choice, do you want to use the ISA bus or the
 I2C/SMBus (ISA/smbus)?

To make the sensors modules behave correctly, add these lines to
/etc/modules.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-viapro
modprobe i2c-isa
# I2C chip drivers
modprobe lm90
modprobe lm75
modprobe eeprom
modprobe it87
# sleep 2 # optional
/usr/local/bin/sensors -s # recommended
#----cut here----
-------------- next part --------------
bash-2.05b# export PATH=/sbin:/usr/sbin:$PATH
bash-2.05b# rmmod lm90
bash-2.05b# modprobe adm1021 ignore=0,0x18,0,0x4e
bash-2.05b# sensors
max1617-i2c-0-4c
Adapter: SMBus Via Pro adapter at 5000
Algorithm: Non-I2C SMBus adapter
Board:       +47?C  (low =  +20?C, high =  +60?C)
CPU:         +67?C  (low =  +20?C, high =  +60?C)        ALARM (HIGH)

eeprom-i2c-0-52
Adapter: SMBus Via Pro adapter at 5000
Algorithm: Non-I2C SMBus adapter
Memory type:            DDR SDRAM DIMM
Memory size (MB):       512

it87-isa-0290
Adapter: ISA adapter
Algorithm: ISA algorithm
VCore 1:   +1.74 V  (min =  +1.42 V, max =  +1.56 V)   ALARM
VCore 2:   +3.28 V  (min =  +2.40 V, max =  +2.60 V)   ALARM
+3.3V:     +5.94 V  (min =  +3.12 V, max =  +3.44 V)   ALARM
+5V:       +5.12 V  (min =  +4.72 V, max =  +5.24 V)
+12V:      +9.96 V  (min = +11.36 V, max = +12.60 V)   ALARM
-12V:     -16.01 V  (min = -12.63 V, max = -11.41 V)   ALARM
-5V:       -6.19 V  (min =  -5.28 V, max =  -4.81 V)   ALARM
Stdby:     +2.97 V  (min =  +4.72 V, max =  +5.24 V)   ALARM
VBat:      +0.00 V
fan1:        0 RPM  (min =    0 RPM, div = 2)
fan2:     4411 RPM  (min = 3000 RPM, div = 2)
fan3:        0 RPM  (min = 3000 RPM, div = 2)          ALARM
Temp1/MB:    +39?C  (low =  +20?C, high =  +40?C)
Temp2/CPU:   +65?C  (low =  +25?C, high =  +45?C)
Temp3:       +55?C  (low =  +25?C, high =  +45?C)

bash-2.05b# sensors
max1617-i2c-0-4c
Adapter: SMBus Via Pro adapter at 5000
Algorithm: Non-I2C SMBus adapter
Board:       +47?C  (low =  +20?C, high =  +60?C)
CPU:         +67?C  (low =  +20?C, high =  +60?C)        ALARM (HIGH)

eeprom-i2c-0-52
Adapter: SMBus Via Pro adapter at 5000
Algorithm: Non-I2C SMBus adapter
Memory type:            DDR SDRAM DIMM
Memory size (MB):       512

it87-isa-0290
Adapter: ISA adapter
Algorithm: ISA algorithm
VCore 1:   +1.74 V  (min =  +1.42 V, max =  +1.56 V)   ALARM
VCore 2:   +3.28 V  (min =  +2.40 V, max =  +2.60 V)   ALARM
+3.3V:     +5.94 V  (min =  +3.12 V, max =  +3.44 V)   ALARM
+5V:       +5.12 V  (min =  +4.72 V, max =  +5.24 V)
+12V:      +9.96 V  (min = +11.36 V, max = +12.60 V)   ALARM
-12V:     -16.01 V  (min = -12.63 V, max = -11.41 V)   ALARM
-5V:       -6.19 V  (min =  -5.28 V, max =  -4.81 V)   ALARM
Stdby:     +2.79 V  (min =  +4.72 V, max =  +5.24 V)   ALARM
VBat:      +0.00 V
fan1:        0 RPM  (min =    0 RPM, div = 2)
fan2:     4470 RPM  (min = 3000 RPM, div = 2)
fan3:        0 RPM  (min = 3000 RPM, div = 2)          ALARM
Temp1/MB:    +39?C  (low =  +20?C, high =  +40?C)
Temp2/CPU:   +64?C  (low =  +25?C, high =  +45?C)
Temp3:       +54?C  (low =  +25?C, high =  +45?C)

bash-2.05b# rmmod adm1021
bash-2.05b# modprobe lm90
bash-2.05b# sensors
lm90-i2c-0-4c
Adapter: SMBus Via Pro adapter at 5000
Algorithm: Non-I2C SMBus adapter
M/B Temp:    +47?C  (low =   +5?C, high =  +70?C)
CPU Temp:  +67.4?C  (low =  +5.0?C, high = +70.0?C)
tcrit1:      +85?C
tcrit2:      +85?C
hyst:        +10?C

eeprom-i2c-0-52
Adapter: SMBus Via Pro adapter at 5000
Algorithm: Non-I2C SMBus adapter
Memory type:            DDR SDRAM DIMM
Memory size (MB):       512

it87-isa-0290
Adapter: ISA adapter
Algorithm: ISA algorithm
VCore 1:   +1.74 V  (min =  +1.42 V, max =  +1.56 V)   ALARM
VCore 2:   +3.28 V  (min =  +2.40 V, max =  +2.60 V)   ALARM
+3.3V:     +5.94 V  (min =  +3.12 V, max =  +3.44 V)   ALARM
+5V:       +5.12 V  (min =  +4.72 V, max =  +5.24 V)
+12V:      +9.96 V  (min = +11.36 V, max = +12.60 V)   ALARM
-12V:     -16.01 V  (min = -12.63 V, max = -11.41 V)   ALARM
-5V:       -6.19 V  (min =  -5.28 V, max =  -4.81 V)   ALARM
Stdby:     +2.89 V  (min =  +4.72 V, max =  +5.24 V)   ALARM
VBat:      +0.00 V
fan1:        0 RPM  (min =    0 RPM, div = 2)
fan2:     4470 RPM  (min = 3000 RPM, div = 2)
fan3:        0 RPM  (min = 3000 RPM, div = 2)          ALARM
Temp1/MB:    +39?C  (low =  +20?C, high =  +40?C)
Temp2/CPU:   +64?C  (low =  +25?C, high =  +45?C)
Temp3:       +52?C  (low =  +25?C, high =  +45?C)

bash-2.05b# exit
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 193 bytes
Desc: This is a digitally signed message part
Url : http://lists.lm-sensors.org/pipermail/lm-sensors/attachments/20031011/b7b42f04/attachment.bin 


[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux