[RFC] Improved sensors-detect output

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

 



Hi all,

I am trying to make sensors-detect more user friendly. I made a first
pass this morning, which is already committed to SVN, with the
following changes:

* Kill the annoying blank space in front of half of the messages.
* Stop frightening the user with problems which might have happened some
  years ago, but are very rare nowadays.
* Skip some messages on 2.6 kernels where they do not apply.
* Don't even mention i2c-dev if it is already loaded or build into the
  kernel.
* Reword some messages.

These are relatively minor changes, but I hope that all these minor
changes together can contribute to making users less confused by
sensors-detect.

Now I have a second set of changes which make the output of
sensors-detect look really different. My goals were:

* Make the output more compact, as it has grown quite a bit over the
  past two years with the addition of Super-I/O chip detection and
  dozens of new chips.
* Make successful probes more visible, not only for the user but also
  for us when a user sends the output to us for investigation.
* Make I2C/SMBus, ISA and Super-I/O probes look more alike.

Here follows a sample output with my current changes applied.
Ergonomics being partly subjective, I am interested in feedback. In
other words, if someone thinks the new output is rather less clear than
the original one, please let me know before I commit my changes.

Thanks.

* * * * *

# sensors-detect revision 4120 (2006-08-29 11:17:56 +0200)

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-viapro' for device 00:11.0: VIA Technologies VT8237 South Bridge
Probe successfully concluded.

We will now try to load each adapter module in turn.
Load `i2c-viapro' (say NO if built into your kernel)? (YES/no): n
If you have undetectable or unsupported adapters, you can have them
scanned by manually loading the modules before running this script.

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: DC10plus[0]
Do you want to scan it? (YES/no/selectively): 
Client found at address 0x2b
Handled by driver `adv7175' (already loaded), chip type `adv7176'
    (note: this is probably NOT a sensor chip!)
Client found at address 0x4e
Handled by driver `saa7110' (already loaded), chip type `saa7110'
    (note: this is probably NOT a sensor chip!)
Client found at address 0x50
Probing for `Analog Devices ADM1033'...                     Failed!
Probing for `Analog Devices ADM1034'...                     Failed!
Probing for `SPD EEPROM'...                                 Success!
    (confidence 1, driver `eeprom')
Probing for `EDID EEPROM'...                                Failed!
Probing for `Maxim MAX6900'...                              Failed!
Client found at address 0x51
Probing for `Analog Devices ADM1033'...                     Failed!
Probing for `Analog Devices ADM1034'...                     Failed!
Probing for `SPD EEPROM'...                                 Success!
    (confidence 1, driver `eeprom')
Client found at address 0x52
Probing for `Analog Devices ADM1033'...                     Failed!
Probing for `Analog Devices ADM1034'...                     Failed!
Probing for `SPD EEPROM'...                                 Success!
    (confidence 1, driver `eeprom')
Client found at address 0x53
Probing for `Analog Devices ADM1033'...                     Failed!
Probing for `Analog Devices ADM1034'...                     Failed!
Probing for `SPD EEPROM'...                                 Success!
    (confidence 1, driver `eeprom')

Next adapter: SMBus Via Pro adapter at 5000
Do you want to scan it? (YES/no/selectively): 
Client found at address 0x50
Probing for `Analog Devices ADM1033'...                     Failed!
Probing for `Analog Devices ADM1034'...                     Failed!
Probing for `SPD EEPROM'...                                 Success!
    (confidence 8, driver `eeprom')
Probing for `EDID EEPROM'...                                Failed!
Probing for `Maxim MAX6900'...                              Failed!
Client found at address 0x51
Probing for `Analog Devices ADM1033'...                     Failed!
Probing for `Analog Devices ADM1034'...                     Failed!
Probing for `SPD EEPROM'...                                 Success!
    (confidence 8, driver `eeprom')
Client found at address 0x69

Next adapter: crt2
Do you want to scan it? (YES/no/selectively): 

Next adapter: vga
Do you want to scan it? (YES/no/selectively): 

Next adapter: dvi
Do you want to scan it? (YES/no/selectively): 
Client found at address 0x50
Probing for `Analog Devices ADM1033'...                     Failed!
Probing for `Analog Devices ADM1034'...                     Failed!
Probing for `SPD EEPROM'...                                 Success!
    (confidence 1, driver `eeprom')
Probing for `EDID EEPROM'...                                Success!
    (confidence 8, driver `eeprom'), other addresses: 0x51 0x52 0x53 0x54 0x55 0x56 0x57
