I am using lm sensor in my embedded linux. It is working fine. When I am executing the sensors command I am getting following data.

Adapter: 21a0000.i2c                                                            
temp1:        +28.5 C  (high = +80.0 C, hyst = +75.0 C)                         

Adapter: 21a0000.i2c                                                            
temp1:        +26.5 C  (high = +80.0 C, hyst = +75.0 C)                         

Adapter: Virtual device                                                         
temp1:        +35.0 C  (high = +100.0 C)                                        

Adapter: Virtual device                                                         
temp1:        +10.5 C  (crit = +85.0 C)

I want to know which temperature belongs to which sensor. Like what is the cpu temperature and what is environment temperature.

Thank You.

2 Answers 2


I can tell you roughly what these sensors are, if that helps:

eth0_dsa0-virtual-0 is a temperature sensor on the eth0 device, that is, a motherboard or card LAN adapter.

You have two chips on an I2C bus (slow simple serial bus), probably both lm75 (and you made a copy-and-paste error for the first). That's a simple temperature sensor chip. From the temperature displayed, somewhere inside your case.

The thermal zone is something defined by the BIOS. The value is below room temperature, so something seems to be wrong.

It doesn't look like you have installed a driver for your CPU temperature.

In the end, the only person who knows exactly what components are in your computer is you, and we can't guess what's in there. Figuring out the exact hardware is a bit of a puzzle, it takes reading all hardware manuals you have (motherboard etc.), looking at the chips you can see on your motherboard, googling for them chip identifiers, finding the missing drivers, etc.


Yes, 48 and 49 are the addresses of lm75-i2c-0-48 and lm75-i2c-0-49 on the I2C bus, though I'm not sure if it's hexadecimal or decimal. Both are on bus 0. Look at /sys/bus/i2c to see your I2C busses and devices (only present if detected by some kernel modules).

  • Thanks @dirkt. Can you tell me what does 48 and 49 means in lm75-i2c-0-48 and lm75-i2c-0-49. Is it the address of sensor.
    – ams
    Dec 21, 2017 at 6:46
  • Thank You again, @dirkt. Your answer helped me to solve my problem.
    – ams
    Dec 21, 2017 at 12:34
  • If you have figured additional information, you can also add your own answer (so someone else with the same problem can look it up). It'd also be nice to edit the question with more information about your embedded system, to increase the chances someone with the same problem can find it.
    – dirkt
    Dec 21, 2017 at 12:44

This one-liner displays temperature:

paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'

Here are the results on Intel Skylake i-7 6700 HQ:

INT3400 Thermal  20.0°C
pch_skylake      91.0°C
SEN1             67.0°C
B0D4             61.0°C
SEN2             60.0°C
SEN3             68.0°C
SEN4             71.0°C
x86_pkg_temp     63.0°C

The packages sensors gets it's information from the kernel /sys/class/... directories. You can get all info there which sensors is massaging to reveal to you.

NOTE: pch_skylake temperature is abnormally high on most machines. A short google search confirms this.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .