EU ASRock Rack B450D4U-V1LQ5 mATX AM4

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

luckylinux

Well-Known Member
Mar 18, 2012
1,551
492
83
They didn't accepted yet :) Let you know when I know more.
Thanks :). I was surprised they accepted mine during Easter Friday to be honest since it's supposed to be Bank Holiday in Germany like pretty much everywhere in Europe too. Maybe you were just a bit too late in Time.

Complete 24 machines to working state, smells like a lot of money :D
Well the DRAM Deal there is lowering that A LOT. The best I could find a few Weeks back was 25 EUR / DIMM. Which it makes it seems like I was ripped off knowing what I learned / saw now o_O.

At least the CPU Cooler went from 30 EUR to 3 EUR a Piece :p. Not sure it's Cooling Enough but better than AMD Stock Cooler and max CPU Temps at 75°C according to one Review on Youtube.

About the PSU and Chassis I'm still VERY undecided though.

Chassis the Fujitsu TX1320 M3 at around 57 EUR shipped is temping (including SATA/SAS Backplane), but I would have to dispose of Motherboard and PSU and find a way to blast plenty of air through .... Was thinking either a Rack "Door" with a bunch of 120mm Fans or possibly some 3D Printed Fan Mount for 4x80mm to clip onto the Front Panel.

PSU I got 8 of these (2.2kW each, 12V and some 5V standby) at a sale and they are meant for a Dell Powervault Storage Monster. So I was thinking a couple of these and PicoPSU Adapters :)


Something tells me that reverse engineering of these is going to be NOT so much fun. Let's just hope there are no stupid encrypted signals or whatnot on the signal Connector o_O.
 
  • Like
Reactions: chlastakov

luckylinux

Well-Known Member
Mar 18, 2012
1,551
492
83
@RolloZ170: how do you go forward now that I got the Verbose Output ?


Do you modify the extracted File (by ifrextractor <file> verbose -> Section_PE32_image_CbsSetupDxeSSP_CbsSetupDxeSSP.sct.0.0.en-US.uefi.ifr.txt) or you use the Line Numbers of the Left to modify the Binary File directly (Section_PE32_image_CbsSetupDxeSSP_CbsSetupDxeSSP.sct)?