Probing for `Maxim MAX6900'...                              Failed!
Client found at address 0x51
Probing for `Analog Devices ADM1033'...                     Failed!
Probing for `Analog Devices ADM1034'...                     Failed!
Probing for `SPD EEPROM'...                                 Success!
    (confidence 1, driver `eeprom')
Client found at address 0x52
Probing for `Analog Devices ADM1033'...                     Failed!
Probing for `Analog Devices ADM1034'...                     Failed!
Probing for `SPD EEPROM'...                                 Success!
    (confidence 1, driver `eeprom')
Client found at address 0x53
Probing for `Analog Devices ADM1033'...                     Failed!
Probing for `Analog Devices ADM1034'...                     Failed!
Probing for `SPD EEPROM'...                                 Success!
    (confidence 1, driver `eeprom')
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 0x56
Probing for `SPD EEPROM'...                                 Success!
    (confidence 1, driver `eeprom')
Client found at address 0x57
Probing for `SPD EEPROM'...                                 Success!
    (confidence 1, driver `eeprom')
Probing for `Sony Vaio EEPROM'...                           Failed!

Next adapter: monid
Do you want to scan it? (YES/no/selectively): n

Some chips are also accessible through the ISA I/O ports. We have to
write to arbitrary I/O ports to do this. 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...       Failed!
Probing for `National Semiconductor LM78-J' at 0x290...     Failed!
Probing for `National Semiconductor LM79' at 0x290...       Failed!
Probing for `Winbond W83781D' at 0x290...                   Failed!
Probing for `Winbond W83782D' at 0x290...                   Failed!
Probing for `Winbond W83627HF' at 0x290...                  Failed!
Probing for `Winbond W83627EHF' at 0x290...                 Failed!
Probing for `Winbond W83627DHG' at 0x290...                 Failed!
Probing for `Silicon Integrated Systems SIS5595'...         Failed!
Probing for `VIA VT82C686 Integrated Sensors'...            Failed!
Probing for `VIA VT8231 Integrated Sensors'...              Failed!
Probing for `AMD K8 thermal sensors'...                     Success!
    (confidence 9, driver `k8temp')
Probing for `IPMI BMC KCS' at 0xca0...                      Failed!
Probing for `IPMI BMC SMIC' at 0xca8...                     Failed!

Some Super I/O chips may also contain sensors. We have to write to
standard I/O ports to do this. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): 
Probing for `ITE 8702F Sensors' at 0x2e...                  Failed!
Probing for `Nat. Semi. PC87351 Fan Sensors' at 0x2e...     Failed!
Probing for `SMSC 47B27x Fan Sensors' at 0x2e...            Failed!
Probing for `VT1211 Sensors' at 0x2e...                     Failed!
Probing for `Winbond W83627EHF/EHG Sensors' at 0x2e...      Failed!
Probing for `ITE 8702F Sensors' at 0x4e...                  Failed!
Probing for `Nat. Semi. PC87351 Fan Sensors' at 0x4e...     Failed!
Probing for `SMSC 47B27x Fan Sensors' at 0x4e...            Failed!
Probing for `VT1211 Sensors' at 0x4e...                     Failed!
    (found device ID 0x04)
Probing for `Winbond W83627HF Sensors' at 0x4e...           Failed!
Probing for `Winbond W83627THF Sensors' at 0x4e...          Failed!
Probing for `Winbond W83637HF Sensors' at 0x4e...           Failed!
Probing for `Winbond W83687THF Sensors' at 0x4e...          Failed!
Probing for `Winbond W83697HF Sensors' at 0x4e...           Failed!
Probing for `Winbond W83697SF/UF PWM' at 0x4e...            Failed!
Probing for `Winbond W83L517D' at 0x4e...                   Failed!
Probing for `Fintek F71805F/FG Sensors' at 0x4e...          Success!
    (address 0x295, driver `f71805f')
Probing for `Fintek F71872F/FG Sensors' at 0x4e...          Failed!
Probing for `Fintek F81218D' at 0x4e...                     Failed!
Probing for `Winbond W83627EHF/EHG Sensors' at 0x4e...      Failed!
    (found device ID 0x0406)
Probing for `Winbond W83627DHG Sensors' at 0x4e...          Failed!

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

Driver `eeprom' (should be inserted):
  Detects correctly:
  * Bus `DC10plus[0]'
    Busdriver `UNKNOWN', I2C address 0x50
    Chip `SPD EEPROM' (confidence: 1)
  * Bus `DC10plus[0]'
    Busdriver `UNKNOWN', I2C address 0x51
    Chip `SPD EEPROM' (confidence: 1)
  * Bus `DC10plus[0]'
    Busdriver `UNKNOWN', I2C address 0x52
    Chip `SPD EEPROM' (confidence: 1)
  * Bus `DC10plus[0]'
    Busdriver `UNKNOWN', I2C address 0x53
    Chip `SPD EEPROM' (confidence: 1)
  * Bus `SMBus Via Pro adapter at 5000'
    Busdriver `i2c-viapro', I2C address 0x50
    Chip `SPD EEPROM' (confidence: 8)
  * Bus `SMBus Via Pro adapter at 5000'
    Busdriver `i2c-viapro', I2C address 0x51
    Chip `SPD EEPROM' (confidence: 8)
  * Bus `dvi'
    Busdriver `UNKNOWN', I2C address 0x50 (and 0x51 0x52 0x53 0x54 0x55 0x56 0x57)
    Chip `EDID EEPROM' (confidence: 8)

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

Driver `k8temp' (should be inserted):
  Detects correctly:
  * ISA bus, undetermined address (Busdriver `i2c-isa')
    Hint: Try forcing the chip address. Consult the documentation
          of particular chip for details and address value.
    Chip `AMD K8 thermal sensors' (confidence: 9)

Driver `f71805f' (should be inserted):
  Detects correctly:
  * ISA bus address 0x0295 (Busdriver `i2c-isa')
    Chip `Fintek F71805F/FG Super IO Sensors' (confidence: 9)

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/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 unknown adapter monid
# modprobe unknown adapter dvi
# modprobe unknown adapter vga
# modprobe unknown adapter crt2
# modprobe unknown adapter DC10plus[0]
modprobe i2c-viapro
# Chip drivers
modprobe eeprom
modprobe k8temp
modprobe f71805f
# sleep 2 # optional
/usr/local/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 generate /etc/sysconfig/lm_sensors? (YES/no): n


-- 
Jean Delvare




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

  Powered by Linux