Re: lm(4) temperature
>> OK, with expectations adjusted, >> does anyone know what the three numbers >> are _supposed_ to be? >> I guess you are talking about those numbers: > dev/ic/lm78var.h talks about Temperature 1, 2, 3; The 1,2,3 are the corresponding ports from the chip itself, there are 3 ports for temperature reading, numbered from 1 to 3, so the programmer kept the numbering and duplicated it in the actual C code variables names. > > > but man lm(4) only says > > > > > > Temp uK Motherboard Temperature The manual says this: "The original LM78 hardware monitor ..." That is _NOT_ your case, since your sensor is reported as: > > > wbsio0 at isa0 port 0x2e/2: W83627HF rev 0x41 > > > lm1 at wbsio0 port 0x290/8: W83627HF LM78=/=W83627HF. It has been included in the lm driver, maybe to avoid another extra work and code duplication for a new driver, something like CD_ROMs put on scsi drivers or something like this. > Yes. Temperature readings from multiple places on the motherboard. Not quite in this case, only the first is a temperature reading, the rest are bogus since the pins are not connected (i.e. floating, reading whatever EMI is throwing to them). Again, what you read on your specific hardware is the CPU die temperature as the first temperature reported, the remaining 2 readings on temperature are bogus, they have no real meaning since the pins have no sensors connected on them. At least this is if you read the ALIX schematics.
Re: lm(4) temperature
Am Sat, Nov 27, 2021 at 03:35:05PM +0100 schrieb Jan Stary: > > > This is current/i386 on an ALIX.1E (dmesg below). > > > I am trying to monitor the CPU temperature with > > > > > > wbsio0 at isa0 port 0x2e/2: W83627HF rev 0x41 > > > lm1 at wbsio0 port 0x290/8: W83627HF > > > > > > $ sysctl hw.sensors.lm1 > > > hw.sensors.lm1.temp0=69.00 degC > > > hw.sensors.lm1.temp1=57.00 degC > > > hw.sensors.lm1.temp2=49.00 degC > > > hw.sensors.lm1.volt0=1.26 VDC (VCore A) > > > hw.sensors.lm1.volt1=2.64 VDC (VCore B) > > > hw.sensors.lm1.volt2=3.42 VDC (+3.3V) > > > hw.sensors.lm1.volt3=5.11 VDC (+5V) > > > hw.sensors.lm1.volt4=0.00 VDC (+12V) > > > hw.sensors.lm1.volt5=-14.91 VDC (-12V) > > > hw.sensors.lm1.volt6=-7.71 VDC (-5V) > > > hw.sensors.lm1.volt7=5.07 VDC (5VSB) > > > hw.sensors.lm1.volt8=0.00 VDC (VBAT) > > > > > > There are three temperatures reported, > > > and dev/ic/lm78var.h talks about Temperature 1, 2, 3; > > > but man lm(4) only says > > > > > > Temp uK Motherboard Temperature > > > > > > Does anyone know what exactly they are? > > > > > > There is a chip in the machine. > > It has pins. > > Those pins are monitored by the driver, as specific registers. > > > > The pins wired to who the hell knows where by each board manufacturer. > > > > Sometimes the chips need special registers and capacitors > > > > Quite often, the board engineer sent to add this part to the board > > choose the wrong registers and capacitors, and sometimes they compensate > > for these errors with private tables in the BIOS or various monitoring > > programs which move around machine to machine. > > > > > > We monitor registers. We assume the vendor did the right thing. > > > > No that I've described what a shitshow it is, I hope you can adjust your > > expectations. > > OK, with expectations adjusted, > does anyone know what the three numbers > are _supposed_ to be? > Yes. Temperature readings from multiple places on the motherboard.
Re: lm(4) temperature
> > This is current/i386 on an ALIX.1E (dmesg below). > > I am trying to monitor the CPU temperature with > > > > wbsio0 at isa0 port 0x2e/2: W83627HF rev 0x41 > > lm1 at wbsio0 port 0x290/8: W83627HF > > > > $ sysctl hw.sensors.lm1 > > hw.sensors.lm1.temp0=69.00 degC > > hw.sensors.lm1.temp1=57.00 degC > > hw.sensors.lm1.temp2=49.00 degC > > hw.sensors.lm1.volt0=1.26 VDC (VCore A) > > hw.sensors.lm1.volt1=2.64 VDC (VCore B) > > hw.sensors.lm1.volt2=3.42 VDC (+3.3V) > > hw.sensors.lm1.volt3=5.11 VDC (+5V) > > hw.sensors.lm1.volt4=0.00 VDC (+12V) > > hw.sensors.lm1.volt5=-14.91 VDC (-12V) > > hw.sensors.lm1.volt6=-7.71 VDC (-5V) > > hw.sensors.lm1.volt7=5.07 VDC (5VSB) > > hw.sensors.lm1.volt8=0.00 VDC (VBAT) > > > > There are three temperatures reported, > > and dev/ic/lm78var.h talks about Temperature 1, 2, 3; > > but man lm(4) only says > > > > Temp uK Motherboard Temperature > > > > Does anyone know what exactly they are? > > > There is a chip in the machine. > It has pins. > Those pins are monitored by the driver, as specific registers. > > The pins wired to who the hell knows where by each board manufacturer. > > Sometimes the chips need special registers and capacitors > > Quite often, the board engineer sent to add this part to the board > choose the wrong registers and capacitors, and sometimes they compensate > for these errors with private tables in the BIOS or various monitoring > programs which move around machine to machine. > > > We monitor registers. We assume the vendor did the right thing. > > No that I've described what a shitshow it is, I hope you can adjust your > expectations. OK, with expectations adjusted, does anyone know what the three numbers are _supposed_ to be?
Re: lm(4) temperature
> it looks like it goes to the LX memory controller. So it must be the temperature of the board itself, more or less. Looking at the LX Geode processor specs, the memory controller is integrated in the CPU. So looking again at the pins names (AL17, AK17), it looks like there is a diode inside the CPU die. So you have the CPU die temperature.
Re: lm(4) temperature
ALIX.1E has schematics available. W83627HF has specifications available too. >From the W83627HF one can see there are 3 ports for temperature monitoring: PIN# | PURPOSE | FUNCTION 102 | VTIN3 | Temperature sensor 3 input (used for CPU2 temperature) 103 | VTIN2 | Temperature sensor 2 input (used for CPU1 temperature) 104 | VTIN1 | Temperature sensor 1 input (used for system temperature) >From the ALIX.1E schematics, page 10, there is only PIN# 104 connected, from those enumerated, the rest are not. Unless they are using another way to measure temperatures (which i didn't checked on schematics), there is only one temperature monitored. As for the place the input is connected, it looks like it goes to the LX memory controller. So it must be the temperature of the board itself, more or less. Same goes for voltages. I think you can address this issue to pcengines support, they are generally very responsive.
Re: lm(4) temperature
On 11/20/21 2:42 PM, Theo de Raadt wrote: Jan Stary wrote: This is current/i386 on an ALIX.1E (dmesg below). I am trying to monitor the CPU temperature with wbsio0 at isa0 port 0x2e/2: W83627HF rev 0x41 lm1 at wbsio0 port 0x290/8: W83627HF $ sysctl hw.sensors.lm1 hw.sensors.lm1.temp0=69.00 degC hw.sensors.lm1.temp1=57.00 degC hw.sensors.lm1.temp2=49.00 degC hw.sensors.lm1.volt0=1.26 VDC (VCore A) hw.sensors.lm1.volt1=2.64 VDC (VCore B) hw.sensors.lm1.volt2=3.42 VDC (+3.3V) hw.sensors.lm1.volt3=5.11 VDC (+5V) hw.sensors.lm1.volt4=0.00 VDC (+12V) hw.sensors.lm1.volt5=-14.91 VDC (-12V) hw.sensors.lm1.volt6=-7.71 VDC (-5V) hw.sensors.lm1.volt7=5.07 VDC (5VSB) hw.sensors.lm1.volt8=0.00 VDC (VBAT) There are three temperatures reported, and dev/ic/lm78var.h talks about Temperature 1, 2, 3; but man lm(4) only says Temp uK Motherboard Temperature Does anyone know what exactly they are? There is a chip in the machine. It has pins. Those pins are monitored by the driver, as specific registers. The pins wired to who the hell knows where by each board manufacturer. Sometimes the chips need special registers and capacitors Quite often, the board engineer sent to add this part to the board choose the wrong registers and capacitors, and sometimes they compensate for these errors with private tables in the BIOS or various monitoring programs which move around machine to machine. We monitor registers. We assume the vendor did the right thing. No that I've described what a shitshow it is, I hope you can adjust your expectations. Otherwise, maybe it is time to give up and delete these sensor drivers.. Boot the machine to startup BIOS. Search for a hardware monitor screen. Write down what it says - values and descriptions. Any correlation between that and what sysctl.hw.sensors says is purely in the mind of the viewer.
Re: lm(4) temperature
Jan Stary wrote: > This is current/i386 on an ALIX.1E (dmesg below). > I am trying to monitor the CPU temperature with > > wbsio0 at isa0 port 0x2e/2: W83627HF rev 0x41 > lm1 at wbsio0 port 0x290/8: W83627HF > > $ sysctl hw.sensors.lm1 > hw.sensors.lm1.temp0=69.00 degC > hw.sensors.lm1.temp1=57.00 degC > hw.sensors.lm1.temp2=49.00 degC > hw.sensors.lm1.volt0=1.26 VDC (VCore A) > hw.sensors.lm1.volt1=2.64 VDC (VCore B) > hw.sensors.lm1.volt2=3.42 VDC (+3.3V) > hw.sensors.lm1.volt3=5.11 VDC (+5V) > hw.sensors.lm1.volt4=0.00 VDC (+12V) > hw.sensors.lm1.volt5=-14.91 VDC (-12V) > hw.sensors.lm1.volt6=-7.71 VDC (-5V) > hw.sensors.lm1.volt7=5.07 VDC (5VSB) > hw.sensors.lm1.volt8=0.00 VDC (VBAT) > > There are three temperatures reported, > and dev/ic/lm78var.h talks about Temperature 1, 2, 3; > but man lm(4) only says > > Temp uK Motherboard Temperature > > Does anyone know what exactly they are? There is a chip in the machine. It has pins. Those pins are monitored by the driver, as specific registers. The pins wired to who the hell knows where by each board manufacturer. Sometimes the chips need special registers and capacitors Quite often, the board engineer sent to add this part to the board choose the wrong registers and capacitors, and sometimes they compensate for these errors with private tables in the BIOS or various monitoring programs which move around machine to machine. We monitor registers. We assume the vendor did the right thing. No that I've described what a shitshow it is, I hope you can adjust your expectations. Otherwise, maybe it is time to give up and delete these sensor drivers..
lm(4) temperature
This is current/i386 on an ALIX.1E (dmesg below). I am trying to monitor the CPU temperature with wbsio0 at isa0 port 0x2e/2: W83627HF rev 0x41 lm1 at wbsio0 port 0x290/8: W83627HF $ sysctl hw.sensors.lm1 hw.sensors.lm1.temp0=69.00 degC hw.sensors.lm1.temp1=57.00 degC hw.sensors.lm1.temp2=49.00 degC hw.sensors.lm1.volt0=1.26 VDC (VCore A) hw.sensors.lm1.volt1=2.64 VDC (VCore B) hw.sensors.lm1.volt2=3.42 VDC (+3.3V) hw.sensors.lm1.volt3=5.11 VDC (+5V) hw.sensors.lm1.volt4=0.00 VDC (+12V) hw.sensors.lm1.volt5=-14.91 VDC (-12V) hw.sensors.lm1.volt6=-7.71 VDC (-5V) hw.sensors.lm1.volt7=5.07 VDC (5VSB) hw.sensors.lm1.volt8=0.00 VDC (VBAT) There are three temperatures reported, and dev/ic/lm78var.h talks about Temperature 1, 2, 3; but man lm(4) only says Temp uK Motherboard Temperature Does anyone know what exactly they are? Jan OpenBSD 7.0-current (GENERIC) #276: Wed Nov 10 11:36:02 MST 2021 dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC real mem = 259207168 (247MB) avail mem = 238137344 (227MB) random: good seed from bootblocks mpath0 at root scsibus0 at mpath0: 256 targets mainbus0 at root bios0 at mainbus0: date 07/19/10, BIOS32 rev. 0 @ 0xfa950 apm0 at bios0: Power Management spec V1.2 (slowidle) pcibios0 at bios0: rev 2.1 @ 0xf/0xdfb4 pcibios0: PCI IRQ Routing Table rev 1.0 @ 0xfdf30/128 (6 entries) pcibios0: PCI Exclusive IRQs: 5 10 11 pcibios0: no compatible PCI ICU found: ICU vendor 0x1022 product 0x2090 pcibios0: Warning, unable to fix up PCI interrupt routing pcibios0: PCI bus #0 is the last bus bios0: ROM list: 0xc/0x8000 0xc8000/0xa800 0xef000/0x1000! cpu0 at mainbus0: (uniprocessor) cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 499 MHz, 05-0a-02 cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX,MMXX,3DNOW2,3DNOW mtrr: K6-family MTRR support (2 registers) amdmsr0 at mainbus0 pci0 at mainbus0 bus 0: configuration mode 1 (bios) pchb0 at pci0 dev 1 function 0 "AMD Geode LX" rev 0x33 vga1 at pci0 dev 1 function 1 "AMD Geode LX Video" rev 0x00 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) glxsb0 at pci0 dev 1 function 2 "AMD Geode LX Crypto" rev 0x00: RNG AES vr0 at pci0 dev 13 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 11, address 00:0d:b9:0e:9e:f4 ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034 glxpcib0 at pci0 dev 15 function 0 "AMD CS5536 ISA" rev 0x03: rev 3, 32-bit 3579545Hz timer, watchdog, gpio, i2c gpio0 at glxpcib0: 32 pins iic0 at glxpcib0 pciide0 at pci0 dev 15 function 2 "AMD CS5536 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility wd0 at pciide0 channel 0 drive 0: wd0: 1-sector PIO, LBA48, 15279MB, 31293360 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 pciide0: channel 1 ignored (disabled) auglx0 at pci0 dev 15 function 3 "AMD CS5536 Audio" rev 0x01: irq 11, CS5536 AC97 ac97: codec id 0x414c4770 (Avance Logic ALC203 rev 0) ac97: codec features headphone, 20 bit DAC, 18 bit ADC, No 3D Stereo audio0 at auglx0 ohci0 at pci0 dev 15 function 4 "AMD CS5536 USB" rev 0x02: irq 5, version 1.0, legacy support ehci0 at pci0 dev 15 function 5 "AMD CS5536 USB" rev 0x02: irq 5 usb0 at ehci0: USB revision 2.0 uhub0 at usb0 configuration 1 interface 0 "AMD EHCI root hub" rev 2.00/1.00 addr 1 isa0 at glxpcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo com0: console com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 irq 1 irq 12 pckbd0 at pckbc0 (kbd slot) wskbd0 at pckbd0: console keyboard, using wsdisplay0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 lpt0 at isa0 port 0x378/4 irq 7 wbsio0 at isa0 port 0x2e/2: W83627HF rev 0x41 lm1 at wbsio0 port 0x290/8: W83627HF npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 usb1 at ohci0: USB revision 1.0 uhub1 at usb1 configuration 1 interface 0 "AMD OHCI root hub" rev 1.00/1.00 addr 1 dt: 445 probes umass0 at uhub0 port 4 configuration 1 interface 0 "JMicron USB to ATA/ATAPI bridge" rev 2.00/1.00 addr 2 umass0: using SCSI over Bulk-Only scsibus1 at umass0: 2 targets, initiator 0 sd0 at scsibus1 targ 1 lun 0: serial.152d2329801130168383 sd0: 228936MB, 512 bytes/sector, 468862128 sectors vscsi0 at root scsibus2 at vscsi0: 256 targets softraid0 at root scsibus3 at softraid0: 256 targets root on wd0a (cfeae50a002d1e1d.a) swap on wd0b dump on wd0b