Snippet Example:
Code:
Program version: 1.6.0, Extraction mode: UEFI
0x1C47C: FormSet Guid: B04535E3-3004-4946-9EB7-149428983053, Title: "AMD CBS", Help: "AMD CBS Setup Page" { 0E A7 E3 35 45 B0 04 30 46 49 9E B7 14 94 28 98 30 53 03 00 04 00 01 71 99 03 93 45 85 04 4B B4 5E 32 EB 83 26 04 0E }
0x1C4A3:        Guid Guid: 0F0B1735-87A0-4193-B266-538C38AF48CE, ExtendedOpCode: Class, Class: 0x55 { 5F 15 35 17 0B 0F A0 87 93 41 B2 66 53 8C 38 AF 48 CE 03 55 00 }
0x1C4B8:        Guid Guid: 0F0B1735-87A0-4193-B266-538C38AF48CE, ExtendedOpCode: SubClass, SubClass: 0x0 { 5F 15 35 17 0B 0F A0 87 93 41 B2 66 53 8C 38 AF 48 CE 04 00 00 }
0x1C4CD:        DefaultStore DefaultId: 0x0, Name: "" { 5C 06 00 00 00 00 }
0x1C4D3:        DefaultStore DefaultId: 0x1, Name: "" { 5C 06 00 00 01 00 }
0x1C4D9:        VarStore Guid: 3A997502-647A-4C82-998E-52EF9486A247, VarStoreId: 0x5000, Size: 0x611, Name: "AmdSetup" { 24 1F 02 75 99 3A 7A 64 82 4C 99 8E 52 EF 94 86 A2 47 00 50 11 06 41 6D 64 53 65 74 75 70 00 }
0x1C4F8:        Form FormId: 0x7000, Title: "AMD CBS" { 01 86 00 70 03 00 }
0x1C4FE:                Subtitle Prompt: "AMD CBS", Help: "", Flags: 0x0 { 02 87 03 00 00 00 00 }
0x1C505:                End  { 29 02 }
0x1C507:                Subtitle Prompt: "", Help: "", Flags: 0x0 { 02 87 02 00 00 00 00 }
0x1C50E:                End  { 29 02 }
0x1C510:                Ref Prompt: "CPU Common Options", Help: "CPU Common Options", QuestionFlags: 0x0, QuestionId: 0x1, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7001 { 0F 0F 05 00 05 00 01 00 00 00 FF FF 00 01 70 }
0x1C51F:                SuppressIf  { 0A 82 }
0x1C521:                        EqIdVal QuestionId: 0x9, Value: 0xFF { 12 86 09 00 FF 00 }
0x1C527:                                Not  { 17 02 }
0x1C529:                        End  { 29 02 }
0x1C52B:                        Ref Prompt: "DF Common Options", Help: "DF Common Options", QuestionFlags: 0x0, QuestionId: 0x2, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7002 { 0F 0F 06 00 06 00 02 00 00 00 FF FF 00 02 70 }
0x1C53A:                End  { 29 02 }
0x1C53C:                SuppressIf  { 0A 82 }
0x1C53E:                        EqIdVal QuestionId: 0x9, Value: 0xC { 12 86 09 00 0C 00 }
0x1C544:                                Not  { 17 02 }
0x1C546:                        End  { 29 02 }
0x1C548:                        Ref Prompt: "UMC Common Options", Help: "UMC Common Options", QuestionFlags: 0x0, QuestionId: 0x3, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7003 { 0F 0F 07 00 07 00 03 00 00 00 FF FF 00 03 70 }
0x1C557:                End  { 29 02 }
0x1C559:                SuppressIf  { 0A 82 }
0x1C55B:                        EqIdVal QuestionId: 0x9, Value: 0xFF { 12 86 09 00 FF 00 }
0x1C561:                                Not  { 17 02 }
0x1C563:                        End  { 29 02 }
0x1C565:                        Ref Prompt: "NBIO Common Options", Help: "NBIO Common Options", QuestionFlags: 0x0, QuestionId: 0x4, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7004 { 0F 0F 08 00 08 00 04 00 00 00 FF FF 00 04 70 }
0x1C574:                End  { 29 02 }
0x1C576:                SuppressIf  { 0A 82 }
0x1C578:                        EqIdVal QuestionId: 0x9, Value: 0xFF { 12 86 09 00 FF 00 }
0x1C57E:                                Not  { 17 02 }
0x1C580:                        End  { 29 02 }
0x1C582:                        Ref Prompt: "FCH Common Options", Help: "FCH Common Options", QuestionFlags: 0x0, QuestionId: 0x5, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7005 { 0F 0F 09 00 09 00 05 00 00 00 FF FF 00 05 70 }
0x1C591:                End  { 29 02 }
And these Lines/Address Numbers (e.g. 0x1C47C in Hexadecimal), how do they relate to the hexdump Output (which I assume it's Line/Address Numbers in Decimal)
 

RolloZ170

Well-Known Member
Apr 24, 2016
9,431
3,033
113
germany
Do you modify the extracted File (by ifrextractor <file> verbose -> Section_PE32_image_CbsSetupDxeSSP_CbsSetupDxeSSP.sct.0.0.en-US.uefi.ifr.txt)
no
or you use the Line Numbers of the Left to modify the Binary File directly (Section_PE32_image_CbsSetupDxeSSP_CbsSetupDxeSSP.sct)?
0x1C4F8: Form FormId: 0x7000, Title: "AMD CBS" { 01 86 00 70 03 00 }
"01 86 00 70 03 00"
are located at addr. 1C4F8h in the sct file.
 
  • Like
Reactions: luckylinux

luckylinux

Well-Known Member
Mar 18, 2012
1,551
492
83
no

0x1C4F8: Form FormId: 0x7000, Title: "AMD CBS" { 01 86 00 70 03 00 }
"01 86 00 70 03 00"
are located at addr. 1C4F8h in the sct file.
Alright, so I guess the easiest would be to use a proper Hex Editor :).

