Forum RSS Feed Follow @ Twitter Follow @ Twitter

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[REQUEST] GL504GS BIOS unlock
#31
(11-27-2018, 02:55 AM)Lost_N_BIOS Wrote: Here is setup IFR from 305, use search to find each setting you were modifying, then the VarName/VarOffset value right after that is what you need
http://s000.tinyupload.com/index.php?fil...6919644976

Example, now >> Memory Reference Clock, VarStoreInfo (VarOffset/VarName): 0x7F6  (Instead of previous 0x7F3)
If you cannot figure it out, let me know which all variables you need again and I will compile a new short list for you

@relaxalex - what is macos?

Confused I understand a structure of this file, but i don't understand what i'm exactly looking for.

It will be great if you provide setup for setting XMP profiles (like here), and explain general principle of looking for this variables in next BIOS updates - so i won't bother you with stupid question no more.
Quote:On step #14 is where we will change the setting shown in post #14 here above, instead of the ones that guide covers
You will instead be changing variable 0x91B

So, at step #15 of the guide you can enter either one of the below, to enable XMP 1 or XMP2 respectively
Setup_Var 0x91B 0x2

Or 
Setup_Var 0x91B 0x3

To put back to BIOS Default you enter the following at grub prompt
Setup_Var 0x91B 0x0
Thank you very much!

FYI: GL504GS liquid metaling done by myself!
find
quote
#32
You're only looking for all the exact names I gave you for each setting like before, only now they have new VarOffset/VarName variables you need to update your notes to reflect new values. No question is stupid, always ask so you can learn!

Good temps drops, and clean work on your liquid metal application! That's a lot of red PCB in there Big Grin

Here is exact same stuff I gave you before, but using new BIOS 305 (Some copy paste, so explanations may look familiar Big Grin)

One Of: QCLK Odd Ratio, VarStoreInfo (VarOffset/VarName): 0x7F9
One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 07 04 00 30 00 00}
One Of Option: Enabled, Value (8 bit): 0x1 {09 07 03 00 00 00 01}

To change from default here, use below, this enables all multipliers to be used instead of only certain ones as mentioned below (So always enable this)
Setup_Var 0x7F9 0x1


Then if no change, lets change reference clock next from 133 to 100, because at default 133 you'll only be able to use certain memory multipliers, same for 100, and XMP may not be able to set certain ones depending on these settings being enabled or not.

One Of: Memory Reference Clock, VarStoreInfo (VarOffset/VarName): 0x7F6
One Of Option: 133, Value (8 bit): 0x0 (default) {09 07 0B 14 30 00 00}
One Of Option: 100, Value (8 bit): 0x1 {09 07 0A 14 00 00 01}

Setup_var 0x7F6 0x1 = 100 x memory multiplier used with below setting
Setup_var 0x7F6 0x0 = 133 x memory multiplier used with below setting


