mikrocontroller.net

Forum: PC Hard- und Software Checksumme berechnen in Biosfile!


Autor: Spocky17 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

hab schon ein paar Threads hier im Forum durchgeschaut zum Thema 
Checksumme berechnen bzw. CRC.

Habe hier ein HP NX5000 Notebook, welches nur mit HP zertifizierten WLAN 
Karten funktionert.

Habe das aber vor dem Kauf einer neuen Karte nicht gewusst.

Deshalb hab ich etz natürlich eine nicht zertifizierte Karte hier liegen 
und kann damit nix anfangen, was natürlich sehr ärgerlich ist.

Im Internet hab ich dann auch diverse Anleitungen gefunden, wie man das 
Bios ändern kann, damit eine "nicht-HP" Karte funktioniert.

Nur ist leider bei mir in der Bios Datei anscheindend ein CRC-Check 
vorhanden.

Habe schon versucht, laut Anleitungen die DEV ID und SubsysID in die 
entsprechende der meinen Karte abzuändern & den CRC-Check erstmal außer 
Acht zu lassen.

Doch besteht dann weiterhin die Fehlermeldung am Start, dass eine nicht 
zertifizierte WLAN-Karte drinnen ist.


Dann hab ich auch noch aus versehen bei einem weiteren Versuch den 
CRC-Check mit Code von der DevID überschrieben & dann ging gar nix 
mehr...


Weil ich einschicken & reparieren lassen irgendwie teuer & auch 
langweilig finde, hab ich mir einen Willem Eeprom flasher geholt.


Bios-Chip ausgelötet, Sockel aufs Board, neu geflasht mit original Bios 
und wieder eingesetzt.



So, soviel zur Vorgeschichte... ;-)


Mein eigentliches Anliegen ist, da ich sehe, dass hier viele sind, die 
sich mit der Materie auskennen, nicht so wie ich alles nur durch 
probieren herausfinden, hoffe ich dass mir jemand helfen kann.



Hier mal der Code von der HP zertifizierten Intel WLAN Card:

86 80 43 10 86 80 22 "F5" 25


Die "F5" sind der CRC-Check


Hier der Code von einer anderen zertifizierten Karte:

8C 16 13 00 11 0E E5 "FF" 00


"FF" ist mal wieder der CRC-Check.



Habe schon probiert, mit zusammenzählen usw. der einzelnen Hex Stellen, 
doch ohne Erfolg. Ich weiß einfach nicht wie man auf das F5 oder FF 
kommen soll.


Denn ich würde dann gerne eine dieser beiden DevIDs & SubSysIDs mit der 
von meiner Karte ersetzten und den passenden CRC-Check dazu generieren.


Doch dazu müsste ich erst, wie gesagt, wissen wie ich auf den des 
Originals komme.


Ich sag schonmal DANKE für eure Hilfe & wenn jemand weitere Infos 
braucht einfach sagen!


Grüße!

Spocky17

P.S.: Hab das Bios File mal angehängt!

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Woher weißt du denn, dass es eine CRC Checksumme ist? Und eine CRC 
Checksumme bildet man nicht durch "zusammenzählen".

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit GCC hat das nichts, aber auch wirklich gar nichts zu tun.
-> Verschoben

Autor: Spocky17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Simon

Das es eine CRC-Checksumme sein soll, hab ich im Internet gelesen.

Und wie man die bildet, weiß ich nicht, sonst würde ich mich nicht hier 
ans Forum wenden.

Ich weiß nur soviel, dass es etwas mit Polynomdivison zutun hat.

@ Rufus

Sorry, typischer Anfängerfehler. Einfach mal irgendwohin posten. ;-) Der 
MOD wirds schon richten. gg

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

um die CRC zu bilden benötigst du auf jeden Fall noch mehr Wissen
über den Algorithmus, mit raten wird das nichts. Du kannst bei
CRC z.B. das Polynom verändern, einen Startwert variieren,
die letzte XOR-Verknüpfung variieren, die Bytes in umgekehrter
Reihenfolge lesen und und und...