Seems like on GNU/Linux ImHex is quite Popular (never heard of it before): GitHub - WerWolv/ImHex: A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.

Or do you have some other Suggestion ? What do you typically use :) ?

Thanks again :)

EDIT 1: and more importantly, how do you know how to modify each Line basically ? in this Example I don't quite understand what 01 86 00 70 03 00 mean. I tried converting Hex to ASCII/UTF-8/UTF-16 etc but all I get is non-readable Characters :( .
 

luckylinux

Well-Known Member
Mar 18, 2012
1,551
492
83
sorry, but what should be updated ?
Just a general Comment. I don't know about Features but maybe a few Bugs appeared since then :)

you asked what i use. use what you want.
I gave it a quick try in Bottles. It installed just fine and after that it opened straight away without any Issue.

I didn't try to modify the File but it looks promising :D.

Thanks for the Tip :)
 

luckylinux

Well-Known Member
Mar 18, 2012
1,551
492
83
to set an end to this:
lmHex call itself "a Hex Editor for Reverse Engineers..." HxD is just a Hex Editor.
as a Reverse Engineering Tool, LmHex is not the first choose, but free.
OK I had to change some settings in Bottles, now at least I can somewhat Navigate (Search -> Go To ...).

So if we take that Section at the Beginning as an Example
Code:
0x1C4F8:        Form FormId: 0x7000, Title: "AMD CBS" { 01 86 00 70 03 00 }
0x1C4FE:                Subtitle Prompt: "AMD CBS", Help: "", Flags: 0x0 { 02 87 03 00 00 00 00 }
0x1C505:                End  { 29 02 }
0x1C507:                Subtitle Prompt: "", Help: "", Flags: 0x0 { 02 87 02 00 00 00 00 }
0x1C50E:                End  { 29 02 }
0x1C510:                Ref Prompt: "CPU Common Options", Help: "CPU Common Options", QuestionFlags: 0x0, QuestionId: 0x1, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7001 { 0F 0F 05 00 05 00 01 00 00 00 FF FF 00 01 70 }
0x1C51F:                SuppressIf  { 0A 82 }
0x1C521:                        EqIdVal QuestionId: 0x9, Value: 0xFF { 12 86 09 00 FF 00 }
0x1C527:                                Not  { 17 02 }
0x1C529:                        End  { 29 02 }
0x1C52B:                        Ref Prompt: "DF Common Options", Help: "DF Common Options", QuestionFlags: 0x0, QuestionId: 0x2, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7002 { 0F 0F 06 00 06 00 02 00 00 00 FF FF 00 02 70 }
0x1C53A:                End  { 29 02 }
0x1C53C:                SuppressIf  { 0A 82 }
0x1C53E:                        EqIdVal QuestionId: 0x9, Value: 0xC { 12 86 09 00 0C 00 }
0x1C544:                                Not  { 17 02 }
0x1C546:                        End  { 29 02 }
0x1C548:                        Ref Prompt: "UMC Common Options", Help: "UMC Common Options", QuestionFlags: 0x0, QuestionId: 0x3, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7003 { 0F 0F 07 00 07 00 03 00 00 00 FF FF 00 03 70 }
0x1C557:                End  { 29 02 }
0x1C559:                SuppressIf  { 0A 82 }
0x1C55B:                        EqIdVal QuestionId: 0x9, Value: 0xFF { 12 86 09 00 FF 00 }
0x1C561:                                Not  { 17 02 }
0x1C563:                        End  { 29 02 }
0x1C565:                        Ref Prompt: "NBIO Common Options", Help: "NBIO Common Options", QuestionFlags: 0x0, QuestionId: 0x4, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7004 { 0F 0F 08 00 08 00 04 00 00 00 FF FF 00 04 70 }
0x1C574:                End  { 29 02 }
0x1C576:                SuppressIf  { 0A 82 }
0x1C578:                        EqIdVal QuestionId: 0x9, Value: 0xFF { 12 86 09 00 FF 00 }
0x1C57E:                                Not  { 17 02 }
0x1C580:                        End  { 29 02 }
0x1C582:                        Ref Prompt: "FCH Common Options", Help: "FCH Common Options", QuestionFlags: 0x0, QuestionId: 0x5, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7005 { 0F 0F 09 00 09 00 05 00 00 00 FF FF 00 05 70 }
0x1C591:                End  { 29 02 }
0x1C593:                SuppressIf  { 0A 82 }
0x1C595:                        EqIdVal QuestionId: 0x9, Value: 0x2 { 12 86 09 00 02 00 }
0x1C59B:                                Not  { 17 02 }
0x1C59D:                                EqIdVal QuestionId: 0x9, Value: 0x3 { 12 06 09 00 03 00 }
0x1C5A3:                                Not  { 17 02 }
0x1C5A5:                                And  { 15 02 }
0x1C5A7:                                EqIdVal QuestionId: 0x9, Value: 0x4 { 12 06 09 00 04 00 }
0x1C5AD:                                Not  { 17 02 }
0x1C5AF:                                And  { 15 02 }
0x1C5B1:                        End  { 29 02 }
0x1C5B3:                        Ref Prompt: "NTB Common Options", Help: "NTB Common Options", QuestionFlags: 0x0, QuestionId: 0x6, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7006 { 0F 0F 0A 00 0A 00 06 00 00 00 FF FF 00 06 70 }
0x1C5C2:                End  { 29 02 }
I think I can recognize these Patterns:

