-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request: Support Prime X470-Pro board #12
Comments
Thank you for the submission! This is the first one for the 400-series chipset, so things can be unexpectedly different from the 500-series we dealt with so far. I would not be surprised, in particular, if sensor addresses are different. However, I had an impression that all the monitoring sensors for X470 boards are provided by the asus_wmi_sensors driver. Or, perhaps, you are here because of the noted bugs for this motherboard model? You can try to poke around 0xb0 address looking for the correct registers, of course. Not all the sensors are published via EC, look for fans in the Super I/O chip (one of the nctXXX drivers, perhaps?), you can also check out this kernel bug. |
You are correct that I can get proper readings for my Prime X470-Pro board from the asus_wmi_sensors driver, but unfortunately you are also correct that I have encountered bugs while using it. Specifically, after some time I will come back to the computer and find all of the fans stuck on full blast until reboot. This can occur with Windows system monitoring software, too (including ASUS's own software, from what I've heard), and hasn't been fixed in years of BIOS updates, including the current newest. For some, they have the opposite problem (fans stopping completely) so I don't feel I can trust anything that is using the WMI interface. As for the Super I/O chip, this board uses an ITE8665E, which has no official support under Linux, only an abandoned unmaintained driver that gives me problems (and also seems to suffer from the same acpi_enforce_resources=lax bug). As for this driver,
Please let me know if there's anything else you need from me to have the board supported. Thanks! |
Thank you for the detailed explanation! Is the following brief summary correct?
|
That's all correct! 👍 |
Great! Thank you for the detailed investigation results! I'll post changeset here and cc you for a patch submission. |
CPU core voltage sensor is found at the same address for Crosshair VIII Hero. |
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] #12
@darcagn, since you did not make your email public for the GitHub profile, could you, perhaps, send me an email so I can cc you for the HWMON patch? Thanks! |
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] #12
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] #12
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] #12
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] #12
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] #12
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Tested-by: Oleksandr Natalenko <[email protected]>
I added my ROG Crosshair VII Hero to the source file and compiled. See my post at Issue#14 |
Attaching the DSDT for PRIME X470-PRO, in case that helps.
No worries on this, take all the time you need, I'm just happy to help. 😃 BTW, not sure if you got my email, it's my github username at protonmail dot com. |
Thank you for the DSDT, I read it and here follows what I found. The
There are only 3 sensors here, whose readings are placed in NU12, NU13, and NU14. The method locks mutex 0x3A -> "Chipset Temperature" But we know already that there are CPU, MB, and VRM temperature in the EC registers, and you also found the CPU core voltage. |
Yes, I did, thank you. |
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Tested-by: Oleksandr Natalenko <[email protected]> Tested-by: Denis Pauk <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
@darcagn, could you, please, check whether the kernel guards access to the EC with the global lock?
|
Sure! That command returns |
Thank you, needed to verify my conclusion deduced from the DSDT code, because there are number of workarounds in the kernel for ASUS boards. So typical of ASUS software engineering: instead of declaring the EC as guarded by the global lock and let OSes handle that, let's acquire it manually in every method we write to access the EC... |
Add board info basing on the information in #12.
@darcagn, I pushed a new branch with the board support included and would appreciate a test run with the hardware, please. |
Compiled and tested from new branch; two issues:
So I went into the source and removed
|
Thank you! Sorry for the mistake in the sensors definition. I'm making the following change: --- a/asus-ec-sensors.c
+++ b/asus-ec-sensors.c
@@ -185,7 +185,7 @@ struct ec_board_info {
static const struct ec_board_info __initconst board_prime_x470_pro = {
.sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | SENSOR_TEMP_T_SENSOR |
SENSOR_TEMP_VRM | SENSOR_FAN_CPU_OPT_V1 |
- SENSOR_FAN_WATER_FLOW | SENSOR_CURR_CPU,
+ SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE,
.mutex_path = ACPI_GLOBAL_LOCK_PSEUDO_PATH,
}; Now I need a good solution to replace these _V0 and _V1 CPU opt sensors and then I can submit these changes to the mainline. |
Add board info basing on the information in #12.
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Co-developed-by: Eugene Shalygin <[email protected]> Signed-off-by: Eugene Shalygin <[email protected]> Signed-off-by: Denis Pauk <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Tested-by: Oleksandr Natalenko <[email protected]> Tested-by: Denis Pauk <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Tested-by: Oleksandr Natalenko <[email protected]> Tested-by: Denis Pauk <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Tested-by: Oleksandr Natalenko <[email protected]> Tested-by: Denis Pauk <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
Are there any news, @darcagn ? |
Sorry for not getting back to you sooner. I've been running |
Thank you, I will prepare and submit these changes to the mainline kernel then. I will need a "Tested-by" comment from you, as we already discussed, but can't promise when I will push these changes out, as my personal time flow is complicated while my country fights back the Russian invasion. |
This board is supposed to be handled by the asus-wmi-sensors driver, but due to a buggy WMI implementation the driver and the official ASUS software make the BIOS hang together with fan controls. This driver complements values provided by the SIO chip and does not freeze the BIOS, as tested by a user [2]. [1] https://github.com/electrified/asus-wmi-sensors/blob/master/README.md [2] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Tested-by: Oleksandr Natalenko <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Co-developed-by: Eugene Shalygin <[email protected]> Signed-off-by: Eugene Shalygin <[email protected]> Signed-off-by: Denis Pauk <[email protected]>
This board is supposed to be handled by the asus-wmi-sensors driver, but due to a buggy WMI implementation the driver and the official ASUS software make the BIOS hang together with fan controls [1, 2]. This driver complements values provided by the SIO chip and does not freeze the BIOS, as tested by a user [2]. [1] https://github.com/electrified/asus-wmi-sensors/blob/master/README.md [2] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]>
This board is supposed to be handled by the asus-wmi-sensors driver, but due to a buggy WMI implementation the driver and the official ASUS software make the BIOS hang together with fan controls [1, 2]. This driver complements values provided by the SIO chip and does not freeze the BIOS, as tested by a user [2]. [1] https://github.com/electrified/asus-wmi-sensors/blob/master/README.md [2] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]>
Mainlined. |
This board is supposed to be handled by the asus-wmi-sensors driver, but due to a buggy WMI implementation the driver and the official ASUS software make the BIOS hang together with fan controls [1, 2]. This driver complements values provided by the SIO chip and does not freeze the BIOS, as tested by a user [2]. [1] https://github.com/electrified/asus-wmi-sensors/blob/master/README.md [2] #12 Signed-off-by: Eugene Shalygin <[email protected]>
This board is supposed to be handled by the asus-wmi-sensors driver, but due to a buggy WMI implementation the driver and the official ASUS software make the BIOS hang together with fan controls [1, 2]. This driver complements values provided by the SIO chip and does not freeze the BIOS, as tested by a user [2]. [1] https://github.com/electrified/asus-wmi-sensors/blob/master/README.md [2] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
This board is supposed to be handled by the asus-wmi-sensors driver, but due to a buggy WMI implementation the driver and the official ASUS software make the BIOS hang together with fan controls [1, 2]. This driver complements values provided by the SIO chip and does not freeze the BIOS, as tested by a user [2]. [1] https://github.com/electrified/asus-wmi-sensors/blob/master/README.md [2] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Tested-by: Oleksandr Natalenko <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Co-developed-by: Eugene Shalygin <[email protected]> Signed-off-by: Eugene Shalygin <[email protected]> Signed-off-by: Denis Pauk <[email protected]>
This board is supposed to be handled by the asus-wmi-sensors driver, but due to a buggy WMI implementation the driver and the official ASUS software make the BIOS hang together with fan controls [1, 2]. This driver complements values provided by the SIO chip and does not freeze the BIOS, as tested by a user [2]. [1] https://github.com/electrified/asus-wmi-sensors/blob/master/README.md [2] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
This board is supposed to be handled by the asus-wmi-sensors driver, but due to a buggy WMI implementation the driver and the official ASUS software make the BIOS hang together with fan controls [1, 2]. This driver complements values provided by the SIO chip and does not freeze the BIOS, as tested by a user [2]. [1] https://github.com/electrified/asus-wmi-sensors/blob/master/README.md [2] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
This board is supposed to be handled by the asus-wmi-sensors driver, but due to a buggy WMI implementation the driver and the official ASUS software make the BIOS hang together with fan controls [1, 2]. This driver complements values provided by the SIO chip and does not freeze the BIOS, as tested by a user [2]. [1] https://github.com/electrified/asus-wmi-sensors/blob/master/README.md [2] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
This board is supposed to be handled by the asus-wmi-sensors driver, but due to a buggy WMI implementation the driver and the official ASUS software make the BIOS hang together with fan controls [1, 2]. This driver complements values provided by the SIO chip and does not freeze the BIOS, as tested by a user [2]. [1] https://github.com/electrified/asus-wmi-sensors/blob/master/README.md [2] zeule/asus-ec-sensors#12 Signed-off-by: Eugene Shalygin <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Co-developed-by: Eugene Shalygin <[email protected]> Signed-off-by: Eugene Shalygin <[email protected]> Signed-off-by: Denis Pauk <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Co-developed-by: Eugene Shalygin <[email protected]> Signed-off-by: Eugene Shalygin <[email protected]> Signed-off-by: Denis Pauk <[email protected]>
A user discovered [1] the CPU Core voltage sensor, which spans 2 registers and provides output in mV. Althroug the discovery was made with a X470 chipset, the sensor is present in X570 (tested with C8H). For now simply add it to each board with the CPU current sensor present. [1] zeule/asus-ec-sensors#12 Co-developed-by: Eugene Shalygin <[email protected]> Signed-off-by: Eugene Shalygin <[email protected]> Signed-off-by: Denis Pauk <[email protected]>
`asus_wmi_sensors` is buggy and often causes fan curves to be stuck at too high values in Asus X470 Prime Pro. Unfortunately, `asus_ec_sensors` does not provide values for chassis fans having PC working quieter is a fair price to pay for that. More background on the issue available here zeule/asus-ec-sensors#12
`asus_wmi_sensors` is buggy and often causes fan curves to be stuck at too high values in Asus X470 Prime Pro. Unfortunately, `asus_ec_sensors` does not provide values for chassis fans. Having PC working quieter is a fair price to pay for that. More background on the issue available here zeule/asus-ec-sensors#12
Board: "PRIME X470-PRO" - uses \AMW0.ASMX
I simply added the following lines to the asus_ec_dmi_table:
Compiled and loaded kernel module, run sensors and I get:
The T_Sensor I assume is working but showing -40.0C because I have no sensor actually plugged in.
However the Water_Flow reading I am seeing is incorrect; that reading is actually for the fan plugged into the CPU_OPT connector on my board.
When I plug a fan into AIO_PUMP or W_PUMP I am getting a spinning fan but sensors doesn't show any reading on CPU_Opt (so it's not just a matter of them being reversed or something).
Another question I have is why CHA_FAN1, CHA_FAN2, CHA_FAN3, etc. readings aren't supported on any of these boards. Are they just not exposed in this way or is something more needed to support them?
The text was updated successfully, but these errors were encountered: