2021-10-03 11:54:09

by Oleksandr Natalenko

[permalink] [raw]
Subject: Re: [PATCH 0/3] Update ASUS WMI supported boards.

Hello.

On sobota 2. října 2021 23:08:53 CEST Denis Pauk wrote:
> Add support to nct6775:
> * PRIME B360-PLUS
> * PRIME X570-PRO
> * ROG CROSSHAIR VIII FORMULA
> * ROG STRIX B550-I GAMING
> * ROG STRIX X570-F GAMING
> * ROG STRIX Z390-E GAMING
> * TUF GAMING B550-PRO
> * TUF GAMING Z490-PLUS
> * TUF GAMING Z490-PLUS (WI-FI)

Thank you for this submission.

Do you happen to know whether it can be extended with another ASUS board which
is:

```
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: Pro WS X570-ACE
```

?

I've got one, and in case any info or testing is needed, I'd be happy to
contribute.

Currently, this board is kinda working after adding
`acpi_enforce_resources=lax`, but I assume a proper support is needed instead.

Thanks.

> Add sensors driver for ASUS motherboards to read sensors from the embedded
> controller. Based on https://github.com/zeule/asus-wmi-ec-sensors.
>
> Could you please review?
>
> @Andy Shevchenko, @Guenter Roeck should I split last patch in some way?
> Should I add to MAINTAINERS:
> --
> ASUS WMI HARDWARE MONITOR DRIVER
> M: Eugene Shalygin <[email protected]>
> M: Denis Pauk <[email protected]>
> L: [email protected]
> S: Maintained
> F: drivers/hwmon/asus_wmi_sensors.c
> --
>
>
> BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204807
> Signed-off-by: Denis Pauk <[email protected]>
> Co-developed-by: Eugene Shalygin <[email protected]>
> Signed-off-by: Eugene Shalygin <[email protected]>
> Tested-by: matt-testalltheway <[email protected]>
> Tested-by: Kamil Dudka <[email protected]>
> Tested-by: Robert Swiecki <[email protected]>
> Tested-by: Kamil Pietrzak <[email protected]>
> Tested-by: Igor <[email protected]>
> Tested-by: Tor Vic <[email protected]>
> Tested-by: Poezevara <[email protected]>
> Cc: Andy Shevchenko <[email protected]>
> Cc: Guenter Roeck <[email protected]>
>
> ---
> Denis Pauk (3):
> hwmon: (nct6775) Add additional ASUS motherboards.
> hwmon: (nct6775) Use custom scale for ASUS motherboards.
> hwmon: (asus_wmi_sensors) Support access via Asus WMI.
>
> drivers/hwmon/Kconfig | 12 +
> drivers/hwmon/Makefile | 1 +
> drivers/hwmon/asus_wmi_sensors.c | 595 +++++++++++++++++++++++++++++++
> drivers/hwmon/nct6775.c | 41 ++-
> 4 files changed, 643 insertions(+), 6 deletions(-)
> create mode 100644 drivers/hwmon/asus_wmi_sensors.c


--
Oleksandr Natalenko (post-factum)



2021-10-03 12:48:19

by Oleksandr Natalenko

[permalink] [raw]
Subject: Re: [PATCH 0/3] Update ASUS WMI supported boards.

Hello.

On neděle 3. října 2021 13:50:12 CEST Oleksandr Natalenko wrote:
> On sobota 2. října 2021 23:08:53 CEST Denis Pauk wrote:
> > Add support to nct6775:
> > * PRIME B360-PLUS
> > * PRIME X570-PRO
> > * ROG CROSSHAIR VIII FORMULA
> > * ROG STRIX B550-I GAMING
> > * ROG STRIX X570-F GAMING
> > * ROG STRIX Z390-E GAMING
> > * TUF GAMING B550-PRO
> > * TUF GAMING Z490-PLUS
> > * TUF GAMING Z490-PLUS (WI-FI)
>
> Thank you for this submission.
>
> Do you happen to know whether it can be extended with another ASUS board
> which is:
>
> ```
> Manufacturer: ASUSTeK COMPUTER INC.
> Product Name: Pro WS X570-ACE
> ```
>
> ?
>
> I've got one, and in case any info or testing is needed, I'd be happy to
> contribute.
>
> Currently, this board is kinda working after adding
> `acpi_enforce_resources=lax`, but I assume a proper support is needed
> instead.

Partially answering to myself, but still need some clarification.

I did this on top of your recent submissions:

