[Sammelthread] R9 290(X) Bios Modding --- Wie erstelle ich mein eigenes Bios (Hex)--- Howto

sTOrM41

Admiral , HWLUXX Superstar
Thread Starter
Mitglied seit
13.10.2005
Beiträge
22.317
Bald zwei Jahre hat es gedauert, aber nun geht es voran, hier der R9 290(X) Bios-Modding Guide!


Gleich vorweg: ein schönes simples Mod-Tool wie vbe7 für die 7950 oder RBE für die 4870 gibt’s (noch) nicht,
ich bin auch nicht dazu in der Lage eines zu programmieren.
Der Guide ist auch nicht für Laien gedacht, wer sich mit der Materie noch nie beschäftigt hat (und auch nicht Lust hat sich damit zu beschäftigen) sollte vielleicht besser einfach aufhören zu lesen.

Was aktuell funktioniert: GPU und Ram-Takt modifizieren
Was (noch) nicht funktioniert: Spannungen, Powerlimit, Lüfterprofil usw.

Gemoddet wird also so richtig oldschool, mit nem Hex-Editor !
Welchen Hex-Editor ihr nehmt ist relativ egal, ich verwende den Hex-Editor MX

Aber bevor ihr richtig los legt:
-durch das modden erlischt eure Garantie
-ich hafte nicht dafür wenn ihre eure Hardware killt.


Was ihr alles braucht:
GPU-Z zum Auslesen eures original Bios
GPU-Z Video card GPU Information Utility

Einen Hex-Editor
Hex-Editor MX - Download - CHIP

Das Tool HD7XX UEFI Tool Beta von kahboom
http://www.overclock.net/attachments/17688
(ja ich weiß, ihr müsst euch anmelden für den Download, nervig, ich werde kahboom mal fragen ob ich es auch direkt anbieten darf)

Einen vorbereiteten USB Stick von dem Ihr booten und flashen könnt,
wie ihr einen solchen erstellt könnt ihr hier nachlesen:
[HowTo] Flash AMD R9-290/290X
Prinzipiell könnt ihr theoretisch auch direkt unter Windows per ATIWINFLASH flashen, ich rate jedoch zur variante per USB Stick.


OK Jetzt geht’s endlich los:
1. Lest euer original Bios per GPU-Z aus.
Einfach GPU-Z starten, auf den kleinen grünen Button klicken, und angeben wo ihr das Bios speichern wollt. Macht euch zusätzlich unbedingt ein Backup von eurem Bios!
czmvtpjh7og54pc6t.jpg


2. Bios editieren mittels Hex Editor

Startet euren Hex Editor, öffnet euer original Bios und findet heraus welcher Bereich aus diesem Zahlenwirrwarr eure Taktraten sind.
Das ist etwas tricky, aber machbar!
Die Werte liegen in Hexadezimal vor, ihr müsst euch anhand eures Standardtakts orientieren.

Der standard GPU Takt meiner R9 290 PCS+ liegt bei 1040 mhz (Achtung! Die Werte sind im Bios nicht in Megahertz hinterlegt, ihr müsst noch zwei Nullen anhängen)
1040 werden also 104000

Diese 104000 müssen nun in Hexadezimal umgerechnet werden, das geht ganz einfach mit dem Windows Taschenrechner.

Stellt die Ansicht eures Taschenrechners auf Programmierer um.
Gebt Dezimal 104000 ein (bzw den standard Takt EURER Grafikkarte),
klickt auf Hex, und ihr erhaltet den Wert Hexadezimal.
In meinem Fall also 19640.

czmvyriq5nlmbf08l.jpg


Nun müsst ihr diesen Hexadezimal Wert noch eine Null davor denken und zusätzlich den ersten und dritten Block tauschen,
aus 19640 wird dann also 019640, woraus wiederum 409601 entsteht.

cznuc49w364ai4lx1.jpg



Sucht den Wert in eurem Bios (STRG+F)
In meinem Bios befinden sich die Werte für GPU-Tak und Ram-Takt (1350mhz) dort

czmvverxmysnbi22d.jpg


Achtung! Das sich bei meiner 290 PCS+ die Werte an der Stelle 0x0A7A0 befinden heißt nicht gleichzeitig das sich die Werte jeder anderen 290 an der gleichen Stelle befinden!
Bei einer Sapphire oder Asus Karte können die Einträge zb auch ganz wo anders sein (ausrechnen statt blind eintragen!)

