t-8ch / linux-gigabyte-wmi-driver

Linux Driver for WMI on Gigabyte Mainboards. LEGACY. New development happens in mainline Linux.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/platform/x86/gigabyte-wmi.c
30 stars 4 forks source link

Gigabyte X570 UD doesn't work #4

Closed MajorGonzo closed 3 years ago

MajorGonzo commented 3 years ago

@t-8ch I installed and loaded the driver, but it doesn't detect the it8688 chip. Running sensors shows:

k10temp-pci-00c3
Adapter: PCI adapter
Vcore:       925.00 mV 
Vsoc:          1.09 V  
Tctl:         +38.0°C  
Tdie:         +38.0°C  
Tccd1:        +37.5°C  
Icore:         3.00 A  
Isoc:          8.25 A  

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +16.8°C  (crit = +20.8°C)
temp2:        +16.8°C  (crit = +20.8°C)

amdgpu-pci-0800
Adapter: PCI adapter
vddgfx:      950.00 mV 
fan1:        1355 RPM  (min = 1000 RPM, max = 3800 RPM)
edge:         +39.0°C  (crit = +94.0°C, hyst = -273.1°C)
power1:       32.10 W  (cap = 145.00 W)

nvme-pci-0100
Adapter: PCI adapter
Composite:    +38.9°C  (low  =  -0.1°C, high = +117.8°C)
                       (crit = +149.8°C)

using the it87 driver (with config files) sensors show:

k10temp-pci-00c3
Adapter: PCI adapter
Vcore:       931.00 mV 
Vsoc:          1.09 V  
Tctl:         +36.8°C  
Tdie:         +36.8°C  
Tccd1:        +37.8°C  
Icore:         3.00 A  
Isoc:          7.50 A  

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +16.8°C  (crit = +20.8°C)
temp2:        +16.8°C  (crit = +20.8°C)

it8688-isa-0a40
Adapter: ISA adapter
Vcore:        240.00 mV (min =  +0.00 V, max =  +3.06 V)
+3.3V:          3.37 V  (min =  +0.00 V, max =  +5.05 V)
+12V:          12.31 V  (min =  +0.00 V, max = +18.36 V)
+5V:            5.04 V  (min =  +0.00 V, max =  +7.65 V)
SoC:            1.10 V  (min =  +0.00 V, max =  +3.06 V)
VDDP:         900.00 mV (min =  +0.00 V, max =  +3.06 V)
DRAM A/B:       1.35 V  (min =  -0.03 V, max =  +3.03 V)
3VSB:           3.26 V  (min =  +0.00 V, max =  +6.12 V)
Vbat:           3.26 V  
CPU_FAN:      1243 RPM  (min =   10 RPM)
SYS_FAN1:      679 RPM  (min =   10 RPM)
SYS_FAN2:      722 RPM  (min =   10 RPM)
Chipset fan:  2205 RPM  (min =    0 RPM)
CPU_OPT:         0 RPM  (min =    0 RPM)
SYS1 (rear):   +32.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
SYS2 (front):  +33.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
CPU:           +36.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = AMD AMDSI
PCIe:          +34.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
VRM:           +38.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
Chipset:       +47.0°C  (low  = -16.0°C, high = +90.0°C)  sensor = thermistor
intrusion0:   ALARM

amdgpu-pci-0800
Adapter: PCI adapter
vddgfx:      950.00 mV 
fan1:        1349 RPM  (min = 1000 RPM, max = 3800 RPM)
edge:         +39.0°C  (crit = +94.0°C, hyst = -273.1°C)
power1:       32.09 W  (cap = 145.00 W)

nvme-pci-0100
Adapter: PCI adapter
Composite:    +38.9°C  (low  =  -0.1°C, high = +117.8°C)
                       (crit = +149.8°C)

And here's the output you requested:

