lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d71e1b74a583cf2651658151751c578218861032.camel@rong.moe>
Date: Wed, 07 May 2025 02:54:18 +0800
From: Rong Zhang <i@...g.moe>
To: Mingcong Bai <jeffbai@...c.io>, Mario Limonciello
	 <mario.limonciello@....com>, Runhua He <hua@...c.io>, 
	platform-driver-x86@...r.kernel.org
Cc: Kexy Biscuit <kexybiscuit@...c.io>, Xinhui Yang <cyan@...no.uk>, Yemu
 Lu	 <prcups@...m.moe>, Shyam Sundar S K <Shyam-sundar.S-k@....com>, Hans de
 Goede	 <hdegoede@...hat.com>, Ilpo Järvinen	
 <ilpo.jarvinen@...ux.intel.com>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] platform/x86/amd/pmc: Declare quirk_spurious_8042 for
 MECHREVO Wujie 14XA (GX4HRXL)

Hi all,

On Tue, 2025-05-06 at 22:02 +0800, Mingcong Bai wrote:
> Hi Mario,
> 
> 在 2025/5/6 21:29, Mario Limonciello 写道:
> > On 5/6/2025 6:25 AM, Runhua He wrote:

[...]

> > > I have only matched the motherboard model, as the same chassis and
> > > motherboard (GX4HRXL) combination may be used under different product
> > > names.

Runhua's statement is *only* correct to a certain extent. (see below)

