Issue #455 has been updated by Walter Sonius.

Quick and dirty fix!

The same issue on MSI H87-G43 (ms7816 rev1.2) appears, although NCT6779D is 
supported however not the specific model with ID`0xc563`. In the "nuvoton.c" 
source file from the "superiotool" alter the ID on line number 551 from 
`0xc562` to `0xc563`. Since I don't know how to add an extra ID/condition to 
the source file, this will break detection for someone with the `0xc562` chip. 
Can someone please do pull request for superiotool?

https://github.com/coreboot/coreboot/blob/main/util/superiotool/nuvoton.c
`       {0xc562, "NCT6779D", {` replace with `  {0xc563, "NCT6779D", {` 

The first time using `superiotool` without this fix, it will detect wrongly the 
Aspeed chipset just like the Original Poster reports but returns 
`chip_id=0xc563` hinted multiple times. Subsequent runs of the `superiotool` 
won't find any chipset anymore but will end with `No Super I/O found`...

```
uname -a
Linux ubuntu-mate 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug  2 
20:41:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

sudo dmesg | grep H87
[    0.000000] DMI: MSI MS-7816/H87-G43 (MS-7816), BIOS V2.9 07/16/2014

sudo superiotool -l | grep 6779
Nuvoton NCT6775F (A) (dump available)
Nuvoton NCT6775F (B) / NCT5572D (B) (not all LDNs supported) (dump available)
Nuvoton NCT6776F (B) (dump available)
Nuvoton NCT6776F/D (C) (dump available)
Nuvoton NCT6779D (dump available)         <---------------Partly supported

sudo superiotool -aV
superiotool r
Probing for ALi Super I/O at 0x3f0...
  Failed. Returned data: id=0xffff, rev=0xff
Probing for ALi Super I/O at 0x370...
  Failed. Returned data: id=0xffff, rev=0xff
Probing for Aspeed Super I/O at 0x2e...
  Failed. Returned data: scratch registers all read as 0xff
Probing for Aspeed Super I/O at 0x4e...
Found Aspeed AST2400 (id=0x00) at 0x4e              <----------------Wrong
Probing for Exar Super I/O at 0x2e...
  Failed. Returned data: vid=0xffff, id=0xffff
Probing for Exar Super I/O at 0x4e...
... truncated output...
Probing for Nuvoton Super I/O at 0x164e...
  Failed. Returned data: chip_id=0xffff
Probing for Nuvoton Super I/O (sid=0xfc) at 0x164e...
  Failed. Returned data: sid=0xff, id=0xffff, rev=0x00
Probing for Nuvoton Super I/O at 0x2e...
  Failed. Returned data: chip_id=0xffff
Probing for Nuvoton Super I/O (sid=0xfc) at 0x2e...
  Failed. Returned data: sid=0xff, id=0xffff, rev=0x00
Probing for Nuvoton Super I/O at 0x4e...
  Failed. Returned data: chip_id=0xc563   <------------------------Hint
Probing for Nuvoton Super I/O (sid=0xfc) at 0x4e...
...truncated...
```