a. End Section is always Constant: End { 29 02 }
b. Not Logic is always Constant: Not { 17 02 }
c. And Logic is always Constant: And { 15 02 }
d. SuppressIf Logic is always Constant: SuppressIf { 0A 82 }
e. DisableIf Logic is always Constant: DisableIf { 1E 82 }
f. True Logic is always Consant: True { 46 02 }
e. EqIdVal is in the Form for e.g. EqIdVal QuestionId: 0x9, Value: 0xFF { 12 86 09 00 FF 00 }: [ICODE]{ 12 86 (Constant), followed by the QuestionId in Hex with 2 Words REVERSED [/ICODE](0x9 = 0x0009 -> 09 00), followed by the Value/Answer to the Question in Hex with the 2 Words REVERSED (0xFF = 0x00FF -> FF 00)
f. Similar Discussion for Ref Prompt, it would seem it's in the Form of for e.g. Ref Prompt: "CPU Common Options", Help: "CPU Common Options", QuestionFlags: 0x0, QuestionId: 0x1, VarStoreId: 0x0, VarStoreInfo: 0xFFFF, FormId: 0x7001 { 0F 0F 05 00 05 00 01 00 00 00 FF FF 00 01 70 }: 0F 0F, followed by 3 Words I cannot recognize (e.g. 05 00 05, but different for other Ref Prompt, e.g. 09 00 09, 08 00 08, 0A 00 0A, ...), followed by the QuestionId in Hex with 2 Words REVERSED [/ICODE](0x1 = 0x0001 -> 01 00), followed by the VarStoreId in Hex probably also with 2 Words REVERSED [/ICODE](0x0 = 0x0000 -> 00 00), followed by the VarStoreInfo in Hex probably also with 2 Words REVERSED [/ICODE](0xFFFF = 0xFFFF -> FF FF), followed by 00 (not sure what that is, padding ? or QuestionFlags ?), followed by the FormId in Hex with 2 Words REVERSED (0x7001 -> 01 70)

So the Change the Value of a EqIdVal Statement, that seems to be pretty simple: just alter the Value/Answer to the Question. Similar if we want to check the QuestionId, that's also pretty simple: just alter the QuestionId Part.

To change a DisableIf into a SuppressIf Block we could change DisableIf { 1E 82 } into SuppressIf { 0A 82 }.

It would seem a bit more Tricky to suppress a True Statement though. How should you handle that ? I don't know the corresponding False Logic Code (I couldn't find a Match in the BIOS that ifrextractor returned) assuming there is one.
I could maybe add a And Logic (or possibly a Not Logic ?) just afterwards, however I really need to take care NOT to mess with the Padding/Alignment.
Similar approach but adding the entire And and EqIdVal with something I know that will return False for sure.