And finally, so you can tinker around if the above doesn't get it sorted (Not all of these may be able to be used with every Memory Reference Clock, some may only work when that is set to 100, or some only when it's 133
Memory Ratio, VarStoreInfo (VarOffset/VarName): 0x7F8
One Of Option: Auto, Value (8 bit): 0x0 (default) {09 07 8D 00 30 00 00}
One Of Option: 3, Value (8 bit): 0x3 {09 07 41 02 00 00 03}
One Of Option: 4, Value (8 bit): 0x4 {09 07 E7 13 00 00 04}
One Of Option: 5, Value (8 bit): 0x5 {09 07 E8 13 00 00 05}
One Of Option: 6, Value (8 bit): 0x6 {09 07 E9 13 00 00 06}
One Of Option: 7, Value (8 bit): 0x7 {09 07 EA 13 00 00 07}
One Of Option: 8, Value (8 bit): 0x8 {09 07 EB 13 00 00 08}
One Of Option: 9, Value (8 bit): 0x9 {09 07 EC 13 00 00 09}
One Of Option: 10, Value (8 bit): 0xA {09 07 ED 13 00 00 0A}
One Of Option: 11, Value (8 bit): 0xB {09 07 EE 13 00 00 0B}
One Of Option: 12, Value (8 bit): 0xC {09 07 EF 13 00 00 0C}
One Of Option: 13, Value (8 bit): 0xD {09 07 F0 13 00 00 0D}
One Of Option: 14, Value (8 bit): 0xE {09 07 F1 13 00 00 0E}
One Of Option: 15, Value (8 bit): 0xF {09 07 F2 13 00 00 0F}
One Of Option: 16, Value (8 bit): 0x10 {09 07 F3 13 00 00 10}
One Of Option: 17, Value (8 bit): 0x11 {09 07 F4 13 00 00 11}
One Of Option: 18, Value (8 bit): 0x12 {09 07 F5 13 00 00 12}
One Of Option: 19, Value (8 bit): 0x13 {09 07 F6 13 00 00 13}
One Of Option: 20, Value (8 bit): 0x14 {09 07 F7 13 00 00 14}
One Of Option: 21, Value (8 bit): 0x15 {09 07 F8 13 00 00 15}
One Of Option: 22, Value (8 bit): 0x16 {09 07 F9 13 00 00 16}
One Of Option: 23, Value (8 bit): 0x17 {09 07 FA 13 00 00 17}
One Of Option: 24, Value (8 bit): 0x18 {09 07 FB 13 00 00 18}
One Of Option: 25, Value (8 bit): 0x19 {09 07 FC 13 00 00 19}
One Of Option: 26, Value (8 bit): 0x1A {09 07 FD 13 00 00 1A}
One Of Option: 27, Value (8 bit): 0x1B {09 07 FE 13 00 00 1B}
One Of Option: 28, Value (8 bit): 0x1C {09 07 FF 13 00 00 1C}
One Of Option: 29, Value (8 bit): 0x1D {09 07 00 14 00 00 1D}
One Of Option: 30, Value (8 bit): 0x1E {09 07 01 14 00 00 1E}
One Of Option: 31, Value (8 bit): 0x1F {09 07 02 14 00 00 1F}

If Memory Reference Clock (0x7F6) set to 100 (0x1), below = 3000Mhz
100 x 30 = 3000MHz
Setup_var 0x7F8 0x1E

If Memory Reference Clock (0x7F6) set to 133 (0x0), below = close to 3000Mhz
133 x 22 = 2926MHz
Setup_var 0x7F8 0x16

133 x 23 = 3059MHz
Setup_var 0x7F8 0x17

--------------------------

OR XMP, which you said was not ideal before

Memory profile, VarStoreInfo (VarOffset/VarName): 0x91E
One Of Option: Default profile, Value (8 bit): 0x0 (default) {09 07 1C 14 30 00 00}
One Of Option: Custom profile, Value (8 bit): 0x1 {09 07 1F 14 00 00 01}
One Of Option: XMP profile 1, Value (8 bit): 0x2 {09 07 1D 14 00 00 02}
One Of Option: XMP profile 2, Value (8 bit): 0x3 {09 07 1E 14 00 00 03}

Setup_var 0x91E 0x2 (Or 0x3 for XMP2)

And on this one, we may not have set this to "Custom 0x1" before when trying 3000Mhz exactly. It needs to be on 0x1 if you try to dial in 3000Mhz again, this may be why it wouldn't get there before, if we left this on XMP or default!
find
quote
#33
(11-27-2018, 02:55 AM)Lost_N_BIOS Wrote: @relaxalex - what is macos?

Hackintosh.
find
quote
#34
I've never heard if called that, is it new OS name, or some build? It may be possible, but probably would need the usual MSR 0xE2 edit done, do you need me to check that for you?
find
quote
#35
(11-28-2018, 05:54 AM)Lost_N_BIOS Wrote: You're only looking for all the exact names I gave you for each setting like before, only now they have new VarOffset/VarName variables you need to update your notes to reflect new values.  No question is stupid, always ask so you can learn!  

Good temps drops, and clean work on your liquid metal application!  That's a lot of red PCB in there Big Grin

Here is exact same stuff I gave you before, but using new BIOS 305 (Some copy paste, so explanations may look familiar Big Grin)

One Of: QCLK Odd Ratio, VarStoreInfo (VarOffset/VarName): 0x7F9
One Of Option: Disabled, Value (8 bit): 0x0 (default) {09 07 04 00 30 00 00}
One Of Option: Enabled, Value (8 bit): 0x1 {09 07 03 00 00 00 01}

To change from default here, use below, this enables all multipliers to be used instead of only certain ones as mentioned below (So always enable this)
Setup_Var 0x7F9 0x1