```
diff --git a/drivers/hwmon/asus_wmi_sensors.c b/drivers/hwmon/
asus_wmi_sensors.c
index 6b04fad18891..f6817ec9de29 100644
--- a/drivers/hwmon/asus_wmi_sensors.c
+++ b/drivers/hwmon/asus_wmi_sensors.c
@@ -35,6 +35,7 @@
#define ASUS_EC_KNOWN_EC_REGISTERS 14

enum asus_wmi_ec_board {
+ BOARD_PW_X570_A, // Pro WS X570-ACE
BOARD_R_C8H, // ROG Crosshair VIII Hero
BOARD_R_C8DH, // ROG Crosshair VIII Dark Hero
BOARD_R_C8F, // ROG Crosshair VIII Formula
@@ -44,6 +45,7 @@ enum asus_wmi_ec_board {

/* boards with EC support */
static const char *const asus_wmi_ec_boards_names[] = {
+ [BOARD_PW_X570_A] = "Pro WS X570-ACE",
[BOARD_R_C8H] = "ROG CROSSHAIR VIII HERO",
[BOARD_R_C8DH] = "ROG CROSSHAIR VIII DARK HERO",
[BOARD_R_C8F] = "ROG CROSSHAIR VIII FORMULA",
@@ -130,6 +132,7 @@ static void asus_wmi_ec_fill_board_sensors(struct
asus_wmi_ec_info *ec, int boar
ec->nr_registers = 0;

switch (board) {
+ case BOARD_PW_X570_A:
case BOARD_RS_B550_E_G:
case BOARD_RS_X570_E_G:
case BOARD_R_C8H:
@@ -153,6 +156,7 @@ static void asus_wmi_ec_fill_board_sensors(struct
asus_wmi_ec_info *ec, int boar
}

switch (board) {
+ case BOARD_PW_X570_A:
case BOARD_RS_X570_E_G:
case BOARD_R_C8H:
case BOARD_R_C8DH:
@@ -166,6 +170,7 @@ static void asus_wmi_ec_fill_board_sensors(struct
asus_wmi_ec_info *ec, int boar
}

switch (board) {
+ case BOARD_PW_X570_A:
case BOARD_RS_X570_E_G:
case BOARD_R_C8H:
case BOARD_R_C8F:
diff --git a/drivers/hwmon/nct6775.c b/drivers/hwmon/nct6775.c
index ba18c1cbf572..ff28ba70a8b3 100644
--- a/drivers/hwmon/nct6775.c
+++ b/drivers/hwmon/nct6775.c
@@ -5000,6 +5000,7 @@ static int __init nct6775_find(int sioaddr, struct
nct6775_sio_data *sio_data)
static struct platform_device *pdev[2];

static const char * const asus_wmi_boards[] = {
+ "Pro WS X570-ACE",
"PRIME B360-PLUS",
"PRIME B460-PLUS",
"PRIME X570-PRO",
```

Now, with nct6775 I do not need `acpi_enforce_resources=lax` any more, and it
works straight away:

```
nct6798-isa-0290
Adapter: ISA adapter
in0: 1.06 V (min = +0.00 V, max = +1.74 V)
in1: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in2: 3.38 V (min = +0.00 V, max = +0.00 V) ALARM
in3: 3.36 V (min = +0.00 V, max = +0.00 V) ALARM
in4: 1.74 V (min = +0.00 V, max = +0.00 V) ALARM
in5: 592.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in6: 1.09 V (min = +0.00 V, max = +0.00 V) ALARM
in7: 3.38 V (min = +0.00 V, max = +0.00 V) ALARM
in8: 3.25 V (min = +0.00 V, max = +0.00 V) ALARM
in9: 888.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in10: 8.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in11: 80.00 mV (min = +0.00 V, max = +0.00 V) ALARM
in12: 1.02 V (min = +0.00 V, max = +0.00 V) ALARM
in13: 1.35 V (min = +0.00 V, max = +0.00 V) ALARM
in14: 888.00 mV (min = +0.00 V, max = +0.00 V) ALARM
fan1: 743 RPM (min = 0 RPM)
fan2: 366 RPM (min = 0 RPM)
fan3: 724 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
fan7: 0 RPM (min = 0 RPM)
SYSTIN: +35.0°C (high = +80.0°C, hyst = +75.0°C) sensor =
thermistor
CPUTIN: +43.0°C (high = +80.0°C, hyst = +75.0°C) sensor =
thermistor
AUXTIN0: +22.0°C sensor = thermistor
AUXTIN1: +127.0°C sensor = thermistor
AUXTIN2: +109.0°C sensor = thermistor
AUXTIN3: +32.0°C sensor = thermistor
PECI Agent 0 Calibration: +44.5°C
PCH_CHIP_CPU_MAX_TEMP: +0.0°C
PCH_CHIP_TEMP: +0.0°C
PCH_CPU_TEMP: +0.0°C
intrusion0: ALARM
intrusion1: OK
beep_enable: disabled
```

With asus_wmi_sensors I get this:

```
asuswmiecsensors-isa-0000
Adapter: ISA adapter
CPU_Opt: 0 RPM
Chipset: 1733 RPM
Chipset: +58.0°C
CPU: +45.0°C
Motherboard: +35.0°C
T_Sensor: +216.0°C
VRM: +34.0°C
CPU: 7.00 A
```

Everything seems to be good except that `T_Sensor`. Probably, I should exclude
it on this board?

If you are fine with the approach above, I'll post 2 patches for this board.

Thanks.

--
Oleksandr Natalenko (post-factum)