> > > Suggested-by: Mingcong Bai <jeffbai@...c.io>
> > > Suggested-by: Xinhui Yang <cyan@...no.uk>
> > > Suggested-by: Rong Zhang <i@...g.moe>
> > > Fixes: a55bdad5dfd1 ("platform/x86/amd/pmc: Disable keyboard wakeup on 
> > > AMD Framework 13")
> > > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4166
> > > Cc: Mario Limonciello <mario.limonciello@....com>
> > > Link: https://zhuanldan.zhihu.com/p/730538041
> > > Tested-by: Yemu Lu <prcups@...m.moe>
> > > Signed-off-by: Runhua He <hua@...c.io>
> > > ---
> > >   drivers/platform/x86/amd/pmc/pmc-quirks.c | 7 +++++++
> > >   1 file changed, 7 insertions(+)
> > > 
> > > diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/ 
> > > platform/x86/amd/pmc/pmc-quirks.c
> > > index b4f49720c87f..e01012d5ecd0 100644
> > > --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
> > > +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> > > @@ -217,6 +217,13 @@ static const struct dmi_system_id fwbug_list[] = {
> > >               DMI_MATCH(DMI_BIOS_VERSION, "03.05"),
> > >           }
> > >       },
> > > +    {
> > > +        .ident = "MECHREVO Wujie 14 Series (GX4HRXL)",
> > > +        .driver_data = &quirk_spurious_8042,
> > > +        .matches = {
> > > +            DMI_MATCH(DMI_BOARD_NAME, "GX4HRXL"),
> > 
> > This feels like it might be too wide.  Could we match a system vendor as 
> > well?
> 
> Possibly. There are two known system vendors using this motherboard - 
> TongFang and MECHREVO (MECHREVO is a marque owned by TongFang).

There are plain "GX4HRXL" and "WUJIE14-GX4HRXL". Their BIOS/firmware
are different - this difference is not just about marketing.

Runhua's statement only applies to plain "GX4HRXL", which is not his
model. All seen editions are:
   - Juno GX4HRXL [1]
   - TongFang GX4HRXL [2]

Comparing [1] and [2]:

   diff --git a/juno b/tongfang
   index 88a71da..c6846eb 100644
   --- a/juno
   +++ b/tongfang
   @@ -1,4 +1,4 @@
   -# dmidecode 3.6
   +# dmidecode 3.5
    Getting SMBIOS data from sysfs.
    SMBIOS 3.5.0 present.
    Table at 0x9A92D000.
   @@ -28,7 +28,7 @@ BIOS Information
    
    Handle 0x0001, DMI type 1, 27 bytes
    System Information
   -	Manufacturer: Juno
   +	Manufacturer: TongFang
    	Product Name: GX4HRXL
    	Version: Standard
    	Serial Number: --
    [... SO-DIMM and PCIe ...]


As for "WUJIE14-GX4HRXL", the only model I've seen is:
   - MECHREVO WUJIE14XA [3]

Comparing [2] and [3]:

   diff --git a/tongfang b/mechrevo
   index c6846eb..0f132a2 100644
   --- a/tongfang
   +++ b/mechrevo
   @@ -1,13 +1,13 @@
   -# dmidecode 3.5
   +# dmidecode 3.6
    Getting SMBIOS data from sysfs.
    SMBIOS 3.5.0 present.
   -Table at 0x9A92D000.
   +Table at 0x9A92C000.
    
    Handle 0x0000, DMI type 0, 26 bytes
    BIOS Information
    	Vendor: American Megatrends International, LLC.
   -	Version: N.1.14PCS05
   -	Release Date: 10/24/2024
   +	Version: N.1.14MRO19
   +	Release Date: 01/17/2025
    	Address: 0xF0000
    	Runtime Size: 64 kB
    	ROM Size: 32 MB
   @@ -23,24 +23,24 @@ BIOS Information
    		BIOS boot specification is supported
    		Targeted content distribution is supported
    		UEFI is supported
   -	BIOS Revision: 1.5
   -	Firmware Revision: 1.39
   +	BIOS Revision: 1.19
   +	Firmware Revision: 2.8
    
    Handle 0x0001, DMI type 1, 27 bytes
    System Information
   -	Manufacturer: TongFang
   -	Product Name: GX4HRXL
   +	Manufacturer: MECHREVO
   +	Product Name: WUJIE14XA
    	Version: Standard
    	Serial Number: --
    	UUID: --
    	Wake-up Type: Power Switch
   -	SKU Number: 0001
   -	Family: HPT
   +	SKU Number: WUJIE14
   +	Family: Mechrevo WUJIE Series
    
    Handle 0x0002, DMI type 2, 15 bytes
    Base Board Information
   -	Manufacturer: TongFang
   -	Product Name: GX4HRXL
   +	Manufacturer: MECHREVO
   +	Product Name: WUJIE14-GX4HRXL
    	Version: Standard
    	Serial Number: --
    	Asset Tag: --
   @@ -54,7 +54,7 @@ Base Board Information
    
    Handle 0x0003, DMI type 3, 22 bytes
    Chassis Information
   -	Manufacturer: Standard
   +	Manufacturer: MECHREVO
    	Type: Notebook
    	Lock: Not Present
    	Version: Standard
   @@ -88,7 +88,7 @@ OEM Strings
    	String 8: Standard
    	String 9: Standard
    	String 10: Standard
   -	String 11: FBM-GX4HRXL0177PCS
   +	String 11: FGM-GX4HRXL0202101
    	String 12: GX4HRXL
    	String 13: Standard
    	String 14: Standard
   @@ -122,11 +122,11 @@ Unknown Type
    Handle 0x000A, DMI type 45, 26 bytes
    Firmware Inventory Information
    	Firmware Component Name: BIOS Firmware
   -	Firmware Version: N.1.14PCS05
   -	Firmware ID: D968671D-72E2-5CA3-9E09-0E48EA102BDC
   -	Release Date: 10/24/2024
   +	Firmware Version: N.1.14MRO19
   +	Firmware ID: 0145F8DC-000F-5BDE-8ACB-8AD00CAE8FFE
   +	Release Date: 01/17/2025
    	Manufacturer: Standard
   -	Lowest Supported Firmware Version: N.1.14PCS05
   +	Lowest Supported Firmware Version: N.1.14MRO19
    	Image Size: 32 MB
    	Characteristics:
    		Updatable: Yes
    [... PCIe ...]


Look for BIOS versions whose release dates are the closest between the
two [4] [5]:

   diff --git a/tongfang-1.13 b/mechrevo-1.13
   index 3970b9a..a617bbc 100644
   --- a/tongfang-1.13
   +++ b/mechrevo-1.13
   @@ -1,13 +1,13 @@
    # dmidecode 3.6
    Getting SMBIOS data from sysfs.
    SMBIOS 3.5.0 present.
   -Table at 0x9A92D000.
   +Table at 0x9A92C000.
    
    Handle 0x0000, DMI type 0, 26 bytes
    BIOS Information
    	Vendor: American Megatrends International, LLC.
   -	Version: N.1.13PCS03
   -	Release Date: 09/06/2024
   +	Version: N.1.13MRO14
   +	Release Date: 08/19/2024
    	Address: 0xF0000
    	Runtime Size: 64 kB
    	ROM Size: 32 MB
   @@ -23,24 +23,24 @@ BIOS Information
    		BIOS boot specification is supported
    		Targeted content distribution is supported
    		UEFI is supported
   -	BIOS Revision: 1.3
   -	Firmware Revision: 1.33
   +	BIOS Revision: 1.14
   +	Firmware Revision: 1.32
    [...]
   @@ -88,7 +88,7 @@ OEM Strings
    	String 8: Standard
    	String 9: Standard
    	String 10: Standard
   -	String 11: FBM-GX4HRXL0177PCS
   +	String 11: FGM-GX4HRXL0167102
    	String 12: GX4HRXL
    	String 13: Standard
    	String 14: Standard
   @@ -122,11 +122,11 @@ Unknown Type
    Handle 0x000A, DMI type 45, 26 bytes
    Firmware Inventory Information
    	Firmware Component Name: BIOS Firmware
   -	Firmware Version: N.1.13PCS03
   -	Firmware ID: D968671D-72E2-5CA3-9E09-0E48EA102BDC
   -	Release Date: 09/06/2024
   +	Firmware Version: N.1.13MRO14
   +	Firmware ID: 0145F8DC-000F-5BDE-8ACB-8AD00CAE8FFE
   +	Release Date: 08/19/2024
    	Manufacturer: Standard
   -	Lowest Supported Firmware Version: N.1.13PCS03
   +	Lowest Supported Firmware Version: N.1.13MRO14
    	Image Size: 32 MB
    	Characteristics:
    		Updatable: Yes
    [...]


Three bits here hint that these two variants are not completely
identical:
   - BIOS/firmware updates are not synced.
   - Different characters in their BIOS version strings, i.e., PCS vs MRO.
   - FBM-GX4HRXL0177PCS vs FGM-GX4HRXL0202101 vs FGM-GX4HRXL0167102.

I guess these two variants were developed by two different teams
(global/China) that shared some common codebase. The difference is
probably because of the divergence of pre-installed software to
manipulate BIOS options in Windows. I highly suspect the broken EC
state machine is related to such software.

[1]: https://linux-hardware.org/?probe=22e1f510a2&log=dmidecode
[2]: https://linux-hardware.org/?probe=0475501c8c&log=dmidecode
[3]: https://linux-hardware.org/?probe=d9af608109&log=dmidecode
[4]: https://linux-hardware.org/?probe=599c1edc57&log=dmidecode
[5]: https://linux-hardware.org/?probe=7c2e3b925b&log=dmidecode

> See: https://linux-hardware.org/?probe=6783d8fc06

This is TongFang GX4HRXL and uses a different BIOS then Runhua's as
mentioned above.

> Runhua, maybe we could make two entries here?

Since this is a platform firmware bug, and given the information we
have, is it too soon to say plain "GX4HRXL" suffers from the same bug?

I agree with Mario here, but in a slightly different manner, i.e.,
narrowing the DMI_BOARD_NAME match down to "WUJIE14-GX4HRXL".

diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c
b/drivers/platform/x86/amd/pmc/pmc-quirks.c
index b4f49720c87f..2e3f6fc67c56 100644
--- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
+++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
@@ -217,6 +217,13 @@ static const struct dmi_system_id fwbug_list[] = {
 			DMI_MATCH(DMI_BIOS_VERSION, "03.05"),
 		}
 	},
+	{
+		.ident = "MECHREVO Wujie 14X (GX4HRXL)",
+		.driver_data = &quirk_spurious_8042,
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "WUJIE14-GX4HRXL"),
+		}
+	},
 	{}
 };

Note on `s/14 Series/14X/': while glancing linux-hardware.org, I found
Wujie 14 Series includes 14, 14S, 14 Pro, 14XA. They are all disparate
from each other. 14X is 14XA's marketing name.

> Best Regards,
> Mingcong Bai

Regards,
Rong

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