zurück zur BIOS-Hilfe...
Bios ändern und danach Checksumme anpassen
23.Okt 2007 23:41
billiboy schreibt:
Hi..
Ich möchte in meinem Bios etwas ändern. Wie kann ich danach die Checksumme neu errechnen?
Hat da vielleicht jemand nen Tip?
thx
billi
Hi..
Ich möchte in meinem Bios etwas ändern. Wie kann ich danach die Checksumme neu errechnen?
Hat da vielleicht jemand nen Tip?
thx
billi
Bios ändern und danach Checksumme anpassen
24.Okt 2007 07:04
biosflash antwortet:
Zuerst müsste man den Speicherort der Checksumme im Code identifizieren, der wahrscheinlich ganz am Anfang oder Ende eines ROM-Codeblocks im Bios-File liegen dürfte. Dann den davor bzw. dahinter stehenden Code als CRC-32-Prüfsumme berechnen und in den gefundenen Speicherort schreiben.
Zuerst müsste man den Speicherort der Checksumme im Code identifizieren, der wahrscheinlich ganz am Anfang oder Ende eines ROM-Codeblocks im Bios-File liegen dürfte. Dann den davor bzw. dahinter stehenden Code als CRC-32-Prüfsumme berechnen und in den gefundenen Speicherort schreiben.
Bios ändern und danach Checksumme anpassen
24.Okt 2007 15:04
billiboy antwortet:
Oh, das wird leider nicht gehen, denn das wurde schon von jemandem Probiert.
Hab grad nicht so viel Zeit das Prob ausfürlich zu erklären, das mach ich heute Abend.
Aber hier mal mein Prob was ich im Moment hab.
Ist eine Beispiel Rechnung die ich nicht ganz nachvollziehen kann.
Hier mal meine Rechnung...
Niedrigem Wert von hohem Wert abziehen
00| |86| |80| |43| |10| |EF| |86| |80| |22| |25|
00| |60| |12| |90| |38| |EF| |CF| |17| |14| |00|
====================================================
00| |86-60=26 | |80-12=6E| |90-43=4D| |38-10=28| |00| |CF-86=49| |80-17=69| |22-14=0E| |25-00=25|
Nur weiß ich nicht wonach man gehen muss um + oder - vorzusetzen.
Mein Beispiel erklärer hat leider keine Zeit mir das zu erklären.
bis heute Abend
billi
Oh, das wird leider nicht gehen, denn das wurde schon von jemandem Probiert.
Hab grad nicht so viel Zeit das Prob ausfürlich zu erklären, das mach ich heute Abend.
Aber hier mal mein Prob was ich im Moment hab.
Ist eine Beispiel Rechnung die ich nicht ganz nachvollziehen kann.
1---> 00||86||80|||43||||10|EF||||86||80||22|||25 2---> 00||60||12|||90||||38|EF||||CF||17||14|||00 ============================= 00,-26,-6E,+4D,+28,00,+49,-69,-0E,-251---> wird im Bios gegen 1--> getauscht. Dadurch stimmt die Checksumme nicht mehr. Jetzt soll an ungenutzter Stelle die Differenzen zwischen den Beiden aufgerechnet werden damit die Checksumme wieder stimmt.
Hier mal meine Rechnung...
Niedrigem Wert von hohem Wert abziehen
00| |86| |80| |43| |10| |EF| |86| |80| |22| |25|
00| |60| |12| |90| |38| |EF| |CF| |17| |14| |00|
====================================================
00| |86-60=26 | |80-12=6E| |90-43=4D| |38-10=28| |00| |CF-86=49| |80-17=69| |22-14=0E| |25-00=25|
Nur weiß ich nicht wonach man gehen muss um + oder - vorzusetzen.
Mein Beispiel erklärer hat leider keine Zeit mir das zu erklären.
bis heute Abend
billi
Bios ändern und danach Checksumme anpassen
24.Okt 2007 15:58
biosflash antwortet:
Auf alle Fälle solltest du dir CRC32 (was wohl hier Anwendung findet) mal anschauen. Dort gibt es auch Links um die CRC nachträglich zu manipulieren.
Auf alle Fälle solltest du dir CRC32 (was wohl hier Anwendung findet) mal anschauen. Dort gibt es auch Links um die CRC nachträglich zu manipulieren.
Bios ändern und danach Checksumme anpassen
24.Okt 2007 21:55
billiboy antwortet:
So richtig werd ich da nicht fündig..
Kannst Du mir erklären warum
86-60=-26 wird und warum
90-43=+4D wird?
Ich versteh da den Sinn nicht wonach sich das entscheidet.
cu
billi
So richtig werd ich da nicht fündig..
Kannst Du mir erklären warum
86-60=-26 wird und warum
90-43=+4D wird?
Ich versteh da den Sinn nicht wonach sich das entscheidet.
cu
billi
Bios ändern und danach Checksumme anpassen
24.Okt 2007 23:58
billiboy antwortet:
10+0E=1E das stimmt
f4+25=19 das stimmt
Hat vielleicht jemand ne Ahnung wie ich dei andern rechnen muss damit die drunter stehenden Werte raus kommen?
cu
billi
14 20 43 3c 10 f4 00+26+6E-4D -28 00 -49+69 +0E +25 ========================================= ec 45 69 58 1e 19Also
10+0E=1E das stimmt
f4+25=19 das stimmt
Hat vielleicht jemand ne Ahnung wie ich dei andern rechnen muss damit die drunter stehenden Werte raus kommen?
cu
billi
Bios ändern und danach Checksumme anpassen
25.Okt 2007 07:34
biosflash antwortet:
So richtig werd ich da nicht fündig..
Kannst Du mir erklären warum
86-60=-26 wird und warum
90-43=+4D wird?
Ich versteh da den Sinn nicht wonach sich das entscheidet.
cu
billi Ich habe leider keine Ahnung woher du dieses Rechenbeispiel hast!
Ich denke mal, das die roten Plus und Minus nur sagen sollen, dass der neue Wert kleiner oder grösser als der alte ist. Also wäre: 26 kleiner als 86, also: "-".
Übrigends ist deine 2. Rechnung falsch, oder? Denn sie müsste 43-90 lauten. Denn nur dann wäre 4D grösser als 43, also: "+".
So richtig werd ich da nicht fündig..
Kannst Du mir erklären warum
86-60=-26 wird und warum
90-43=+4D wird?
Ich versteh da den Sinn nicht wonach sich das entscheidet.
cu
billi Ich habe leider keine Ahnung woher du dieses Rechenbeispiel hast!
Ich denke mal, das die roten Plus und Minus nur sagen sollen, dass der neue Wert kleiner oder grösser als der alte ist. Also wäre: 26 kleiner als 86, also: "-".
Übrigends ist deine 2. Rechnung falsch, oder? Denn sie müsste 43-90 lauten. Denn nur dann wäre 4D grösser als 43, also: "+".
Bios ändern und danach Checksumme anpassen
25.Okt 2007 10:34
billiboy antwortet:
So, Sorry erstmal das ich hier nur schnell ein Paar Fragen reingeworfen hatte und noch gar nicht genau erklärt hab worum es geht. So ist es vielleicht leichter zu verstehen und Motiviert auch ander mit dem selbem Problem zur Mitarbeit. Und wenn nicht, Ich find das schon raus, und dann profitiere ich allleine davon. :mrgreen:
Also, es soll an einem HP Notebook (nx9420) die Whitelist geändert werden um ein Intel 4965 AGN WLAN Karte nutzen zu können. Die Whitelist von HP läßt aber nur eine Intel 3945ABG oder Broadcom BCM 4311 zu.
Diese Whitelist soll geändert werden für eine andere Karte. Das es funktioniert ist klar, denn ich habe ein modifiziertes Bios im Rechner laufen. Aber mit einer Atheros Karte.
Die anpassung hat mir irgend jemand aus dem Netz gemacht, der aber jetz keine Zeit mehr hat. Seine Erklärung zum Rechnen waren leider nicht sehr ausführlich, aber ich kenne das Prinzip.
Nun veruche ich das selbst heraus zu finden um einmal meine Karte zum laufen zu bringen und einmal um anderen User die auch das Prob mit dem "104 Unsupported Wireless Network Device detected" vielleicht ein Tutorial in die Hand zu geben wie man diesen Zwang einiger Hersteller um gehen kann.
Ich finde es nämlich echt eine Frechheit mir Vorzuschreiben welche Peripherie ich in meinem Notebook verwenden soll.
So, das erstmal zum Hintergrund.
Alles hier erklärte erfolgt ohne Garantie und ohne Übernahme einer Haftung bei eventellen Schäden.
Jetzt zur Theorie und Praxis. :crazy:
Am einfachsten währe es, die Sprungadresse zu finden wo die Abfrage stattfindet oder die Stelle wo die Checksumme gebildet wird. Beides ist aber leider nicht gelungen.
Also gehen wir einen anderen weg.
Folgende Sachen werden benötigt:
- Die ID´s der laufenden Karten
- Die ID´s der NICHT laufende Karte
- Eine flashbares Bios File das auf jedenfall im lappi läuft
Über den Gerätemanager in Windows -->Eigenschaften-->Details-->Hardware-IDs bekommt man raus welche ID die eingebaute Karte hat.
Wer für seine neu einzubauende Karte keine ID hat, der kann die neue Karte per Hotplug einbauen, und dann die ID der Karte über den Gerätemanager herausfinden.
Diese Karte ist im Book eingebaut:
PCI\VEN_8086&DEV_4222&SUBSYS_135C103C
Diese Karte soll rein:
PCI\VEN_8086&DEV_4229&SUBSYS_11208086
Über die Seiten des Herstellers konn man auch noch Infos bekommen welche Karten das Book noch unterstützt. Ist wichtig zu wissen, denn so haben wir mehr Stellen wo wie die Änderungen ansetzen können.
Bei mir (HP nx9420) werden die Broadcom BCM 4311 und Intel 3945ABG unterstütz.
Die Id´s stehen im Bios aber in anderer Reihenfolge in little bzw. middle indian.
Diese müssen umformatiert werden wie die ID´s dann im Bios erscheinen.
Ich gehe dabei nach diesem schema vor:
Zur suche nutze ich nur 86802242 , da der rest ein wenig verteilt im File ist.
Im File finde ich dann folgende Stelle..
0x10CF0: 18 C3 86 80 22 42 3C 57 10 5B 13 83 00 5C 84 00 (Intel_ID nach der wir gesucht haben)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00
0x10D10: 61 04 01 62 80 01 11 80 01 55 63 84 00 64 04 01
0x10D20: 65 84 04 5F 02 05 AF 86 80 00 10 83 00 01 84 00
Der komplette ID String der benötigt sieht aber so aus: 8680 2242 3C10 5C13
0x10CF0: 18 C3 86 80 22 42 3C 57 10 5B 13 83 00 5C 84 00 (komplette Intel_ID unserer Karte)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00
0x10D10: 61 04 01 62 80 01 11 80 01 55 63 84 00 64 04 01
0x10D20: 65 84 04 5F 02 05 AF 86 80 00 10 83 00 01 84 00
Jetzt werfen wir einen Blick in das .inf File der Treiber der Karte und suchen uns unsere eingebaute Karte und umliegenden Karten zu unserer eingebauten herraus.
; HP_3945_ABG
%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_MOW1 , PCI\VEN_8086&DEV_4222&SUBSYS_135B103C ; MOW1
%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_MOW2 , PCI\VEN_8086&DEV_4222&SUBSYS_135C103C ; MOW2 (unsere eingebaute Karte)
%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_RoW , PCI\VEN_8086&DEV_4222&SUBSYS_135D103C ; RoW
%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_JPN , PCI\VEN_8086&DEV_4222&SUBSYS_135E103C ; JPN
%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_KRA , PCI\VEN_8086&DEV_4222&SUBSYS_135F103C ; KRA
Übersichtlicher zusammengeschoben und überflüssiges entfernt:
; HP_3945_ABG
PCI\VEN_8086&DEV_4222&SUBSYS_135B103C
PCI\VEN_8086&DEV_4222&SUBSYS_135C103C (unsere eingebaute Karte)
PCI\VEN_8086&DEV_4222&SUBSYS_135D103C
PCI\VEN_8086&DEV_4222&SUBSYS_135E103C
PCI\VEN_8086&DEV_4222&SUBSYS_135F103C
Hier jetzt mit *Umgewandelte ID´s*
PCI\VEN_8086&DEV_4222&SUBSYS_135B103C 8680 2242 3C 10 5B 13
PCI\VEN_8086&DEV_4222&SUBSYS_135C103C 8680 2242 3C 10 5C 13 *original eingebaut von HP*
PCI\VEN_8086&DEV_4222&SUBSYS_135D103C 8680 2242 3C 10 5D 13
PCI\VEN_8086&DEV_4222&SUBSYS_135E103C 8680 2242 3C 10 5E 13
Jetzt kann man erkennen, das es 5 verschiedene Intel 3945ABG Kartenversionen (von HP) gibt.
PCI\VEN_8086&DEV_4222&SUBSYS_135B103C 8680 2242 3C 10 5B 13 (teil der Intel_ID unserer Karte / unterschiedliche Karten)
PCI\VEN_8086&DEV_4222&SUBSYS_135C103C 8680 2242 3C 10 5C 13 *original eingebaut von HP*
PCI\VEN_8086&DEV_4222&SUBSYS_135D103C 8680 2242 3C 10 5D 13
PCI\VEN_8086&DEV_4222&SUBSYS_135E103C 8680 2242 3C 10 5E 13
Jetzt sehen wir mal wieder in unser Bios File.
0x10CF0: 18 C3 86 80 22 42 3C 57 10 5B 13 83 00 5C 84 00 (teil der Intel_ID unserer Karte / unterschiedliche Karten)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00
0x10D10: 61 04 01 62 80 01 11 80 01 55 63 84 00 64 04 01
0x10D20: 65 84 04 5F 02 05 AF 86 80 00 10 83 00 01 84 00
Wenn man sich die blauen Id´s drumrum gut ansieht, so kann man die komplette whitelist erkennen. Damit werden nur diese 5 Intel 3945_ABG erlaubt. Die Intel 3945_ABG gibt es aber noch für IBM,DELL,Toshiba,Sony. Da hat jede Karte wieder eine andere ID. Jeder Notebook Hersteller kocht hier seine eigene Suppe. Aber egal. :bg:
An diesen Stellen können wir die ID´s der neuen Karte dann eintrage. Dazu aber später. :happy:
Wenn wir die alten ID´s gegen die neuen tauschen stimmt die Checksumme des Fils nicht mehr, und es kann nicht geflasht werden da das HP Flashtool das erkennt.
Wie oben schon erwähnt ist es nicht möglich die Stelle zu finden wo die Checksummer errechnet wird.
Also gehen wir einen anderen Weg.
Im Bios gibt es noch eine 2. Whitlist für die Broadcom BCM 4311 Karte.
Broadcom BCM 4311
PCI\VEN_14E4&DEV_4312&SUBSYS_1360103C E414 1243 3C 10 60 13
PCI\VEN_14E4&DEV_4312&SUBSYS_1361103C E414 1243 3C 10 61 13
PCI\VEN_14E4&DEV_4312&SUBSYS_1362103C E414 1243 3C 10 62 13
PCI\VEN_14E4&DEV_4312&SUBSYS_135F103C E414 1243 3C 10 5F 13
Jetzt sehen wir mal wieder in unser Bios File.
0x10CF0: 18 C3 86 80 22 42 3C 57 10 5B 13 83 00 5C 84 00 (teil der Intel_ID unserer Karte / unterschiedliche Karten)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00 (teil der Broadcom_ID / unterschiedliche Karten)
0x10D10: 61 04 01 62 80 01 11 80 01 55 63 84 00 64 04 01
0x10D20: 65 84 04 5F 02 05 AF 86 80 00 10 83 00 01 84 00
Da wir keine der Broadcom Karten nutzen, müssen deren ID´s zum angleichen der Checksumme herhalten.
Und nun gehts zur neuen Karte:
8680 2242 3C10 5C13 wird zu
8680 2942 8680 2011
Hier nochmal das original mit den alten Karten:
0x10CF0: 18 C3 86 80 22 42 3C 57 10 5B 13 83 00 5C 84 00 (teil der Intel_ID unserer Karte / unterschiedliche Karten)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00 (teil der Broadcom_ID / unterschiedliche Karten)
0x10D10: 61 04 01 62 80 01 11 80 01 55 63 84 00 64 04 01
0x10D20: 65 84 04 5F 02 05 AF 86 80 00 10 83 00 01 84 00
Und hier schon mal mit der neuen:
0x10CF0: 18 C3 86 80 29 42 86 57 80 20 11 83 00 5C 84 00 (teil der alten Intel_ID / teile der neuen Intel ID)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00 (Broadcom_ID über den die Checksumme wieder angeglichen wird)
Nun gehts ans rechnen der Checksumme.
Hier mal das Beispiel meines Helfers. Die 86 80 43 10 EF 86 80 22 25 habe ich benutzt um meine ID´s auszutauschen.
Also 86 80 43 10 EF 86 80 22 25 gegen 60 12 90 38 EF CF 17 14 00 tauschen.
Die e4 ff 14 20 43 3c 10 f4 12 habe ich benutzt um die Checksumme wieder anzugleichen.
Also e4 ff 14 20 43 3c 10 f4 12 gegen e4 ff ec 45 69 58 1e 19 12 tauschen.
Die Checksumme des Bios berechnet sich über die Summe aller 4Byte Blöcke. Als Ergebnis kommt wieder eine 4Byte große Zahl raus.
Man mußt du die Checksumme eben relativ zu der Stellenwert-Änderung
anpassen. Simple Addition und Subtraktion mit Hex-Zahlen reicht da
ansich aus.
Stellenwert auffüllen wegen der 4 Bytes Blöcke
00||86||80|||43||||10|EF||||86||80||22|||25
00||60||12|||90||||38|EF||||CF||17||14|||00
=================================
00,-26,-6E,+4D,+28,00,+49,-69,-0E,-25
Alle negativen Werte fehlen in der Checksumme, und alle positiven
Werte sind zuviel. Also muss man die entsprechend Werte in das Gegenteil umwandeln.
00,-26,-6E,+4D,+28,00,+49,-69,-0E,-25 wird zu
00,+26,+6E,-4D,-28,00,-49,+69,+0E,+25
14 20 43 3c 10 f4
00+26+6E-4D
-28 00 -49+69
____________+0E+25
==========
ec 45 69 58 1e 19 Ich versteh nicht so ganz wie er auf + oder - vor den Werten gekommen ist. Er zieht den niedrigen Wert von hohem Wert ab.
Hab ich nachgerechnet, und das stimmt.
00||86||80|||43||||10|EF||||86||80||22|||25
00||60||12|||90||||38|EF||||CF||17||14|||00
=================================
00,-26,-6E,+4D,+28,00,+49,-69,-0E,-25
Die Umwandlung inst gegenteil ist mir logisch.
00,-26,-6E,+4D,+28,00,+49,-69,-0E,-25 wird zu
00,+26,+6E,-4D,-28,00,-49,+69,+0E,+25
Die Rechnung von der Sache her auch, nur ich bekomme ein wenig was anderes raus. Seine Rechnung:
14 20 43 3c 10 f4
00+26+6E-4D
-28 00 -49+69
____________+0E+25
==========
ec 45 69 58 1e 19 Meine Rechnung:
14 20 43 3c 10 f4 ist der Wert mit dem gerechnet wird
14 20 43 3c
00 +26 +6E -4D
14 46 B1 EF
-28 00 -49 +69
EC 46 68 58
dann noch
10 f4
+0E+25
1E 19
Das ergibt
bei mir: EC 46 68 58 1E 19
beim H: ec 45 69 58 1e 19
So, und da liegt jetzt das nächste Problem.
Warum hab ich 46 und er 45 und ich 68 und er 69 raus.
Vom logischen her, würd ich sagen das hebt sich auf, aber irgendwie muss ja der Unterschied zustande kommen.
So, das wars erstmal mit meinen Ausführungen.
to be continued :crazy:
billi
So, Sorry erstmal das ich hier nur schnell ein Paar Fragen reingeworfen hatte und noch gar nicht genau erklärt hab worum es geht. So ist es vielleicht leichter zu verstehen und Motiviert auch ander mit dem selbem Problem zur Mitarbeit. Und wenn nicht, Ich find das schon raus, und dann profitiere ich allleine davon. :mrgreen:
Also, es soll an einem HP Notebook (nx9420) die Whitelist geändert werden um ein Intel 4965 AGN WLAN Karte nutzen zu können. Die Whitelist von HP läßt aber nur eine Intel 3945ABG oder Broadcom BCM 4311 zu.
Diese Whitelist soll geändert werden für eine andere Karte. Das es funktioniert ist klar, denn ich habe ein modifiziertes Bios im Rechner laufen. Aber mit einer Atheros Karte.
Die anpassung hat mir irgend jemand aus dem Netz gemacht, der aber jetz keine Zeit mehr hat. Seine Erklärung zum Rechnen waren leider nicht sehr ausführlich, aber ich kenne das Prinzip.
Nun veruche ich das selbst heraus zu finden um einmal meine Karte zum laufen zu bringen und einmal um anderen User die auch das Prob mit dem "104 Unsupported Wireless Network Device detected" vielleicht ein Tutorial in die Hand zu geben wie man diesen Zwang einiger Hersteller um gehen kann.
Ich finde es nämlich echt eine Frechheit mir Vorzuschreiben welche Peripherie ich in meinem Notebook verwenden soll.
So, das erstmal zum Hintergrund.
Alles hier erklärte erfolgt ohne Garantie und ohne Übernahme einer Haftung bei eventellen Schäden.
Jetzt zur Theorie und Praxis. :crazy:
Am einfachsten währe es, die Sprungadresse zu finden wo die Abfrage stattfindet oder die Stelle wo die Checksumme gebildet wird. Beides ist aber leider nicht gelungen.
Also gehen wir einen anderen weg.
Folgende Sachen werden benötigt:
- Die ID´s der laufenden Karten
- Die ID´s der NICHT laufende Karte
- Eine flashbares Bios File das auf jedenfall im lappi läuft
Über den Gerätemanager in Windows -->Eigenschaften-->Details-->Hardware-IDs bekommt man raus welche ID die eingebaute Karte hat.
Wer für seine neu einzubauende Karte keine ID hat, der kann die neue Karte per Hotplug einbauen, und dann die ID der Karte über den Gerätemanager herausfinden.
Diese Karte ist im Book eingebaut:
PCI\VEN_8086&DEV_4222&SUBSYS_135C103C
Diese Karte soll rein:
PCI\VEN_8086&DEV_4229&SUBSYS_11208086
Über die Seiten des Herstellers konn man auch noch Infos bekommen welche Karten das Book noch unterstützt. Ist wichtig zu wissen, denn so haben wir mehr Stellen wo wie die Änderungen ansetzen können.
Bei mir (HP nx9420) werden die Broadcom BCM 4311 und Intel 3945ABG unterstütz.
Die Id´s stehen im Bios aber in anderer Reihenfolge in little bzw. middle indian.
Diese müssen umformatiert werden wie die ID´s dann im Bios erscheinen.
Ich gehe dabei nach diesem schema vor:
Diese Intel karte ist drin: PCI\VEN_8086&DEV_4222&SUBSYS_135C103C 8086 4222 135C103C wird zu 8680 2242 3C10 5C13 als Bios String: 8680 2242 3C10 5C13Diesen String suchen wir nun im Bios File.
Zur suche nutze ich nur 86802242 , da der rest ein wenig verteilt im File ist.
Im File finde ich dann folgende Stelle..
0x10CF0: 18 C3 86 80 22 42 3C 57 10 5B 13 83 00 5C 84 00 (Intel_ID nach der wir gesucht haben)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00
0x10D10: 61 04 01 62 80 01 11 80 01 55 63 84 00 64 04 01
0x10D20: 65 84 04 5F 02 05 AF 86 80 00 10 83 00 01 84 00
Der komplette ID String der benötigt sieht aber so aus: 8680 2242 3C10 5C13
0x10CF0: 18 C3 86 80 22 42 3C 57 10 5B 13 83 00 5C 84 00 (komplette Intel_ID unserer Karte)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00
0x10D10: 61 04 01 62 80 01 11 80 01 55 63 84 00 64 04 01
0x10D20: 65 84 04 5F 02 05 AF 86 80 00 10 83 00 01 84 00
Jetzt werfen wir einen Blick in das .inf File der Treiber der Karte und suchen uns unsere eingebaute Karte und umliegenden Karten zu unserer eingebauten herraus.
; HP_3945_ABG
%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_MOW1 , PCI\VEN_8086&DEV_4222&SUBSYS_135B103C ; MOW1
%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_MOW2 , PCI\VEN_8086&DEV_4222&SUBSYS_135C103C ; MOW2 (unsere eingebaute Karte)
%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_RoW , PCI\VEN_8086&DEV_4222&SUBSYS_135D103C ; RoW
%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_JPN , PCI\VEN_8086&DEV_4222&SUBSYS_135E103C ; JPN
%NIC_MPCIEX_3945ABG% = Install_MPCIEX_HP_3945_ABG_VISTA64_KRA , PCI\VEN_8086&DEV_4222&SUBSYS_135F103C ; KRA
Übersichtlicher zusammengeschoben und überflüssiges entfernt:
; HP_3945_ABG
PCI\VEN_8086&DEV_4222&SUBSYS_135B103C
PCI\VEN_8086&DEV_4222&SUBSYS_135C103C (unsere eingebaute Karte)
PCI\VEN_8086&DEV_4222&SUBSYS_135D103C
PCI\VEN_8086&DEV_4222&SUBSYS_135E103C
PCI\VEN_8086&DEV_4222&SUBSYS_135F103C
Hier jetzt mit *Umgewandelte ID´s*
PCI\VEN_8086&DEV_4222&SUBSYS_135B103C 8680 2242 3C 10 5B 13
PCI\VEN_8086&DEV_4222&SUBSYS_135C103C 8680 2242 3C 10 5C 13 *original eingebaut von HP*
PCI\VEN_8086&DEV_4222&SUBSYS_135D103C 8680 2242 3C 10 5D 13
PCI\VEN_8086&DEV_4222&SUBSYS_135E103C 8680 2242 3C 10 5E 13
Jetzt kann man erkennen, das es 5 verschiedene Intel 3945ABG Kartenversionen (von HP) gibt.
PCI\VEN_8086&DEV_4222&SUBSYS_135B103C 8680 2242 3C 10 5B 13 (teil der Intel_ID unserer Karte / unterschiedliche Karten)
PCI\VEN_8086&DEV_4222&SUBSYS_135C103C 8680 2242 3C 10 5C 13 *original eingebaut von HP*
PCI\VEN_8086&DEV_4222&SUBSYS_135D103C 8680 2242 3C 10 5D 13
PCI\VEN_8086&DEV_4222&SUBSYS_135E103C 8680 2242 3C 10 5E 13
Jetzt sehen wir mal wieder in unser Bios File.
0x10CF0: 18 C3 86 80 22 42 3C 57 10 5B 13 83 00 5C 84 00 (teil der Intel_ID unserer Karte / unterschiedliche Karten)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00
0x10D10: 61 04 01 62 80 01 11 80 01 55 63 84 00 64 04 01
0x10D20: 65 84 04 5F 02 05 AF 86 80 00 10 83 00 01 84 00
Wenn man sich die blauen Id´s drumrum gut ansieht, so kann man die komplette whitelist erkennen. Damit werden nur diese 5 Intel 3945_ABG erlaubt. Die Intel 3945_ABG gibt es aber noch für IBM,DELL,Toshiba,Sony. Da hat jede Karte wieder eine andere ID. Jeder Notebook Hersteller kocht hier seine eigene Suppe. Aber egal. :bg:
An diesen Stellen können wir die ID´s der neuen Karte dann eintrage. Dazu aber später. :happy:
Wenn wir die alten ID´s gegen die neuen tauschen stimmt die Checksumme des Fils nicht mehr, und es kann nicht geflasht werden da das HP Flashtool das erkennt.
Wie oben schon erwähnt ist es nicht möglich die Stelle zu finden wo die Checksummer errechnet wird.
Also gehen wir einen anderen Weg.
Im Bios gibt es noch eine 2. Whitlist für die Broadcom BCM 4311 Karte.
Broadcom BCM 4311
PCI\VEN_14E4&DEV_4312&SUBSYS_1360103C E414 1243 3C 10 60 13
PCI\VEN_14E4&DEV_4312&SUBSYS_1361103C E414 1243 3C 10 61 13
PCI\VEN_14E4&DEV_4312&SUBSYS_1362103C E414 1243 3C 10 62 13
PCI\VEN_14E4&DEV_4312&SUBSYS_135F103C E414 1243 3C 10 5F 13
Jetzt sehen wir mal wieder in unser Bios File.
0x10CF0: 18 C3 86 80 22 42 3C 57 10 5B 13 83 00 5C 84 00 (teil der Intel_ID unserer Karte / unterschiedliche Karten)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00 (teil der Broadcom_ID / unterschiedliche Karten)
0x10D10: 61 04 01 62 80 01 11 80 01 55 63 84 00 64 04 01
0x10D20: 65 84 04 5F 02 05 AF 86 80 00 10 83 00 01 84 00
Da wir keine der Broadcom Karten nutzen, müssen deren ID´s zum angleichen der Checksumme herhalten.
Und nun gehts zur neuen Karte:
Das ist die neue Karte die rein soll: PCI\VEN_8086&DEV_4229&SUBSYS_11208086 8086 4229 11208086 wird zu 8680 2942 8680 2011 als Bios String: 8680 2942 8680 2011Das heißt also:
8680 2242 3C10 5C13 wird zu
8680 2942 8680 2011
Hier nochmal das original mit den alten Karten:
0x10CF0: 18 C3 86 80 22 42 3C 57 10 5B 13 83 00 5C 84 00 (teil der Intel_ID unserer Karte / unterschiedliche Karten)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00 (teil der Broadcom_ID / unterschiedliche Karten)
0x10D10: 61 04 01 62 80 01 11 80 01 55 63 84 00 64 04 01
0x10D20: 65 84 04 5F 02 05 AF 86 80 00 10 83 00 01 84 00
Und hier schon mal mit der neuen:
0x10CF0: 18 C3 86 80 29 42 86 57 80 20 11 83 00 5C 84 00 (teil der alten Intel_ID / teile der neuen Intel ID)
0x10D00: 5D 04 01 FF 5E 13 E4 14 12 43 3C 10 55 60 84 00 (Broadcom_ID über den die Checksumme wieder angeglichen wird)
Nun gehts ans rechnen der Checksumme.
Hier mal das Beispiel meines Helfers. Die 86 80 43 10 EF 86 80 22 25 habe ich benutzt um meine ID´s auszutauschen.
Also 86 80 43 10 EF 86 80 22 25 gegen 60 12 90 38 EF CF 17 14 00 tauschen.
Die e4 ff 14 20 43 3c 10 f4 12 habe ich benutzt um die Checksumme wieder anzugleichen.
Also e4 ff 14 20 43 3c 10 f4 12 gegen e4 ff ec 45 69 58 1e 19 12 tauschen.
Die Checksumme des Bios berechnet sich über die Summe aller 4Byte Blöcke. Als Ergebnis kommt wieder eine 4Byte große Zahl raus.
Man mußt du die Checksumme eben relativ zu der Stellenwert-Änderung
anpassen. Simple Addition und Subtraktion mit Hex-Zahlen reicht da
ansich aus.
Stellenwert auffüllen wegen der 4 Bytes Blöcke
00||86||80|||43||||10|EF||||86||80||22|||25
00||60||12|||90||||38|EF||||CF||17||14|||00
=================================
00,-26,-6E,+4D,+28,00,+49,-69,-0E,-25
Alle negativen Werte fehlen in der Checksumme, und alle positiven
Werte sind zuviel. Also muss man die entsprechend Werte in das Gegenteil umwandeln.
00,-26,-6E,+4D,+28,00,+49,-69,-0E,-25 wird zu
00,+26,+6E,-4D,-28,00,-49,+69,+0E,+25
14 20 43 3c 10 f4
00+26+6E-4D
-28 00 -49+69
____________+0E+25
==========
ec 45 69 58 1e 19 Ich versteh nicht so ganz wie er auf + oder - vor den Werten gekommen ist. Er zieht den niedrigen Wert von hohem Wert ab.
Hab ich nachgerechnet, und das stimmt.
00||86||80|||43||||10|EF||||86||80||22|||25
00||60||12|||90||||38|EF||||CF||17||14|||00
=================================
00,-26,-6E,+4D,+28,00,+49,-69,-0E,-25
Die Umwandlung inst gegenteil ist mir logisch.
00,-26,-6E,+4D,+28,00,+49,-69,-0E,-25 wird zu
00,+26,+6E,-4D,-28,00,-49,+69,+0E,+25
Die Rechnung von der Sache her auch, nur ich bekomme ein wenig was anderes raus. Seine Rechnung:
14 20 43 3c 10 f4
00+26+6E-4D
-28 00 -49+69
____________+0E+25
==========
ec 45 69 58 1e 19 Meine Rechnung:
14 20 43 3c 10 f4 ist der Wert mit dem gerechnet wird
14 20 43 3c
00 +26 +6E -4D
14 46 B1 EF
-28 00 -49 +69
EC 46 68 58
dann noch
10 f4
+0E+25
1E 19
Das ergibt
bei mir: EC 46 68 58 1E 19
beim H: ec 45 69 58 1e 19
So, und da liegt jetzt das nächste Problem.
Warum hab ich 46 und er 45 und ich 68 und er 69 raus.
Vom logischen her, würd ich sagen das hebt sich auf, aber irgendwie muss ja der Unterschied zustande kommen.
So, das wars erstmal mit meinen Ausführungen.
to be continued :crazy:
billi
Bei anderen Kunden im Warenkorb
ASUS M5A99FX PRO R2.0 ASUS P5Q SE PLUS ASUS KGPE-D16 ASROCK B75 PRO3 ASROCK 970M PRO3 ASROCK 970 PRO3 ASROCK FATAL1TY P67 PROFESSIONAL ASROCK FM2A75M-HD+ ASUS M5A78L-M LX3 ASUS P5N-T DELUXE ASUS KGPE-D16 ASUS P8Z68-V PRO ASROCK FM2A55M-HD+ ASUS P4P800-E ASUS ESSENTIO CM6650 (P8H67-M-PRO) ASUS SABERTOOTH X79 ASUS P8P67 WS REVOLUTION ASUS P8H67-M PRO REV.3.0 ASUS CROSSHAIR IV FORMULA ASUS A9RP ASROCK FM2A88M EXTREME4+ ASUS P5WDG2 WS PROFESSIONAL ASROCK FATAL1TY B85 KILLER ASUS CROSSHAIR IV FORMULA ASROCK X79 EXTREME9 ASROCK 970M PRO3 ASROCK B75M-ITX ASROCK FATAL1TY Z77 PROFESSIONAL ASROCK FATAL1TY Z77 PROFESSIONAL ASROCK 985GM-GS3 FX
Meist gesucht
Online Shop BIOS Boot CD BIOS Boot Diskette BIOS Boot Logo BIOS Boot USB Stick BIOS Chip Ein Ausbau CMOS Reset BIOS Hilfe BIOS ID BIOS Passwörter BIOS Pieptöne BIOS Software Tools 3. BIOS Update starten BIOS Update Anleitung BIOS Update Anleitung 4. BIOS Update fehlgeschlagen? 2. BIOS Update Methode wählen 1. Vorbereitung Hersteller, Typ und Version ermitteln BIOS Updates, Treiber, Handbücher, etc.
Beliebteste Artikel
CMOS-Batterie CR2032ACER ASPIRE T180interner LautsprecherSMD-PLCC-32 SockelASROCK Z77 EXTREME4ASUS P5W DH DELUXEASUS M5A78L-M/USB3ASUS P8P67ASUS Z9PE-D8 WSACER ASPIRE E380ASUS M5A99X EVOASUS CROSSHAIR V FORMULA-ZASROCK P67 PRO3ASUS CROSSHAIR V FORMULAASUS P8H67-M PRO REV.3.0ASUS M4A89GTD PRO/USB3ASROCK 970 EXTREME4ASUS CROSSHAIR IV FORMULAASROCK Z68 EXTREME3 GEN3ASUS M2N-SLI DELUXE