Then if no change, lets change reference clock next from 133 to 100, because at default 133 you'll only be able to use certain memory multipliers, same for 100, and XMP may not be able to set certain ones depending on these settings being enabled or not.

One Of: Memory Reference Clock, VarStoreInfo (VarOffset/VarName): 0x7F6
One Of Option: 133, Value (8 bit): 0x0 (default) {09 07 0B 14 30 00 00}
One Of Option: 100, Value (8 bit): 0x1 {09 07 0A 14 00 00 01}

Setup_var 0x7F6 0x1 = 100 x memory multiplier used with below setting
Setup_var 0x7F6 0x0 = 133 x memory multiplier used with below setting


And finally, so you can tinker around if the above doesn't get it sorted (Not all of these may be able to be used with every Memory Reference Clock, some may only work when that is set to 100, or some only when it's 133
Memory Ratio, VarStoreInfo (VarOffset/VarName): 0x7F8
One Of Option: Auto, Value (8 bit): 0x0 (default) {09 07 8D 00 30 00 00}
One Of Option: 3, Value (8 bit): 0x3 {09 07 41 02 00 00 03}
One Of Option: 4, Value (8 bit): 0x4 {09 07 E7 13 00 00 04}
One Of Option: 5, Value (8 bit): 0x5 {09 07 E8 13 00 00 05}
One Of Option: 6, Value (8 bit): 0x6 {09 07 E9 13 00 00 06}
One Of Option: 7, Value (8 bit): 0x7 {09 07 EA 13 00 00 07}
One Of Option: 8, Value (8 bit): 0x8 {09 07 EB 13 00 00 08}
One Of Option: 9, Value (8 bit): 0x9 {09 07 EC 13 00 00 09}
One Of Option: 10, Value (8 bit): 0xA {09 07 ED 13 00 00 0A}
One Of Option: 11, Value (8 bit): 0xB {09 07 EE 13 00 00 0B}
One Of Option: 12, Value (8 bit): 0xC {09 07 EF 13 00 00 0C}
One Of Option: 13, Value (8 bit): 0xD {09 07 F0 13 00 00 0D}
One Of Option: 14, Value (8 bit): 0xE {09 07 F1 13 00 00 0E}
One Of Option: 15, Value (8 bit): 0xF {09 07 F2 13 00 00 0F}
One Of Option: 16, Value (8 bit): 0x10 {09 07 F3 13 00 00 10}
One Of Option: 17, Value (8 bit): 0x11 {09 07 F4 13 00 00 11}
One Of Option: 18, Value (8 bit): 0x12 {09 07 F5 13 00 00 12}
One Of Option: 19, Value (8 bit): 0x13 {09 07 F6 13 00 00 13}
One Of Option: 20, Value (8 bit): 0x14 {09 07 F7 13 00 00 14}
One Of Option: 21, Value (8 bit): 0x15 {09 07 F8 13 00 00 15}
One Of Option: 22, Value (8 bit): 0x16 {09 07 F9 13 00 00 16}
One Of Option: 23, Value (8 bit): 0x17 {09 07 FA 13 00 00 17}
One Of Option: 24, Value (8 bit): 0x18 {09 07 FB 13 00 00 18}
One Of Option: 25, Value (8 bit): 0x19 {09 07 FC 13 00 00 19}
One Of Option: 26, Value (8 bit): 0x1A {09 07 FD 13 00 00 1A}
One Of Option: 27, Value (8 bit): 0x1B {09 07 FE 13 00 00 1B}
One Of Option: 28, Value (8 bit): 0x1C {09 07 FF 13 00 00 1C}
One Of Option: 29, Value (8 bit): 0x1D {09 07 00 14 00 00 1D}
One Of Option: 30, Value (8 bit): 0x1E {09 07 01 14 00 00 1E}
One Of Option: 31, Value (8 bit): 0x1F {09 07 02 14 00 00 1F}

If Memory Reference Clock (0x7F6) set to 100 (0x1), below = 3000Mhz
100 x 30 = 3000MHz
Setup_var 0x7F8 0x1E

If Memory Reference Clock (0x7F6) set to 133 (0x0), below = close to 3000Mhz
133 x 22 = 2926MHz
Setup_var 0x7F8 0x16