Do you have some other Tips to get Started :) ?
 

RolloZ170

Well-Known Member
Apr 24, 2016
9,431
3,033
113
germany
Do you have some other Tips to get Started :) ?
some other UEFI modder on other place mentioned to move the
Ref Prompt: "UMC Common Options",
out of the SuppressIf
like
Ref Prompt: "CPU Common Options",
is.
Code:
before
{0A 82}
{12 86 09 00 FF 00}
{17 02}
{29 02}
{0F 0F 07 00 07 00 03 00 00 00 FF FF 00 03 70}
{29 02}

after
{0F 0F 07 00 07 00 03 00 00 00 FF FF 00 03 70}
{0A 82}
{12 86 09 00 FF 00}
{17 02}
{29 02}
{29 02}
 
Last edited:
  • Like
Reactions: luckylinux

luckylinux

Well-Known Member
Mar 18, 2012
1,551
492
83
some other UEFI modder on other place mentioned to move the
Ref Prompt: "UMC Common Options",
out of the SuppressIf
like
Ref Prompt: "CPU Common Options",
is.
Code:
before
{0A 82}
{12 86 09 00 FF 00}
{17 02}
{29 02}
{0F 0F 07 00 07 00 03 00 00 00 FF FF 00 03 70}
{29 02}

after
{0F 0F 07 00 07 00 03 00 00 00 FF FF 00 03 70}
{0A 82}
{12 86 09 00 FF 00}
{17 02}
{29 02}
{29 02}
Alright, so you move the entire block of Words/Bytes. Makes sense I guess.

I will have to see how to do that with HxD. Changing a Bit/Byte/Word should be fairly straightforward, moving a Block ... Could be (once you know the "Trick" :) ), didn't try yet.
 

chlastakov

Active Member
Jan 26, 2025
211
63
28
Czech Republic
@luckylinux Pios accepted offer for ram:
24 Einheit ATP 16GB DDR4-2400 ECC X4C16QE8BNRCSE-7-LI1 für Server ASRock Angebots-Nr.: 135636578905 - 238,02 €
Verpackung und Versand (Versandart: Standard International): - 16,53 €
Summe Netto (21,00%): - 254,55 €
zzgl. USt. (21,00%): - 53,45 €
Gesamtsumme: - 308,00 €
 
  • Love
Reactions: luckylinux

luckylinux

Well-Known Member
Mar 18, 2012
1,551
492
83
@luckylinux Pios accepted offer for ram:
Lucky you :)

Damn I paid around 385 374 EUR for the same Thing shipped o_O.

I think next Time I will try to offer 8 EUR / Piece for 48 Pieces :cool:

EDIT 1: maybe in your Case it's easier to accept though, because you "only" have 21% VAT. I have 25%. So what they get in their Pocket for the same Sale price will be less in my Case than in yours.

EDIT 2: your 12 EUR / Piece Bid is roughly equivalent to a 14.3 EUR / Piece in my Case, just due to the Difference in VAT.
 
Last edited:

chlastakov

Active Member
Jan 26, 2025
211
63
28
Czech Republic
Today Ryzen 5700X arrived. Looks like 2600X is not good fit at all. With 5700X, graphics is working, RAM is working, rear USB is working. Waiting for ECC memory to test them too.