Wer kann mir ein BIOS Baustein GD25B127D programmieren

OP #7998874
Lesenswert?

Hallo Forum,

ich habe hier ein defektes ASUS-Laptop, genauer der BIOS-Baustein müsste neu programmiert werden. Es handelt sich um eine Gigadevice GD25B127D.

Ich habe leider keinen Programmer mehr, der diese Chips programmieren kann. Kann mir jemand diesen Chip programmieren oder einen Programmierdiest sagen, der das machen kann? Bei biosflash.com habe ich schon angefragt, die können das nicht. Segor macht das auch nicht mehr.

Danke für eure Antworten.

VG Thomas

#7998921
Lesenswert?

Sofern der GD25B127D kompatibel zu einem der folgenden GD-Bausteine ist, kannst du flashrom nehmen. Der GD25B127D selbst steht in flashrom nicht dicht drin.

1
GD25B512MF
2
GD25F128F
3
GD25F256F
4
GD25F64F
5
GD25LB512MF
6
GD25LF128E
7
GD25LF256F
8
GD25LF512MF
9
GD25LQ128CD
10
GD25LQ16
11
GD25LQ255E
12
GD25LQ255E
13
GD25LQ32
14
GD25LQ40
15
GD25LQ64
16
GD25LQ80
17
GD25LR256E
18
GD25LR512ME
19
GD25Q10
20
GD25Q128
21
GD25Q128
22
GD25Q128
23
GD25Q16
24
GD25Q20
25
GD25Q256D
26
GD25Q32
27
GD25Q40
28
GD25Q512
29
GD25Q64
30
GD25Q80
31
GD25T80
32
GD25VQ16C
33
GD25VQ21B
34
GD25VQ41B
35
GD25VQ41B
36
GD25VQ80C
37
GD25WQ80E
#7998931
Lesenswert?

Ein FT232H [1] und ASProgrammer [2] sollten funktionieren. Es gibt auch andere kompatible Adapter. Ich habe es bisher allerdings nur mit CH341A und FT232H genutzt. Arduino als Adapter schaut ganz vielversprechend aus. Aber man muss auf Pegel achten. Der Flash verträgt keine 5V.

[1] https://amzn.eu/d/7Rt1Yse

[2] https://github.com/nofeletru/UsbAsp-flash

: Bearbeitet durch User
OP #7999116
Lesenswert?

Oliver J. schrieb:

Hier ist ein passender Thread bei Reddit:

https://www.reddit.com/r/razer/s/49WnvImdEB

Das ist super. Danke. Danach wäre der Chip mit einem Windbond W25Q128 kompatibel. Das würde die Suche etwas vereinfachen

Stephan S. schrieb:

Sofern der GD25B127D kompatibel zu einem der folgenden GD-Bausteine ist, kannst du flashrom nehmen. Der GD25B127D selbst steht in flashrom nicht dicht drin.

Wo hast du denn diese Liste gefunden? Ich würde gerne prüfen, ob der Windbond W25Q128 damit programmiert werden kann?

#7999239
Lesenswert?

Thomas W. schrieb:

Wo hast du denn diese Liste gefunden? Ich würde gerne prüfen, ob der Windbond W25Q128 damit programmiert werden kann?

Die steht in der Datei flashchips/gigadevice.c der Sourcen von flashrom 1.6.0, jeweils die Zeilen mit '.model_id', Download siehe https://www.flashrom.org/release_notes/v_1_6.html

Für Winbond-ICs musst Du dann in der winbond.c nachsehen, da ist der W25Q128 drin - gerade nachgeshen

Falls Du den gängigen CH341 zum programmieren nehmen willst, lies Dir vorher https://flashrom.org/supported_hw/supported_prog/ch341ab.html durch

: Bearbeitet durch User
#7999609
Lesenswert?

Hallo,

ich hab aber in der Beschreibung des Programmierers nirgends den Gigadevice GD25B127D gefunden.

Zum Beispiel aus einer Beschreibung des EEPROM CH341A 24 25 Series Flash BIOS USB Programmer: " GIGADEVICE: GD25Q512 GD25Q10 GD25Q20 GD25F40 GD25D40 GD25Q80 GD25D80 GD25T80 GD25F80 GD25Q16 GD25Q32 GD25Q64 GD25Q128 "

Aber vielleicht geht ja der GD25Q128?

MfG egonotto

#7999650
Lesenswert?

Thomas W. schrieb:

Ich habe an diesen Adapter gedacht: https://www.amazon.de/EEPROM-Programmierer-CH341A-SOIC8-Adapter/dp/B09MHH6D8H

Hat den CH341A mit Quarz wie beschrieben und noch n bissl Zubehör dabei. Das sollte ja klappen

Denke ich auch. Schau aber unbedingt nach, ob an Pin 28 des CH341 3.3 Volt oder 5 Volt anliegen. Bei 5 Volt ist der beschriebene Umbau nötig, um die Flash-ICs nicht zu killen https://flashrom.org/supported_hw/supported_prog/ch341ab.html

Beitrag #7999654 wurde vom Autor gelöscht.
OP #8000134
Lesenswert?

Der Adapter ist da, ich habe dank Stephans Hinweis auch keine Chips gegrillt und ich kann auf Anhieb den Chip lesen.

Jetzt gleich aber das nächste Problem. Das BIOS-File, das ich von der Webseite heruntergeladen habe, ist genau 2048 Byte zu groß. Wenn ich mir die Files im Hex-Editor anschaue, sehen die auch am Anfang unterschiedlich aus. Lösche ich die ersten 2048 Byte, sieht das ganze immer noch anders aus. Hat jemand ne Idee, wie ich die Originaldatei nutzbar machen kann?