133 x 23 = 3059MHz
Setup_var 0x7F8 0x17

--------------------------

OR XMP, which you said was not ideal before

Memory profile, VarStoreInfo (VarOffset/VarName): 0x91E
One Of Option: Default profile, Value (8 bit): 0x0 (default) {09 07 1C 14 30 00 00}
One Of Option: Custom profile, Value (8 bit): 0x1 {09 07 1F 14 00 00 01}
One Of Option: XMP profile 1, Value (8 bit): 0x2 {09 07 1D 14 00 00 02}
One Of Option: XMP profile 2, Value (8 bit): 0x3 {09 07 1E 14 00 00 03}

Setup_var 0x91E 0x2 (Or 0x3 for XMP2)

And on this one, we may not have set this to "Custom 0x1" before when trying 3000Mhz exactly.  It needs to be on 0x1 if you try to dial in 3000Mhz again, this may be why it wouldn't get there before, if we left this on XMP or default!
I did tried to set-up GRUB with different variables, nothing changed. Restart - defaults. Once again, last settings in GRUB:

0x7F6 0x1
0x7F8 0x1E
0x91E 0x2

Hit enter, black screen and … it "died"! Black screen, fans at maximum. Nothing happens. F2+Fn, different combinations. Apathy. Hopeless. Anger. Doesn't start. Removed SSD, - not starting. HDD, RAM … Not starting. Reading forums - all saying that GPU is dead. Anger. Apathy.

Decided to disassemble it to pieces. Re-assemble. Hit power button - everything the same. BIOS on Flash Stick - nothing works. Hopeless. All hope is gone.

Look thoroughly, smoked a pack of cigarettes. Removed case, looked thoroughly. Strange black thing under SSD connected by two wires to port, some label on wires: BATT. OMG! Hope! It's BIOS battery!

Unplugged battery, unplugged BIOS battery. Waited for some time. Hitting Power Button. 


NOT WORKING AT ALL!!! SAINT ANGER. Absolutely barbaric. Figuring out scrap cost. Smoking cigarette.

Accidently realize that both BIOS & power batteries were left unplugged. Plugging it back, pushing Power Button.

AND WOW I NEVER BEEN SO HAPPY TO HEAR THAT LAUNC SOUND (WOOOUSSHHH!) AND ROG LOGO.

… and guess what I decided to do next?

… turn off Secure Boot, load GRUB, setup_var 0x91E 0x2, loading different setups, and here is the results (please look at file names for different variables for XMP):

THE DEFAULT
   

0x1 CUSTOM XMP
   

0x2 XMP1
   

0x3 XMP2
   

And please look at AIDA XMP modules tables:
   

Those profiles ARE NOT LISTED here, so it seems BIOS is locked to DEFAULT profiles which it contains itself, and ignores those loaded on SPD chip on memory modules.

Currently, I'll stick to 2666 on 16-16-16-... timings, which delivers best possible results.

OMG mr. Lost_N_Bios you're an amazing guy, last time I felt the same when I was 8 years old updating PalmOS on fathers Palm IIIx via RS-232 and bricked it, and while dad was in shower figured out how to recover it.

Thank you, you're an amazing. You're like Indiana Jones.


Attached Files Thumbnail(s)
   
find
quote
#36
I'm glad you were able to recover after all those cigarettes and stress Big Grin

There is no "Custom XMP" only custom settings where you manually set it all, Auto, or XMP. In Custom mode, you can set each and every timing one by one, you'll have to look up the variables in the IFR for the first four timings and command rate, rest probably OK left at auto.

I am not sure why it's not applying the XMP values correctly, maybe this BIOS can only deal with XMP 1.0 or 1.1 profiles, and this is 2.0? That or it's due to it not being able to load the full speed in general so it tries to compensate and adjust to lesser values? But, you can set all custom, memory speed manually, first four timings to whatever you want manually, command rate to 1T etc.

The issue that scared you so badly, probably due to entering an incorrect value or applying a value to an incorrect variable ID

If you need me to dig up the variables for you for those first four timings and command rate, and memory speed etc let me know and I'll dig them out for you.
find
quote


Forum Jump:


Users browsing this thread: 1 Guest(s)
Expand chat
Expand chat
Expand chat

To join us in the community live chat, please register or log-in