Gut, wenn ihr nun herausgefunden habt wo in eurem Bios die Taktraten hinterlegt sind könnt ihr nun anfangen dort Taktraten einzutragen (in Hexadezimal, und umgestellt!)
1060mhz entspricht z.B. 109E01

Ihr könnt das gleiche natürlich auch mit dem Ram machen, 1350mhz sind z.B. 580F02


Wenn ihr eure Taktraten nach euren Wünschen verändert habt speichert ihr euer Bios unter neuem Namen, z.B. 1060.rom

3. Checksumme fixen mittels HD7XX UEFI Tool Beta

Damit die Grafikkarte das modifizierte Bios „frisst“ muss die Checksumme des Bios korrekt sein.
Das Tool ist eigentlich für die 7000er Reihe gedacht, das Checksumme fixen funktioniert aber auch mit der 290(X).

Startet das Tool, klickt auf Load vBIOS, Fix Checksum, die Checksumme sollte nun korrekt sein, speichert das Bios per Save As und gebt den Speicherort an.

czmvvwdlrixvcozjp.jpg



4. Flashen

Kopiert euer modifiziertes Bios auf euren vorbereiteten USB Stick. Kopiert zusätzlich euer original Bios mit dazu damit ihr, für den Fall das etwas schief läuft das original Bios wieder flashen könnt.

Bootet von eurem USB Stick, der Befehl zum flashen lautet atiflash –f –p -0 biosname.rom
(es ist nicht unwarscheinlich das ihr beim flashen nur ein US Tastatur Layout habt, der Befehl lautet dann atiflash ßf ßp 0 biosname.rom)

Sollten alle Stricke reißen und ihr nach dem Biosflash kein Bild mehr bekommen:
-Rechner aus machen, den kleinen Bios-switch auf eurer Grafikkarte umlegen.
-Rechner wieder starten, die Grafikkarte Bootet nun vom Ersatzbios.
-Legt mitten im Betrieb den Biosschaltet wieder um (so das also nun der Switch auf dem defekten Bios liegt)
-Flasht euer original Bios


HAPPY MODDING
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Interessant.
Ich habe keine 290X, aber The Stilt behauptete der Treiber würde die Signatur überprüfen:

Since Radeon HD 4000 series AMD has used signatures in their ATOMBios.
The signature enforcing was introduced on HD 6000 series for the first time and again removed in HD 7000 & 8000 series.
Unfortunately it seems that on R9 290 series they are enforced once again.

Enforcing means that the display driver will check the security signature of the bios.
In case the bios is modified the signature no longer matches with the bios contents.
In case the signature mismatches the display driver will no longer load (on HD 6000 series it caused a BSOD during loading the driver).
Zitat:
The ATOMBios is made of around 70 blocks.
The signature is actually a hash of the hashes of the protected blocks.

E.G

Protected Block 1 hash = A2FD7B3B4E3868A436340E9FC3EED8D9AE5FD6EE
Protected Block 2 hash = 34C7FB5313161A5B8D4EB019B8A1085F9D49012A

Master Signature = 049AFB9DBDD1625071963F2879D06CEBD06AC52F (verified by the driver)

If you change a single bit in a protected block, the hash of that block will change and therefore the master signature no longer matches.

If the protection is enabled (like on R9 290 series it is) the driver will calculate the hashes for the protected blocks, calculate the correct master signature and compare it to the one found in the bios. If the bios signature is missing or doesn't match the display driver will not load. On HD 6000 series it caused a BSOD as said before.

All of the stuff we are interested in are located in protected blocks.

Therefore at the moment there is no way to modify the bioses.
https://litecointalk.org/index.php?topic=12830.0

Hat AMD die Überprüfung nun abgeschaltet, oder lag es daran das er sein BIOS neu kompiliert hat?
 
Die Geschichte mit der Signatur wird aktuell auch bei guru3d.com diskutiert.

Ich kann dir dazu aktuell nur sagen dass das ganze mit den aktuellen treibern derzeit funktioniert.

Edit: das ganze sollte so übrigens auch mit der 390(X) funktionieren
 
Zuletzt bearbeitet:
Ich habe den Thread auf Guru3D.com gelesen.

Um ein 8GB in ein 4GB BIOS zu modden, mußt du den Wert 80 in 40 umändern.
czoomyfhyyk21ccu9.png


Im modifizierten 390X netkas 1250MHz BIOS ist der Memory Timings Strap von 1250MHz zweimal vorhanden, und damit fehlerhaft.
Möglicherweise ist das der Grund für die Instabilität.
 