Im Anhang mal die beiden Dateien.

Angehängte Dateien:
: Bearbeitet durch User
#8000144
Lesenswert?

Versuch doch mal, noch andere BIOS-Versionen runterzuladen. Vielleicht kommst Du dann auf die Version des kaputten BIOS.

Wandle die Binär-Dateien nach HEX (xxd datei.bin > datei.hex), dann findest Du leichter die Zonen, die zusammengehören. Optimal wäre natürlich, wenn Du die Version der defekt.bin wüsstest.

#8000158
Lesenswert?

Was für ein BIOS Hersteller ist das? Wie ist die Bezeichnung des Flasprogrammes des Herstellers? Ach ja, ein Link zum Board, bzw. die Boardbezeichnung wäre vielleich auch hilfreich. Ich bin aus dem Thema schon etwas raus, aber AMI und Award hatten eigentlich immer die Binärfiles, auch wenn sie meist kreative Bezeichungen hatten. Phoenix war mit seinen wph Files etwas tricky. Ganz blöd wird es, wenn das Flastool da erst was entpackt, beim Schreiben. Wie das inzwischen bei UEFI gehandhabt wird, vermag ich nicht zu sagen.

#8000171
Lesenswert?

Ich hab selber 2 MBs von ASUS und mir mal ein paar Updates der BIOSe angesehen, die sind immer etwas zu gross, nie genau 16 oder 32 MB gross. Da ist ein Overhead von 2048 oder 4096 Bytes am Anfang oder Ende. 16 MB wären genau 16777216 Bytes.

Musst Du denn den IC auslöten oder kannst Du direkt im MB flashen? Dann käme es auf einen versuch an.

#8000198
Lesenswert?

Gerald B. schrieb:

Aber im 310 File ist ja nur Kauderwelsch.

Ich hab' mal versucht, einen Vergleich der beiden Dateien anzustellen, aber das ist recht ausweglos.

Es gibt in "defekt" einen Text ("SendDebugString"), den findet man in der anderen Datei nur mit vier dazwischengeschobenen Bytes ("Sen<0xff 0x7f 0xf6 0xff>dDebugString"). Die sind vielleicht eine Prüfsumme, oder eine Blockkennung, oder was auch immer.

Damit könnte die Datei aus 32-kByte-Blöcken bestehen, vor oder nach denen jeweils eine 4-Byte-Sequenz angeordnet ist. (2048 / 4 = 512, 16 MB / 512 = 32 kB)

Allerdings ist der Offset des Textes in beiden Dateien komplett unterschiedlich, im einen Fall 0xbd5655, im anderen aber 0x2d6673 ...

Da ist wohl deutlich mehr kaputt.

OP #8000199
Lesenswert?

Das Laptop ist ein Asus X512JA:

https://www.asus.com/de/supportonly/x512ja/helpdesk_bios/

Der BIOS-Hersteller ist American Megatrends. Die BIOS-Version ist die 310. Einmal die runtergeladene und einmal die aus dem Chip.

Stephan S. schrieb:

Musst Du denn den IC auslöten oder kannst Du direkt im MB flashen? Dann käme es auf einen versuch an.

Den kann ich im eingebauten Zustand lesen und beschreiben. Hatte ihn erst ausgelötet und jetzt wieder drin.

: Bearbeitet durch User
#8000207
Lesenswert?

Zwei unterschiedliche Versionen:

1
defekt.bin   : F0031508.X512JA.308
2
X512JAAS.310 : F0031509.X512JA.30A

Sieht so aus als ob der Teil ab Offset 0x800 von X512JAAS.310 bei Offset 0x900000 in defekt.bin liegt, das aber nur auf die Schnelle und ohne Garantie.

: Bearbeitet durch User
#8000434
Lesenswert?

Man brauch ein UEFI Tool um die Inhalte der Binaries zuzuordnen, z.B. das hier:

https://github.com/LongSoft/UEFITool

Fertige Binaries gibt es hier:

https://github.com/LongSoft/UEFITool/releases

Der Inhalt sieht dann so wie in den Bildern im Anhang aus. Als Basis dient die zur "defekt.bin" passende Version des Asus Download (X512JAAS.308).

"X512JAAS_308_offset_0x800.png" ist nur zu Info, das ist der Asus Download ab Offset 0x800. Das obige Tool kann aber auch direkt mit dem Download Binary umgehen.

Man wird vermutlich ein wenig mit den Binaries und dem Tool experimentieren müssen um herauzufinden was genau defekt ist. Es könnte natürlich auch sein dass andere Teile defekt sind, die nicht im Asus Download enthalten sind.

Angehängte Dateien:
OP #8005736
Lesenswert?

Hallo zusammen,

vielen Dank für eure tolle Hilfe und Zeit.

Ich habe es allerdings nicht geschafft, bisher ein heruntergeladenes BIOS so umzuwandeln, dass es im Laptop funktioniert. Zum Glück lässt sich der Flash im eingebauten Zustand programmieren, sodass ich das Teil nicht ständig wieder auslöten musste.

Die Lösung: Ich habe mir ein baugleiches Laptop besorgt, den Bausein dort ausgelesen und auf das defekte Gerät kopiert. Und siehe da, das Teil geht an. Braucht zwar ca. 20 Sekunden, bis das Display angeht. Damit kann ich gut leben. Auch habe ich jetzt zwei Geräte mit der gleichen Seriennummer ;-) Die MAC-Adresse wurde zum Glück nicht mitkopiert.

Alles in allem wieder viel gelernt, habe ein neues Programmiergerät. Und noch mal vielen Dank für eure Hilfe!

Viele Grüße und ein schönes Wochenende Thomas

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren