How to > HP BIOS MiniPCI Fix- nc6000/others

Don't ask how to hack password. (BIOS Passwords)
Post Reply
semi
BIOS Rookie
Posts: 35
Joined: Mon Oct 27, 2008 6:17 pm
Contact:

hi,

@ fa001
my congratulations! Could you please shoe me the exactly byte string
that crashed the ADDCC?

@ oddi
in principle you have to add the whole checksum difference (68 04 80 DA)
to your global file checksum. that means,
- if one value is positiv, exactly this value is missing on this local value.
- if one value is negativ, exactly this value is too much on this local value.

In your example:

Without changes: global file checksum is AD8E431B
With changes: global file checksum is 4589C241
=> the checksum differences are 68 04 80 DA

this means that all local values are too little.
So you must find an "unused" bytestring which you can
add the checksum differences to correct it globaly.
at best another miniPCI id from your compressed whitelist
that you dont need. In some specialcases, with only one ID on the whitelist like nx9420,
you must search for an ascii string that you
dont need. in example " BOOTWAK"

You cant find the 68 04 80 DA in your biosfile, cause its only
a calculated value.

I will show you the simple algorithm to calculate the checksum differences.

Original BIOS ID:
(1st)E6008680 (2nd)BF431086 (3rd)802225A3

OWN BIOS ID:
(1st)E6001418 (2nd)BF010214 (3rd)186025A3

E6008680
-(E6001418)
=======
00007268(1st)

BF431086
-(BF010214)
=======
00420E72(2nd)

802225A3
-(186025A3)
=======
68(-3E)0000(3rd)

=>

00 00 72 68
00 42 0E 72
+ 68(-3E)00 00
==========
68 04 80 DA => this is the checksum difference

If you add the local values to a bytestring you dont need, and change
this in your biosfile, it will fix the checksum global!

I hope your question is answered? If not, feel free to ask.

Cheers semi
oddi
New visitors - please read the rules.
Posts: 4
Joined: Mon Nov 17, 2008 8:50 am

very tnx, but i need solution about how find correct bytestring and copy to field : "Uncompressed bytes in compressed BIOS-file for correction "
tnx
semi
BIOS Rookie
Posts: 35
Joined: Mon Oct 27, 2008 6:17 pm
Contact:

ok, show me your whole compressed whitelist!
fa001
New visitors - please read the rules.
Posts: 9
Joined: Sun Dec 14, 2008 5:50 am

semi,

It appears that any lower case letter for a hex digit such as e4 instead of E4 entered into the "Uncompressed Bytes in compressed BIOS-File for correction" will cause a crash. I have used several different ones.
semi
BIOS Rookie
Posts: 35
Joined: Mon Oct 27, 2008 6:17 pm
Contact:

You are right fa001,

thanks for your help!

The fixed ADDCC is online...

Cheers Semi
fa001
New visitors - please read the rules.
Posts: 9
Joined: Sun Dec 14, 2008 5:50 am

Semi,

Installed your new version but get the following error,
"! C:\Documents and Settings\user\Desktop\ADDCC.rar: Invalid or corrupt authenticity information"

Is this a problem?

- Fred
fa001
New visitors - please read the rules.
Posts: 9
Joined: Sun Dec 14, 2008 5:50 am

Semi,

Perhaps it is a problem when I try to run the app I get the following,
"The application failed to initalize properly (0xc0000135). Click on OK to terminate the application."

So it will not run on my nc8000.

- Fred
fa001
New visitors - please read the rules.
Posts: 9
Joined: Sun Dec 14, 2008 5:50 am

Sorry, my bad! The second error is due to not installing .Net. I did know better.
- Fred
drieg
New visitors - please read the rules.
Posts: 1
Joined: Wed Feb 18, 2009 11:42 am

@semi

First of all many thanks for your great work and utilities you made!
I'm trying now to adapt my N620c F.16 BIOS to accept my Broadcom miniPCI Wi-Fi card according to your guide for nc6000. I was able to found whitelist at offset 75D7A:

Code: Select all

Offset     0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

00075D70   21 70 86 EB B0 40 01 F8  FF C3 8C 16 13 00 11 0E
00075D80   E5 FD 00 23 26 E6 00 0A  11 04 21 F7 75 10 03 14
00075D90   27 04 00 86 80 BF 43 10  86 80 22 25 23 28 27 C1
00075DA0   25 09 66 80 E1 C1 A7 FF  E4 18 E6 0F 84 F3 9B 00
00075DB0   EF E6 06 E8 1F 33 C0 80  FF CC 40 E8 EE 00 F6 C4
00075DC0   40 FB 75 72 60 20 10 83  F8 00 75 79 69 80 12 C1
00075DD0   A7 EB A4 33 C0 12 2A E7  40 B9 2E 9F 2A 55 E6 3B
So I can recognize at least 3 cards here:
8C16 1300 110EE5(FD)00
(2326)E600(0A110421F775100314270400)
8680(BF)4310 86802225

I have tested W400 HP Wi-Fi card (Atheros MB22g) and it is working:
PCI\VEN_168C&DEV_0013&SUBSYS_00E60E11

And I'd like to change 3rd card (probably Intel PRO 2100) to my Broadcom card:
PCI\VEN_14E4&DEV_4320&SUBSYS_12F4103C

Unfortunatelly I can't decompress my bios file. Neither "compdeconx.exe" nor "compdecw.exe" does not work with my bios file. I've tried remove initial FF values, I've tried change header to 00 10 01 00 hex (to match nc6000 bios header) but still no success. Probably N620c bios file is compressed in a different way than nc6000...