Fast noch mehr als die Taktraten interessiert mich ja das Lüfterprofil, da auf meiner R9 290 ein Alpenföhn Peter 2 sitzt, dessen Lüfter ich bisher über SpeedFan steuere.
Allerdings habe ich nicht die Zeit, selber im Hex-Editos rumzuwuseln...
Sobald man alles Relevante anpassen kann, flashe ich auch. :)
 
Fast noch mehr als die Taktraten interessiert mich ja das Lüfterprofil, da auf meiner R9 290 ein Alpenföhn Peter 2 sitzt, dessen Lüfter ich bisher über SpeedFan steuere.
Allerdings habe ich nicht die Zeit, selber im Hex-Editos rumzuwuseln...
Sobald man alles Relevante anpassen kann, flashe ich auch. :)
programm
Guru3D.com Forums - View Single Post - 390x bios leaked

per hand
http://i.imgur.com/BbUYGkb.png
Guru3D.com Forums - View Single Post - 390x bios leaked
 
es geht voran, bei den gurus basteln grade mehrere leute an bios editoren :d

hier schon mal ein unfertige version mit der sich aber immerhin schon taktraten und (auf manchen karten?!) die spannung ändern lässt
390x bios leaked - Page 15 - Guru3D.com Forums
 
Ja, da lese ich auch fleißig mit.
Ich hab' ja nicht mehr damit gerechnet, dass ein ordentlicher BIOS-Editor gebaut wird. Endlich ein Licht am Ende des Tunnels. :)
 
Ganz genau! :)

Jetzt lässt sich das BIOS endlich ziemlich einfach seinen Bedürfnissen entsprechen anpassen:
GPU- und Speichertakt
Spannung
Power limit
Lüfterkurve

Für die Lüfterkurve muss man noch einen Hex-Editor bemühen, also selbst Hand anlegen, der Rest geht auch schon mit dem Tool.
Geht mit der R9 290, die hab' ich ja auch, also Feuer frei!
 
Manche haben den idle Takt schon auf 60 mhz Takt runtergeschraubt. :d
Ich verwende ein R390x gemoddetes Bios mit den von mir gewünschten Taktraten.
Keine OCTools oder Treibereinstellungen mehr notwendig. :)
 
Super Sache! Endlich Load Spannung senken ohne im Idle Blackscreens zu bekommen.:bigok:
 
krass, wieviel jahre vergehen mussten bis was vernünftiges rauskommt
 
I tried to follow Your guide to fix my blackscreen problem and lower the memory but although I have registered I cant download that "HD7XX UEFI Tool Beta"
:(

sorry for english but i dont speak german ;]
 
thx a lot. :>
lowering mem to 1150 solve all my blackscreen problems .. thx for your guide
 
Jetzt lässt sich das BIOS endlich ziemlich einfach seinen Bedürfnissen entsprechen anpassen:
GPU- und Speichertakt
Spannung
Power limit
Lüfterkurve