Ich kann Dir somit bei deinem Problem nicht helfen, aber mich
interessiert der "Fall" an sich. Habe ich das richtig verstanden,
dass HP ein Notebook verkauft, welches ausschließlich mit
bestimmten zertifizierten WLan-Karten läuft?

Um welches HP-Notebook handelt es sich?

Wie wird das wohl technisch realisiert? Das erkennen und
installieren einer eingesteckten USB-WLAN-Karte läuft ja
über das OS und nicht über das BIOS...verstehe ich nicht!

Weißt du, welchem Zweck diese Gängelei dient und wie das ganze
von HP gerechtfertigt wird?

Über HP höre ich in letzter Zeit viel schlechtes und ich bin selber
vom Service und auch von der Qualität gerade bei Notebooks auch
nicht mehr begeistert, da spricht man nur noch mit Leuten, die
man nur mit viel Mühe verstehen kann, so dermaßen schlecht ist
das Deutsch! So etwas kannte ich früher nur von 1&1 und ähnlichen
Buden, aber scheinbar kann sich auch HP der Sparwut nicht mehr
entziehen...

Autor: Spocky17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit den zertifizierten WLAN Karten (mini PCI) ist nicht nur bei HP 
so. Auch bei diversen anderen Herstellern kann man nur gewisse "OEM" 
Geräte im Laptop verwenden.

Die haben anscheinend mit den Herstellern gute Geschäftsverträge um dann 
die mini PCI Karten teuer an den Kunden zu verkaufen.

Denn wenn ich eine von HP zertifizierte mini PCI WLAN Karte wollte, 
kostet mich die im Fachgeschäft zwischen 80-140€...

Bei Ebay gibts die so um die 40-50€.

Also ganz schöner Wucher & Kundenverarsche


Wenn man so die anderen angebotenen Karten ansieht, gibts schon welche 
mit einem gutem Chipsatz für um die 20€ inklusive Versand.



Auch gibt es die gleichen WLAN Karten die von HP angeboten werden auch 
ohne HP Zertifizierung. Diese scheinen sich anhand der Device & 
Subsystem ID zu unterscheiden.


Anhand dessen erkennt auch das Notebook, welche Karte in meinem Laptop 
eingebaut ist.


Im Bios sind nur eben diese speziell von HP zertifizierten Karten 
eingetragen und das Bios vergleicht beim Start die Device ID im Bios mit 
der der eingebauten Karte.



Bei älteren Modellen konnte man einfach die DeviceID im Bios gegen eine 
von einer non HP-Karte tauschen & dem Laptop wird bei der Überprüfung 
eine zertifizierte Karte vorgetäuscht.


Leider ist dies bei meinem Bios nicht mehr möglich, da am Ende der 
SubsysID ein unbekannter Code eingetragen ist. Jedesmal vor den letzten 
2 Hexstellen.


Bei meinem Laptop handelt es sich übrigens um ein HP NX5000.

Autor: Heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Achso, es geht um die Onboard-Wlan-Karte, die ausgetauscht werden
soll und die dann quasi auch über das Dienstprogramm bzw. einen
Schalter ein- und ausgeschaltet werden kann...dann verstehe ich
das Dilemma...

Naja, wenn du viel Zeit hast: es sind ja nur 256 Möglichkeiten...

:)))))))

Autor: Spocky17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann es sich bei dem angehängten Code auch um Paritätsbits handeln?


Und gibt es nicht irgendeine Möglichkeit das Ganze durch 
Formelumstellungen auszurechnen?

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Spocky17

eindeutig zwei mal ja zu deinen beiden Fragen!

Du mußt halt nur die Formel wissen.


PS: Wenn du die Formel zur Errechnung der Lottozahlen für die nächste 
Ziehung auch herausbekommen hast (so wie die Formel zur Ermittlung 
deiner Prüfsumme), dann melde dich mal bei mir. Ich probiers dann mal 
aus, ob die Formel stimmt.