Fixed superiotool output, replaced line 551 ID c562 > c563 and it will 
dump/report registers:
```
sudo ./superiotool -dV
superiotool r
Probing for ALi Super I/O at 0x3f0...
  Failed. Returned data: id=0xffff, rev=0xff
Probing for ALi Super I/O at 0x370...
  Failed. Returned data: id=0xffff, rev=0xff
Probing for Aspeed Super I/O at 0x2e...
  Failed. Returned data: scratch registers all read as 0xff
Probing for Aspeed Super I/O at 0x4e...
  Failed. Returned data: scratch registers all read as 0xff
...truncated...
Probing for Nuvoton Super I/O (sid=0xfc) at 0x2e...
 Failed. Returned data: sid=0xff, id=0xffff, rev=0x00
Probing for Nuvoton Super I/O at 0x4e...
Found Nuvoton NCT6779D (id=0xc563) at 0x4e
Register dump:
idx 10 11 13 14 1a 1b 1c 1d  20 21 22 24 25 26 27 28  2a 2b 2c 2f
val ff ff ff ff 30 70 08 00  c5 63 ff 04 00 40 00 00  40 00 00 0b
def ff ff 00 00 30 70 10 00  c5 62 ff 04 00 MM 00 00  c0 00 01 MM
LDN 0x01 (Parallel Port)
idx 30 60 61 70 74 f0
val 01 03 78 05 04 3c
def 01 03 78 07 04 3f
LDN 0x02 (UART A)
idx 30 60 61 70 f0 f2
val 01 03 f8 04 00 00
def 01 03 f8 04 00 00
LDN 0x03 (UART B, IR)
idx 30 60 61 70 f0 f1 f2
val 00 02 f8 03 00 00 00
def 01 02 f8 03 00 00 00
LDN 0x05 (Keyboard Controller)
idx 30 60 61 62 63 70 72 f0
val 01 00 60 00 64 01 0c 83
def 00 00 00 00 00 00 00 83
LDN 0x06 (CIR)
idx 30 60 61 70 f0 f1 f2 f3
val 00 00 00 00 08 09 32 00
def 00 00 00 00 08 09 32 00
LDN 0x07 (GPIO6, GPIO7, GPIO8)
idx e0 e1 e2 e3 e4 e5 e6 e7  ec ed f4 f5 f6 f7 f8
val 73 0f 00 0f ff ff ff ff  00 ff ff ff ff ff ff
def 0f 00 00 00 ff 00 00 00  00 00 ff 00 00 00 00
LDN 0x08 (WDT1, GPIO0, GPIO1)
idx 30 60 61 e0 e1 e2 e3 e4  f0 f1 f2 f3 f4 f5 f6 f7
val 00 00 00 ff ff ff ff ff  ff d8 00 00 00 ff 00 ff
def 00 00 00 ff 00 00 00 00  ff 00 00 00 00 00 00 00
LDN 0x09 (GPIO1, GPIO2, GPIO3, GPIO4, GPIO5, GPIO6, GPIO7, GPIO8)
idx 30 e0 e1 e2 e3 e4 e5 e6  e7 e8 e9 ea eb ee f0 f1  f2 f4 f5 f6 f7 fe
val be df 60 00 60 7f 06 00  06 00 00 00 c0 00 ff 00  00 3f 00 00 c0 00
def 00 ff 00 00 00 7f 00 00  00 00 00 00 00 00 ff 00  00 ff 00 00 00 00
LDN 0x0a (ACPI)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 ee f0 f2 f3 f4 f6 f7  fe
val 01 00 00 15 08 02 5c 00  00 00 10 5c 00 00 00 c0  00
def 01 00 00 00 00 02 1c 00  00 00 10 5c 00 00 00 c0  00
LDN 0x0b (Hardware Monitor, Front Panel LED)
idx 30 60 61 62 63 70 e0 e1  e2 e4 f0 f1 f2 f5 f6 f7  f8 f9 fa
val 01 0a 00 0a 10 00 7f 7f  ff 7f 00 00 00 00 00 87  47 00 00
def 00 00 00 00 00 00 7f 7f  ff ff 00 00 00 10 00 87  47 00 00
LDN 0x0d (WDT1)
idx f0
val 00
def 00
LDN 0x0e (CIR WAKE-UP)
idx 30 60 61 70
val 00 00 00 00
def 00 00 00 00
LDN 0x0f (GPIO Push-Pull or Open-drain)
idx e0 e1 e2 e3 e4 e5 e6 e7  e9 f0 f1 f2
val ff df 7f ff ff ff 7b ff  ff 9d 00 00
def ff ff 7f ff ff ff 0f ff  ff 9d 00 00
LDN 0x14 (Port 80 UART)
idx e0 e1 e2 e3 e4
val 80 00 00 10 00
def 80 00 00 10 00
LDN 0x16 (Deep Sleep)
idx 30 e0 e1 e2
val 20 20 04 05
def 20 20 04 05
Probing for SMSC Super I/O (idregs=0x20/0x21) at 0x2e...
  Failed. Returned data: id=0xff, rev=0xff
...truncated...

```