Darf ich fragen ob und wenn ja wie du es geschafft hast, die Lüfterkurve zu verändern? Weil selbst wenn ich die Lüfterkurve im BIOS laut HawaiiBIOSReader korrekt verändert habe legt meine Asus R9 290X DC2OC nach dem Flash immernoch genau dasselbe Verhalten an den Tag wie vorher :(
 
Kann mir mal jemand bitte genau erklären wie ich die Spannung unter Last bei meiner r9 290 per Bios senken kann?
Das wäre nett. Die Anleitungen zum Hawaii Bios Reader weichen von den Bildern her so ab zu meiner Ansicht hier und nun bin ich verunsichert.

Problem ist... meine Karte legt unter Last viel zu viel Spannung an.... Kommt auch mit weniger klar. Aber wenn ich die Spannung über den Afterburner senke, wird sie im Idle instabil. Unter Last läuft sie mit z.B. -30 auf 1100MHz wunderbar. Aber im Idle macht sie teilweise bei +/-0 z schon zicken.......
 
Zuletzt bearbeitet:
Muss mich dazu auch mal wieder mit anschließen.

Idle Voltage macht Sinn und schaut auch vernünftig aus, allerdings verwirrt mich die Load voltage etwas, der Wert schaut etwas komisch aus, außerdem nehme ich an dass ich für GPU und MEM jeweil die gleiche Spannung benötige, also 2x abändern muss?
Untitled-2.jpg

Achso, gibts eine Möglichkeit die Benötige Spannung unter Last zu testen, ohne dass er in den idle Modus fällt? Unter Last kann ich, so kommts mir vor, weiter mit der Spannung runter gehen, als im idle Modus.

Mir ist noch was eingefallen ... angenommen meine Karte bootet nichtmehr, kann ich wenn ich eine 2. Karte besitze, wieder das alte BIOS aufspielen?
 
Zuletzt bearbeitet:
Hab da ehrlich gesagt auch keinen Peil wie das funktionieren soll.
Bei mir nimmt die Grafikkarte die Spannungen nicht an. Egal was ich einstelle.
Das muss mal jemanden vernünftig erklären, wie man da vorgehen muss.
Selbst wenn ich ausm englischen Forum den Hawaii BIOS Reader 1:1 übernehme,
nimmt die Grafikkarte die eingestellten Werte nicht an, bzw. wenn die Werte extrem
Hoch eingestellt werden (nach maximalen Oc Ergebnissen) wird sie extrem instabil, bzw.
Bootet nicht mal mehr.

Hat jemand schon mal erfolgreich die Spannung editiert und wenn ja, wie?

Offset funktioniert bei mir im übrigen Tadelos über den Hex Editor!
 
Also ich habe keine Probleme damit die Spannung im BIOS Reader zu verändern. Funktioniert tadellos. Aber du musst glaube die Spannung auch unter VRAM auf den Wert für den VCore ändern. Sonst übernimmt die Karte das wohl nicht. Den Link dazu suche ich nochmal raus.

Ich würde aber gerne die VRAM Spannung erhöhen. Das bekomme ich irgendwie nicht hin. :/
 
Kannst du mal nen Screenshot von deinen eingestellten werten im BIOS Reader zeigen, bitte?
Wäre dir sehr dankbar!

VMem kannst du leider nur Hardmod mäßig ändern.
 
VCore.jpg

So sehen meine Einstellungen aus. den VCore muss ich immer etwas höher angeben, da nach dem VDrop "nur" noch 1,32V anliegen.

Habe extra mal noch den Afterburner daneben gelegt, damit man sieht, hier steht die VCore bei +0. ;)

Ich kann hier auch noch um +100mv erhöhen.

Unter Wakü wird auch nichts zu heiß. Selbst die VRM`s werden nur max 50° warm.
 
Genau das ist das ganze wo es mit unter kompliziert wird. Habe da noch nicht so den Durchblick. Wie bekomm ich den Vdrop raus? Stelle ungern eine im Afterbruner getestete VCore ein, flash das BIOS und anschließend kann ich die GRaka wegschmeißen :s
hab auch wo gelesen, dass man die VCore in allen Tabellen umändern muss (PowerPlay und Limit Tables).
 
Anhang anzeigen 362669

So sehen meine Einstellungen aus. den VCore muss ich immer etwas höher angeben, da nach dem VDrop "nur" noch 1,32V anliegen.

Habe extra mal noch den Afterburner daneben gelegt, damit man sieht, hier steht die VCore bei +0. ;)

Ich kann hier auch noch um +100mv erhöhen.

Unter Wakü wird auch nichts zu heiß. Selbst die VRM`s werden nur max 50° warm.

Und sonst? Bei den Limit Tables etc. nichts verändert?
Wärst du so freundlich mir dein BIOS zur Verfügung zu stellen :wink:
damit ich mir deine eingestellten Sachen genauer anschauen kann / experimentieren kann.
Weil ich bekomm es nicht gebacken und finde meinen Fehler ned :wut:


Vdrop ist Last- und Spannungsabhängig. Je mehr Spannung, desto größer der Drop. Genauso die Last.
Wenn du mehr Last hast, mehr drop. Hilft nur probieren. Bei mir z.B. habe ich bei eingestellten 1,63V einen Drop unter Last auf ~1,4-1,43V!
Musst wohl oder übel testen und dich "hocharbeiten". Quasi viel flashen über kurz oder lang.
 
Zuletzt bearbeitet:
Kein Problem. Schick mir deine E-Mail via PN, dann lass ich es dir zukommen.

Der VDrop dürfte an der LLC liegen. Die konnte ich bei meiner alten ROG Matrix abschalten. Das war aber nicht gesund. Schwankungen von mehr als 75mv waren da normal unter Vollast. Dann lieber mit LLC und etwas niedrigerer VCore Leben.
 
Zuletzt bearbeitet:
Hi Leute,

hier wurden ja die Taktraten angefasst, klappt auch gut, aber wie sieht es mit den Spannungen aus.
Wie kann ich die im Hex Editor ausfindig machen?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh