Need a utility decompress and recompress Phoenix BIOS on HP notebook.
I need to decompress and manually edit a few values in the BIOS image and then recompress it and flash the BIOS. This is done to add my new wireless card to the whitelist.
It is awful of HP to practice hardware whitelists. The images are in Phoenix WinFlash .wph format. phoenixdeco does not work with images for my system. Phoenix BIOS Editor does not work with images for my particular systems. HP created classes that are not in the original Phoenix specification and are not interpreted by Phoenix BIOS Editor, and the BIOS is not properly rebuilt because of that. I just need a simple utility that will decompress the image into separate ROMs by class and then compress them back into the image once I'm done editing. I really need help with this. For now I have no wireless. Thanks in advance. |
you have not named the model etc but search for Mark Wrightson in this forum post and check the knoppix solution offered.
http://forums11.itrc.hp.com/service/...hreadId=567021 I do not have your hw BTW |
Quote:
This thread is about BIOS tools, not about writing to EEPROM of wireless cards. I have a 0 reply thread about that which I posted like a week ago. This thread now has replies so I guess there is no chance I will get a solution. Thanks anyway. |
look I did read your question so felt if you could trick the current bios into thinking your wireless card was one supported by the bios....all would be good.
so, now you no longer have a zero reply post.....why not install virtualbox...or any other emulator...and run PBE from there.....or install wine and see if it works from within your current systems? However, not that you need me to warn you....but I still will....it looks like you need to care a lot of care http://www.wimsbios.com/phpBB2/bios-...rams-vf36.html |
http://forums.mydigitallife.info/showthread.php?t=172
post 7 is the instruction and post 9 is telling a replier like me....to read the darn post |
Quote:
So again as my original question states, need some utility that decompresses and recompresses and does nothing else. Yes, PBE does work with some recent HP notebooks but it does not work with a lot of them. Thanks for your continued assistance. I'm just about ready to get myself another laptop, although specifications of this one are hard to beat or match, meaning this is about as powerful as they come right now. |
ok a forewarning on new pc with phoenix
http://linux.wordpress.com/2007/04/1...-except-vista/ lq search for wph gives an acer post that you may like to read http://www.linuxquestions.org/questi...?highlight=wph it mentions uniflash. check out the supported hw http://www.uniflash.org/hardware.htm ------ a diff slant is linuxbios now called coreboot. use the links to see if your motherboard and chipset are supported if you wish http://www.coreboot.org/Welcome_to_coreboot |
Quote:
The output I need from such program is a bunch of files, which all have purpose, ACPI settings, CPU lists, etc, all in separate files, the sum of those files is greater than the size of the image (once again the image is an archive). One of those files contains the PCI whitelist. I've looked at the part of code in the PBE temporary files, I see it, I modify it. Too bad PBE can't put my BIOS back together even if I don't modify anything. I know what uniflash is, its just a universal flasher. Too bad it does not perform compression operations. I've been at this for about a month now... So unless there is an expert on Phoenix BIOSes on this forum it might be time to call it quits. Theres a cross platform program called PhoenixDeco. It does decompression. It doesn't work. At least it doesn't interpret the image for my machine. Not surprising considering the PBE result. I guess HP won this round. I've spent quite a few hours on the line with their support and I finally got their lame excuse for the whitelist. "We discourage the end user from installing non-approved devices that could potentially damage their system." I guess I'm going to start looking for a new laptop now. Looking for something of Intel dual core and nVidia video card with 256mb+ non-shared. Current specs: Intel Core Duo 1.73GHz 1GB DDR2 667Mhz nVidia GeForce Go 7600 256mb, onboard non-shared two 120GB SATA hard drives (yes, two, in a laptop) Lightscribe DVD-RAM 17" widescreen 1440x900 full keyboard, with the number pad It weighs like those desktop replacement class laptops, but its a lot slimmer. Tough to find something matching... nVidia is a must, I've had too many issues with ATI linux drivers. |
hmmmm, can you upload your wph to a file sharing site so others can have a peek?
I realise you have done a lot of research your self and I have just googled. 1) how about archive unpackers unzip and zip to repack? 2) or cabextract? http://www.cabextract.org.uk/ I am not sure but it may unpack wph according to this http://209.85.175.104/linux?q=cache:...lnk&cd=1&gl=au 3) ms product Phlash16.exe http://209.85.175.104/search?q=cache...lnk&cd=3&gl=au |
Quote:
http://rapidshare.com/files/100342685/Bios.wph.html Phlash16.exe = WinFlash = WinPhlash, all names for the Phoenix flasher program. This is what I use to flash the BIOS. It does nothing else. Phlash16.exe is the 16bit version is for use with DOS based BIOS recovery diskette, only functions with certain flavours of DOS. I didn't mean for you to understand me literally, the BIOS image is not a common archive we use but similar in a way. No unfortunately cabextract does not work with Phoenix BIOS images. PhoenixDeco is the tool intended for this, but it doesn't work with the HP image for some reason. And afterwards I still have to have a tool that puts it all back together. |
I doubt Phoenix and other BIOS manufactures will or are creating Windows dependent BIOS. These BIOS manufactures creates a BIOS framework or skeleton for motherboard developers to modify and tweak. If HP is doing what you are saying, you are paranoid. I think the new hardware should work just fine in Linux, but may not work in Windows because how Linux can get around problems in the BIOS.
Putting a wireless NIC in a computer introduces RF interference. Not all wireless NIC have good enough shielding, so it is more likely that HP is doing you a favor. Also the antenna may not match. You will lose efficiency and create over heat problems of the NIC when the RF antenna does not have the correct impedance that the card uses. I suggest use a PCMCIA (Cardbus) or ExpressCard to upgrade the wirless NIC. I have Intel 3945 WiFi NIC that connected internally and I am planning for future WiFi upgrades is to use a ExpressCard. I suggest backup the notebook BIOS and find if coreboot or LinuxBIOS supports your hardware (Northbridge, Southbridghe, Super I/O, etc). If the chip that contains the BIOS can be removed, replace it with an upgrade version that can store more data. IMHO, rapidshare sucks for sharing data. Use something better like mediamax. |
... and if you love the smell of burning stuff in the morning you could try http://www.richud.com/HP-Pavilion-104-Bios-Fix/ or http://joshuawise.com/Wireless-Whitelist.html
|
unSpawn, I love the smell of napalm in the morning
woohoo unSpawn to the rescue. |
Quote:
The second method is for mini PCI and I have mini PCI Express. There is probably a pin to do that as well but I do not like the idea of having to flip a switch every time I reboot... As this is a laptop, I use hibernate feature of both linux and windows. Hibernation envolves a complete shutdown and a boot. So every time I close and open the laptop I would have to hit the switch, or else encounter the 104. Sadly neither solve my problem. |
Quote:
Now I found those as well, and I change the IDs to those of my Atheros card, however there is no tool that can assemble my BIOS back together, and the only way I can get it apart with is PBE which does not understand some things in this BIOS. Now this might sound crazy and reckless to you, but I did in fact insert the card while the system was in standby, and guess what? It works. So its just the BIOS whitelist check thats the issue. I would really appreciate if someone could help me out at decompressing the BIOS image and putting it back together. I still have a lot of hope left. Thanks everyone for your support so far. PS I think those alternative BIOS solutions are a bit of a long shot. I am an advanced user but not quite that hardcore. After all one board is already bricked. Lets try to do it in a less intrusive way for now. *EDIT* The BIOS chip is really just an SST 1Mbyte flash chip. Its a 40 pin TSOP/SOP package and I haven't found a single BIOS service in continental USA that programs those.(I did find a chinese dude in Canada that does it though) Everyone does 32 pin chips. Just thought I throw it out there. 1Mbyte would probably be enough for pretty much any BIOS solution though. |
I think you are referring to me...so I will sign off with one remark
if you have a bios flash file....and can reflash....sst is mentioned in uniflash so there is the possiblility that you try...(yes I know u won't) uniflash and if it fails you restore the bios with your winflash file |
Not that it helps right now but I'd like to remark OT that this thread could have gone much faster if you provided all specs upfront.
|
Quote:
I'm not quite sure where the confusion is coming from. If you mean the bricked board I mentioned, I already have another one and I am back in business. Really, I don't need another flasher. This thread is specifically dedicated to decompressing the BIOS image, and putting it back together once it is modified. The reason why it is done is because the code is scrambled by compression and cannot be modified directly in the image as it is. Kind of if you were to compress a picture into a common archive like .zip and tried editing the archive with a graphics editor. As I understand it, the BIOS extracts itself into RAM at boot time. |
http://www.paul.sladen.org/thinkpad-...d-pci-ids.html
this section called Get the the point! may excite you. even tho its talking about a diff hw...it says there is a global checksum. " In short, if you change a value upwards (add), then you need to subtract the same difference from the correctly aligned byte of the checksum." |
http://www.coreboot.org/Tyan_S2891_Build_Tutorial
ignore the fact its coreboot instead look at the use of cat to join separate bios roms together and look at the use of strings to search certain things. |
Quote:
PhoenixDeco(phnxdeco) throws this in the output: Code:
Filelength : 100D26 (1051942 bytes) But forget that, I have access to Hex Workshop. The ID for a compatible Intel card is 8086:4222/135B:103C, thats VEN:DEV/SUBSYS. So the value for VEN and DEV would be 86802242. There are 0 instances of those values in the image. To verify I searched for 8680 by itself, 21 instances, no DEV values after. There is no checksum in the format shown in that article either. HP did quite a number on this one eh? At this point you may question whether I have a Phoenix BIOS... I'm quite sure I do, in the corner of the splash screen at boot it shows the Phoenix Technologies logo. Just like this one: http://www.phoenix.com/PhoenixTPLT/i...ommon/logo.gif And PhoenixDeco shows the basic information about the image. Thanks for the continued assistance. PS This is a 6 month old BIOS, I'm going to see if I can find the oldest compatible BIOS out there to see if I can get something out of that. ...Actually I just did, earliest is May 10th 2006. Same result. PhoenixDeco can't do anything with it, no hex values of VEN&DEV found directly, no checksum string. I'm really stuck now. Right now I'm trying to find the PhoenixDeco(phnxdeco) project page to see if there is a newer source available. So far I find only Debian&Ubuntu package information. Still that might not bring any result even if it gives me the section locations and actually extracts it. I still have to have a way to put it back together. So I'm still stuck. ... I disabled the bootsplash and it shows that the BIOS is of Phoenix TrustedCore product line. No version or anything. |
http://hermann-uwe.de/debian
is the maintainer pkge is here http://packages.qa.debian.org/p/phnxdeco.html |
Quote:
Of course I know how to adapt the package. |
Quote:
If you still insist of customizing your BIOS code, I suggest use coreboot for better results from what I am reading. Of course check to make sure that coreboot supports your hardware and that you have spare BIOS chips. If the BIOS is soldered, you will have to get a soldering iron designed for SMT or sensitive devices. There are plenty of programing devices for all kinds of EEPROM, FLASH, PLD, GAL, and several other programmable chips. Just need a 40 pin TSOP/SOP clamp. |
Hello there. I think I can help you. Please try using phnxdeco from here:
ender.in/bios.tools/ (can't make it a link, my first post and forum disallows that) Or take the module with whitelist extracted by Phoenix BIOS editor. Modify it and use prepare.exe from Phoenix BIOS editor (if you don't have one, Intel's download center has a copy for you) to compress the module. You'll have to create rom.scr with following contents: COMPRESS LZINT BIOSCODE MYMODULE.ROM Then run prepare.exe rom.scr and it will create MYMODULE.MOD - the compressed version. Repeat this process for the _original_ (unchanged) module. Compare filesizes of original.mod and changed.mod - if they differ, find the whitelist again and modify some other card IDs until it compresses exactly the same. Then use phnxmod.exe from the linked page, or use some hexeditor to replace the module, and you should be done :) Or maybe not, chances are that the module containing whitelist has more than one "block", that it's scattered at more places of the original BIOS, and that will need some more work. Will hint that later, if needed. And if crisis BIOS recovery works for you (with normal BIOS, not the one "destroyed" by PBE), I'd like to ask if you could flash a BIOS modified by me, I still need to test the way of making module larger/smaller and my notebook does not support any way of BIOS recovery (ThinkPad...). |
...Where the ''problem'' is coming from
Quote:
NO manufacturer TODAY is going to tell you everything you might want to know about their bioses. They've gone with Phoenix' plan to make laptops really really really secure from theft of their DATA, even as the ''laptops'' themselves are getting smaller and lighter and easier to steal, physically. The password encryption routines are in there, obviously. They do not want you to: a) find them; b) unencrypt them; c) reverse engineer them. All the security that's possible hangs on the security of this mechanism. If you could crack it, so could virtually anybody else. Not gonna happen. Just look at all the posts about resetting bios passwords by ''removing ...battery'' or ''moving ... jumper''. Guys, they've been storing them in the keyboard controller for TEN YEARS already. If you don't understand trapping I/O on ports 70 & 71, you've got a LONG way to go! And, there's a bit somewhere, SOMEWHERE, saying 'password set' so flashing a new bios usually does nothing at all. If your are 16 and elite, that will hardly be an impediment. Old guys like me tend to be too linear and too literal. As in ''my, that's stupid!'. Yeah ... like a fox. So ... Think like a fox. There's a door someplace where they get the eggs out, and something where they put the food in. Not sure about the chickenshit. But things go in, things come out. Code can execute in the CPU, of course. But what about in a smart peripheral controller? Nothing stored anywhere to poke around in. Looks like just another register getting initialized. If you insist on working on the innards of the current crop of laptops, this is what you're up against. Me, for now anyway, I'm sticking with the older ones. Easier to hack. Bill |
All times are GMT -5. The time now is 04:44 AM. |