Nach dem update von Debian Stretch 9 auf Debian Buster 10, bekomme ich ein Fehlermeldung von sensors.
Vor dem update hat der Befehl sensors noch funktioniert und mir die Temperatur ausgegeben.
Das ganze läuft auf einen Single Board Computer "Alix 2d13", auf dem DHCP, PXE Boot, WLAN access Point und Pi-Hole rennt.
Jetzt frage ich mich, wo liegt der Fehler. Im Paket lm-sensors oder am Kernel 4.19.
Da der Sensor am I2C Bus hängt, hab ich die i2c-tools installiert und bekomme eine Antwort vom Chip.
Via Python bekomme ich sogar plausibel Werte zurück, so dass ich ein def. aus-schlissen kann.
Ist kein gravierendes Problem, aber es Ärgert mich ein wenig, da ich die Temperatur im Pi-Hole vermisse.
LG Tommy.
Die Fehlermeldung :
Code: Alles auswählen
hotelgarnix ~ # sensors
No sensors found!
Make sure you loaded all the kernel drivers you need.
Try sensors-detect to find out which these are.
Code: Alles auswählen
hotelgarnix ~ # sensors-detect
# sensors-detect revision $Revision$
# Kernel: 4.19.0-8-686 i586
# Processor: Geode(TM) Integrated Processor by AMD PCS (5/10/2)
...
Just press ENTER to continue:
Driver `lm90':
* Bus `CS5535 ACB0'
Busdriver `scx200_acb', I2C address 0x4c
Chip `National Semiconductor LM86' (confidence: 8)
To load everything that is needed, add this to /etc/modules:
#----cut here----
# Adapter drivers
scx200_acb
# Chip drivers
lm90
#----cut here----
If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones!
Do you want to add these lines automatically to /etc/modules? (yes/NO)
Code: Alles auswählen
hotelgarnix ~ # cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
loop
i2c_dev
i2c_smbus
scx200_acb
lm90
Code: Alles auswählen
hotelgarnix ~ # cat temperatur_lm90.py
#!/usr/bin/python
import smbus
bus = smbus.SMBus(0)
# http://www.ti.com/lit/ds/symlink/lm86.pdf
local_temp = bus.read_byte_data(0x4c, 0x00) # Local Temperature
remote_high = bus.read_byte_data(0x4c, 0x01) # Remote Temperature High Byte
remote_low = bus.read_byte_data(0x4c, 0x10) # Remote Temperature Low Byte
remote_temp = ((remote_high *256 +remote_low) /32) *0.125 # 11 Bit mit Vorzeichen
grad = chr(194) + chr(176)
print("")
print(" CPU Temperatur : {:0.1f} {}C").format(remote_temp, grad)
print("Board Temperatur : {:0.1f} {}C").format(local_temp, grad)
print("")
Code: Alles auswählen
hotelgarnix ~ # ./temperatur_lm90.py
CPU Temperatur : 42.9 °C
Board Temperatur : 36.0 °C