Could you be of any help? How should I proceed? Many thanks in advance...

Here's the link to N620c F.16 BIOS file:
http://h20000.www2.hp.com/bizsupport/Te ... 959-107818
semi
BIOS Rookie
Posts: 35
Joined: Mon Oct 27, 2008 6:17 pm
Contact:

hi drieg,

the N620c looks like a new bios variation. There are three parts in this bios file.

1. only FF bytes
2. an uncompressed bios-part, I don't know why or for what...
3. the compressed bios-part

I have found a very simple solution for you.

- open the rom.bin with a hexeditor
- search for the header 00100100 (compdecw.exe)
- delete all bytes before the header (exclude the header itself)
- save the bios file under a new name

Volai! The decompress routine will work very fine.

You can find your ID's as is usual in 00020100.dec.

00007290 75 10 04 00 86 80 43 10 86 80 22 25 86 80 43 10 86 80 27 25 00 00 00 00 u.....C..."%..C...'%....

Good luck
Cheers Semi
aviko
New visitors - please read the rules.
Posts: 3
Joined: Mon Mar 23, 2009 11:54 pm

Yesterday I found link to this thread on HP support site :) I readed few times and trying to underestand. Unfortunatelly Im more familar with hardware instead of software so I prepared stuff for experiments... Patient is nc4010.

I soldered plcc socket and make spare copy of original bios just in case (via hotswap). Whitelist pulled from extracted latest bios 68BAS:

Code: Select all

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

000073D0   00 F0 66 61 07 C3 E8 58  A6 C3 E8 A8 A6 C3 E8 55    đfa ĂčX¦Ă訦ĂčU
000073E0   A7 C3 E8 6F A7 C3 E8 8B  A7 C3 8C 16 13 00 11 0E   §Ăčo§Ă苧Ì     
000073F0   E5 00 8C 16 13 00 11 0E  E6 00 86 80 43 10 86 80   ĺ Ś     ć †€C †€
00007400   22 25 86 80 43 10 86 80  27 25 E4 14 20 43 3C 10   "%†€C †€'%ä  C< 
00007410   F4 12 86 80 20 42 3C 10  F5 12 86 80 20 42 3C 10   ô †€ B< ő †€ B< 
00007420   F6 12 E4 14 19 43 3C 10  58 13 50 53 51 52 56 1E   ö ä  C< X PSQRV 
00007430   B0 24 68 C0 EB 9A 76 99  00 F0 8A C8 80 E1 0F 74   °$hŔëšv™ đŠČ€á t
00007440   3C B8 01 00 D3 E0 B9 20  0C 85 C8 74 30 8B D0 F7   <¸  Óŕą  …Čt0‹Đ÷
00007450   D0 23 C8 8B D9 BE 00 F0  8E DE BE A0 F8 B9 90 00   Đ#Č‹Ůľ đŽŢľ řą
mb_1986
New visitors - please read the rules.
Posts: 1
Joined: Thu Mar 26, 2009 2:15 pm

I have a problem...

Notebook: HP nx6125 with 68DTT bios

I downloaded bios update - version F.13 from ftp:// ftp. hp. com/pub/softpaq/sp41001-41500/sp41452.exe

I found: E4(7F)1419433C105813(8300D5) - this is original broadcom card,
but I do not see any other cards (???)...

I changed it to: 14(7F)180103581433E9(8300D5) - GN-WI01GS - Gigabyte card...

I fixed the checksum: 3D524F4D204261(FF) -> 7736478A204261FF...

And now bios give me an error: 104-bla bla bla for both cards...

I don't know what is wrong...

Please help... THX

Solved :)))
Now works :)))
Problem was bios F.11, on F.13 it works :)
Thank you very much for this topic :)))
semi
BIOS Rookie
Posts: 35
Joined: Mon Oct 27, 2008 6:17 pm
Contact:

@mb_1986,

my congratulations!

@aviko,

I dont know what exactly your problem or your question is!?

Sure you can basically fix your checksum with an arbitrary Byte-String.
But its not so clever, if you take a Byte-String that appears
more than once in the uncompressed bios file. And its not so
clever too, if you take a Byte-String that is not in the same
uncompressed bios file.

It is also only clever, if you find a "lonly" Byte-String in the
00020100.dec.

But you can do it as you want, than you can check it exactly!

If you change an arbitrary value, a String, in the compressed file.
ONLY this part in the uncompressed file, is allowed to be changed!
If there is more changed, it doesn work, or you stackpointer runs
to nirvana... and your engine will crash or dont boot!

My advice to you: To fix your checksum, use the another ID's that
you dont need. Its very safe and its very unusual that you need all
the six or eight wireless cards atonce! Normaly, only one...

Cheers Semi
aviko
New visitors - please read the rules.
Posts: 3
Joined: Mon Mar 23, 2009 11:54 pm

well, finally i decided to edit only these parts as in tutorial and it works fine
Fisch
New visitors - please read the rules.
Posts: 2
Joined: Fri Apr 03, 2009 7:49 pm

hi, i want to patch my hp nc4200 for a atheros card

but, i cant find the complete intel card in the bios file and also cant decompress it

its the latest bios F.0F >> tiny.cc/akNg8

Code: Select all

PCI\VEN_8086&DEV_4220&SUBSYS_12F6103C           &REV_05\4&AD1B67F&0&20F0     intel 

_____________ 

PCI\VEN_168C&DEV_0013&SUBSYS_E9111458           &REV_01\4&AD1B67F&0&20F0    atheros 

thanks for helping / danke für eure Hilfe

this is the third day in stand by :roll:
Post Reply