PS: Es gibt aber noch eine andere Möglichkeit: einfach mal das BIOS 
disassemblieren, und dann mal schauen wie der Prüfalgorithmus arbeitet. 
Du kannst dir dann ja den Algorithmus zur Generierung der Prüfrotine 
daraus herleiten, oder (wenn du es dir einfach machen möchtest) die 
Prüfrutine einfach deaktivieren ....

Autor: Spocky17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit den Lottozahlen wäre natürlich auch nicht schlecht, doch glaube 
ich eher die Formel für die Prüfroutine herauszufinden... lool


Das Bios disasseblieren würde ich gerne machen, doch habe ich bis jetzt 
kein passendes Programm dafür gefunden.

Es heißt, es soll ein modifiziertes Phoenix Bios sein, doch mit dem 
Phoenix Bios Editor lässt sich das Ganze nicht öffnen...

Und auch etliche andere Bios-Tools können mit der Datei nichts anfangen.


Eventuell gibt es ja anderweitige Software mit der das Möglich ist, nur 
kenne ich mich da zu wenig aus.

Habe hier noch Visual Basic usw. liegen. Ein kleiner Tip wäre nicht 
schlecht. ;-)

Autor: Der Simulant (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es die Karten 2x gibt: Dann könnte man was vergleichen?

Autor: Spocky17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welche Karten? Die mini PCI WLAN Karte? Davon habe ich nur jeweils eine 
zur Hand.

Einmal eine registrierte Intel BG2100 (nur wireless b) und eben die neue 
von TP-Link mit Atheros Chipsatz.


Habe auch gelesen, dass man über Linux die ID direkt auf der WLAN Karte 
ändern kann. Eventuell werde ich das probieren, wenn ich anderweitig 
keine Lösung finde...


Mehr als kaputt gehen kann die Karte nicht & ich müsste mir ja sowieso 
eine zertifizierte Karte holen, wenn es fehlschlagen sollte.

Autor: Spocky17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kleines Update:


Habe gerade auf einer Seite jemanden gefunden, der es angeblich 
geschafft hat die Checksumme für die neue ID zu berechnen und den Code 
im Biosfile zu ergänzen.


Auch scheint das HP Bios komprimiert zu sein, welches sich mit einem 
Tool für Linux decomprimieren lässt.


Es scheint auch eine 4bit Checksumme zu sein, soweit wie ich das aus dem 
Text entnommen habe.


Werde auf jedenfall weitere (Miss-)erfolge hier posten. Es gibt 
sicherlich weitere HP User die auf der Suche nach einer Lösung sind.

Autor: Spocky17 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sooo, bräuchte mal eure Hilfe wegen einer Berechnung.


Und auch etwas Text, das ist von jemandem, der es geschafft hat das Bios 
erfolgreich zu ändern.


Leider blicke ich da nicht so ganz durch, denn ich komme auf ein ganz 
anderes Ergebnis wenn ich das nachrechne...




Zitat:

Alle negativen Werte fehlen dir in der cksum, und alle positiven
werte sind zuviel. Also mußt du entsprechend jeweils das gegenteil
summieren.

00,-26,-6E,+4D,+28,00,+49,-69,-0E,-25 wird zu
00,+26,+6E,-4D,-28,00,-49,+69,+0E,+25



soweit hab ich das verstanden & auch mit meinen Hexwerten angewandt, nur 
dann komme ich einfach nicht weiter




14 20 43 3c 10 f4   <---- ist ein Teil vom HExcode im Bios der durch das 
Ergebniss ersetzt werden soll.



14 20 43 3c 10 f4
00+26+6E-4D
-28 00 -49+69
____________+0E+25
==========
ec 45 69 58 1e 19


Nur wie man auf dieses Ergebnis hier kommen soll, versteh ich nicht, 
denn wenn ich das versuche auszurechnen, so wie es da steht, bekomme ich 
was ganz anderes raus.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.