/sys/class/dmi/id/bios_date:12/06/2019
/sys/class/dmi/id/bios_release:5.14
/sys/class/dmi/id/bios_vendor:American Megatrends Inc.
/sys/class/dmi/id/bios_version:F11
/sys/class/dmi/id/board_asset_tag:Default string
/sys/class/dmi/id/board_name:X570 UD
/sys/class/dmi/id/board_vendor:Gigabyte Technology Co., Ltd.
/sys/class/dmi/id/board_version:x.x
/sys/class/dmi/id/chassis_asset_tag:Default string
/sys/class/dmi/id/chassis_type:3
/sys/class/dmi/id/chassis_vendor:Default string
/sys/class/dmi/id/chassis_version:Default string
/sys/class/dmi/id/modalias:dmi:bvnAmericanMegatrendsInc.:bvrF11:bd12/06/2019:br5.14:svnGigabyteTechnologyCo.,Ltd.:pnX570UD:pvrDefaultstring:rvnGigabyteTechnologyCo.,Ltd.:rnX570UD:rvrx.x:cvnDefaultstring:ct3:cvrDefaultstring:
/sys/class/dmi/id/product_family:Default string
/sys/class/dmi/id/product_name:X570 UD
/sys/class/dmi/id/product_sku:Default string
/sys/class/dmi/id/product_version:Default string
/sys/class/dmi/id/sys_vendor:Gigabyte Technology Co., Ltd.
/sys/class/dmi/id/uevent:MODALIAS=dmi:bvnAmericanMegatrendsInc.:bvrF11:bd12/06/2019:br5.14:svnGigabyteTechnologyCo.,Ltd.:pnX570UD:pvrDefaultstring:rvnGigabyteTechnologyCo.,Ltd.:rnX570UD:rvrx.x:cvnDefaultstring:ct3:cvrDefaultstring:

Thanks for working on this.

t-8ch commented 3 years ago

@MajorGonzo Can you also show your dmesg logs? And did you use force_load=1?

MajorGonzo commented 3 years ago

I did not use the force_load=1. So I removed it87 module, and reloaded this one using force_load=1. This time, it did detect the temp sensors, so you're definitely on the right track. However, it did not detect the voltages or fans (compare to above):

amdgpu-pci-0800
Adapter: PCI adapter
vddgfx:      950.00 mV 
fan1:        1350 RPM  (min = 1000 RPM, max = 3800 RPM)
edge:         +38.0°C  (crit = +94.0°C, hyst = -273.1°C)
power1:       33.18 W  (cap = 145.00 W)

gigabyte_wmi-virtual-0
Adapter: Virtual device
temp1:        +30.0°C  
temp2:        +32.0°C  
temp3:        +36.0°C  
temp4:        +32.0°C  
temp5:        +35.0°C  
temp6:        +46.0°C  

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +16.8°C  (crit = +20.8°C)
temp2:        +16.8°C  (crit = +20.8°C)

k10temp-pci-00c3
Adapter: PCI adapter
Vcore:       925.00 mV 
Vsoc:          1.09 V  
Tctl:         +36.8°C  
Tdie:         +36.8°C  
Tccd1:        +36.8°C  
Icore:         3.00 A  
Isoc:          8.25 A  

nvme-pci-0100
Adapter: PCI adapter
Composite:    +37.9°C  (low  =  -0.1°C, high = +117.8°C)
                       (crit = +149.8°C)
t-8ch commented 3 years ago

This is expected, this sensor only handles temperature sensors at the moment. I'll put your board on the list of known boards.

marcosscriven commented 2 years ago

at the moment.

Hi @t-8ch - I found your driver from your comment on https://github.com/lm-sensors/lm-sensors/issues/154#issuecomment-813655609

This works fine for temps in in 5.13, but looking to get voltages too, so I searched 'voltage' in your issues, and found your comment.

I'm just wondering what's involved in getting that into your driver/mainline, given it works after a fashion from the old it87 out-of-tree builds?

t-8ch commented 2 years ago

@marcosscriven This would depend on a WMI wrapper method for this sensor.

First you would need to find a WMI method by doing: sudo cat /sys/bus/wmi/drivers/wmi-bmof/05901221-D566-11D1-B2F0-00A0C9062910/bmof| bmf2mof where bmf2mof comes from here: https://github.com/pali/bmfdec/

Then you would need to look at the WMI dispatcher function in the ACPI tables and figure out which parameters it takes and what values it returns.

It helps if you compare the memory locations accessed by the ACPI tables with the ones from the it87.c driver.