Other debug info related to lm_sensors and this specific chipset.

```
sudo sensors-detect #truncated output
Found `Nuvoton NCT5532D/NCT6779D Super IO Sensors'          Success!
    (address 0xa00, driver `nct6775')
Driver `nct6775':
  * ISA bus, address 0xa00
    Chip `Nuvoton NCT5532D/NCT6779D Super IO Sensors' (confidence: 9)

sudo modprobe nct6775

sudo dmesg | tail -n 1
[  506.259692] nct6775: Found NCT6779D or compatible chip at 0x4e:0xa00

sensors
radeon-pci-0100
Adapter: PCI adapter
temp1:        +35.0  C  (crit = +120.0  C, hyst = +90.0  C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +27.8  C
temp2:        +29.8  C

nct6779-isa-0a00
Adapter: ISA adapter
Vcore:                 872.00 mV (min =  +0.00 V, max =  +1.74 V)
in1:                     1.04 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
AVCC:                    3.39 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
+3.3V:                   3.39 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in4:                     1.10 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in5:                   848.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in6:                     1.06 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
3VSB:                    3.44 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
Vbat:                    3.31 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in9:                     1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in10:                   24.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in11:                    0.00 V  (min =  +0.00 V, max =  +0.00 V)
in12:                    1.02 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
in13:                  752.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
in14:                  784.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
fan1:                     0 RPM  (min =    0 RPM)
fan2:                  1010 RPM  (min =    0 RPM)
fan3:                     0 RPM  (min =    0 RPM)
fan4:                     0 RPM  (min =    0 RPM)
fan5:                     0 RPM  (min =    0 RPM)
SYSTIN:                 +27.0  C  (high =  +0.0  C, hyst =  +0.0  C)  ALARM  
sensor = CPU diode
CPUTIN:                +127.5  C  (high = +80.0  C, hyst = +75.0  C)  ALARM  
sensor = CPU diode
AUXTIN0:                +22.0  C    sensor = thermistor
AUXTIN1:               +127.0  C    sensor = thermistor
AUXTIN2:               -128.0  C    sensor = thermistor
AUXTIN3:                -52.0  C    sensor = thermal diode
PECI Agent 0:           +31.0  C
PCH_CHIP_CPU_MAX_TEMP:   +0.0  C
PCH_CHIP_TEMP:           +0.0  C
PCH_CPU_TEMP:            +0.0  C
PCH_MCH_TEMP:            +0.0  C
PCH_DIM0_TEMP:           +0.0  C
intrusion0:            ALARM
intrusion1:            ALARM
beep_enable:           disabled

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +32.0  C  (high = +80.0  C, crit = +100.0  C)
Core 0:        +30.0  C  (high = +80.0  C, crit = +100.0  C)
Core 1:        +32.0  C  (high = +80.0  C, crit = +100.0  C)
```

----------------------------------------
Bug #455: superiotool detects Aspeed AST2400 instead of Nuvoton NCT6779D
https://ticket.coreboot.org/issues/455#change-1941

* Author: shen Liu
* Status: New
* Priority: Normal
* Category: userspace utilities
* Target version: master
* Start date: 2023-02-07
* Affected versions: master
* Needs backport to: none
* Related links: More discussion:
https://www.reddit.com/r/coreboot/comments/10ud7tk/is_b85me45_ms7817_supported_by_coreboot/

https://wiki.archlinux.org/title/Debuginfod
* Affected hardware: MSI B85M-E45
* Affected OS: Manjaro Linux 22.0.2 (Kernel ver:6.1.9-1)
----------------------------------------
``` shell
sudo ./superiotool 
Found Aspeed AST2400 (id=0x00) at 0x4e
sudo ./superiotool
superiotool r4.19-306-g12ec7901b7
No Super I/O found
```
Does superiotool provide debug symbols?
Without debug symbols I can't use gdb to provide more useful information.



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
https://ticket.coreboot.org/my/account
_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org

Reply via email to