Biostar B760MX2-E Pro D4 - unlocking ASPM options

Hi all,

I am trying to mod the BIOS of this motherboard: Biostar B760MX2-E Pro D4 (https://www.biostar.com.tw/app/en/mb/introduction.php?S_ID=1127)

I want to enable ‘Native ASPM’ and other stuff to enable power management to get to deeper C-states (now I’m stuck in C3). These options are hidden for whatever reason. I want to unhide them.

Steps I tried:

  • Using setup_var.efi to write 0x1 to the ‘Native ASPM’ variable, but the BIOS is write-protected.
  • I extracted the AMITSE, setup, setupdata and opened the UEFI Editor tool. I removed the ‘Suppress If’ condition from ‘RC ACPI Settings’ and ‘Native ASPM’. I replaced the setup section with UEFI Tool. I tried flashing the modified image using the BIOS itself. It flashes successfully apparently but nothing changed in the BIOS. The option doesn’t become available.
  • Changing the default for ‘Native ASPM’ to 0x1 and resetting the BIOS to defaults. After doing this and reading the var with setup_var.efi still returns 0x2.
  • Because I thought the built-in BIOS flash procedure failed silently because of the modification, I read the ROM using a CH341A, modified that image and flashed it back. It went fine but I still didn’t notice any change in the BIOS after booting. So maybe the built-in flasher works but removing the ‘Suppress If’ isn’t enough?

Further investigation:

I noticed that the ‘Native ASPM’ is available in the BIOS in ‘Advanced - RC ACPI Settings - Native ASPM’. The ‘RC ACPI Settings’ item is suppressed with a condition.

0x3E415: 		SuppressIf  { 0A 82 }
0x3E417: 			EqIdVal QuestionId: 0x1253, Value: 0x0 { 12 06 53 12 00 00 }
0x3E41D: 			Ref Prompt: "RC ACPI Settings", Help: "System ACPI Parameters", QuestionFlags: 0x0, QuestionId: 0xA, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x271C { 0F 0F 4B 01 00 12 0A 00 00 00 FF FF 00 1C 27 }
0x3E42C: 		End  { 29 02 }

This question 0x1253 is also used in a lot of other suppressions:

  • Power & Performance
  • PCH-FW Configuration
  • Thermal Configuration
  • Platform Settings
  • ACPI D3Cold Settings
  • OverClocking Performance Menu
  • Debug Configuration
  • … and so on

This question doesn’t have a description:

0x76545: 			Numeric Prompt: "", Help: "", QuestionFlags: 0x0, QuestionId: 0x1253, VarStoreId: 0xF101, VarOffset: 0x139, Flags: 0x10, Size: 8, Min: 0x0, Max: 0xFF, Step: 0x0 { 07 91 00 00 00 00 53 12 01 F1 39 01 00 10 00 FF 00 }

Maybe it would be easier to just write 0x1 to the variable of this question (VarStoreId: 0xF101, VarOffset: 0x139) to unlock a bunch of settings? Although this could have other side effects.

Any advice to move forward with this is highly appreciated! I am not sure how to proceed.

Here you can find the latest BIOS image from Biostar (B76POA22.bss) and the extracted sections: https://www.dropbox.com/scl/fi/msmhm170zewqrhvtn5l8a/BIOS.zip?rlkey=jy5lbtx1vj5kkwrs0aqcgt9j2&st=5vhy4rki&dl=0

Thank you!!

Dean

could you try this, just replace the setup in original dump.

Hey Karfel,

‘RC ACPI Settings’ is available now, thanks so much! Would you mind explaining what you changed?

Edit: Okay I actually found out how to do it with some smart HEX editing. I now also unlocked some other menu’s so let’s see what we can get out of this hehe. Edit end

I enabled ‘Native ASPM’ but some devices still report that ASPM is not supported. Are there maybe some settings I am missing? I see there’s a bunch of others related to DMI ASPM.

00:1c.0 PCI bridge: Intel Corporation Device 7a39 (rev 11) (prog-if 00 [Normal decode])
                LnkCap: Port #2, Speed 8GT/s, Width x1, ASPM not supported
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
00:1c.2 PCI bridge: Intel Corporation Raptor Point-S PCH - PCI Express Root Port 3 (rev 11) (prog-if 00 [Normal decode])
                LnkCap: Port #3, Speed 8GT/s, Width x1, ASPM not supported
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+

Could this be unlocked as well please, or I can try myself with a little explanation :slight_smile:

  • Chipset - PCH-IO Configuration - PCI Express Configuration - DMI Link ASPM Control
  • Chipset - System Agent (SA) Configuration (there are two?) - DMI/OPI Configuration
  • Package C State Limit option in CPU Power Management (it’s under Tweaker - CPU Power Management, but under Advanced - Power & Performance - CPU Power Management in UEFI Editor)

Thanks!

Dean

Good to hear that you figured it out on your own, lol. here for the explanation of what you just edited.