Jump to content


  • Content Count

  • Joined

  • Last visited

About mbeifuss

  • Rank
    InsanelyMac Protégé
  1. That HP link isn't working. Can you tell if it is a 2MB BIOS? If so I haven't worked on that and I don't have a lot of time right now to work on it.
  2. I don't see any of the markers that would indicate this code has the traits that would allow us to modify it. I do see what looks like a list of wifi cards. Is this a 2MB BIOS? I didn't spent a lot of time on the 2MB so I never got anywhere with it. If not do you have a link to the full bios so I can take a look?
  3. There are two bios files in the zip from HP. I don't know which one that is of interest. It appears that they have changed things up a bit. However the file 30F2F38.FD, which is the one I looked at has the same logic. Following the instructions in the first post replacing the searches and debugs with this search for these bytes in Winhex: 00 00 00 e8 72 ff ff ff 84 c0 75 7e 48 There should only be one hit. change the 75 to eb. and finish the instructions. If you need the other file you can try the above search string and see if you get a hit.
  4. You're welcome. You should however probably use your own machines BIOS as you may lose some functionality or stability. Cheers,
  5. It appears that there are two sizes of Insyde BIOS (1MB & 2MB). The 2MB is a completely different animal and I'm currently looking into it to see if I can find where it does the test for the wireless cards. It may take awhile as the tools aren't great. I could use a good 80x86 disassembler one where I can save the mnemonics to a file so I can use search tools. Any one know of a good one (free would be good).
  6. I have figured this InsydeFlash thing out. I used the F.34 BIOS for a Compaq Presario C700 series. And using all of the tips on how to use the EzH2O and WinHex tools, I was able to figure out the byte that needed to be changed to ignore the PCIe wireless whitelist altogether. After not being able to find my subsys codes, I started looking around a bit. I found the 104 - Unsupported wireless network device detected string in the memory dump and the Microsoft EXE signature just above which lead to the breakthrough (at least for me). What follows is a general procedure to allow you to modify your own BIOS safely (I hope). 1. obtain your bios.fd file obtained from HP (or whatever manufacturer) 2. use Insyde BIOS editor - EZH2O (I used EZH20 3. run exh2o.exe, open the file bios.fd 4. run WINHEX 5. Tools -> OpenRAM -> Ezh2o -> Entire Memory 6. Find HEX Values -> «31 00 30 00 34 00 2d 00 55», this should be the be the first part of the '104-U...' error string in wide character format (2 bytes/char) see step1.jpg. 7. from here search up and find HEX values «4d 5a», you can just scroll up a few pages till you see 'MZ' in the ASCII pane. This is the code that MS uses for start of an EXE. Somewhere between here and the 104 string is where we need to find and modify the JNZ (byte code 75) 8. You will notice that there is a lot of blank space around and below the 'MZ', this is header information and is of no interest. Scroll down till the ASCII pane no longer is mostly blanks, about a page, you should see «55 8b ec», this is the start of the program and is setting up the stack 9. Now click on the 55 and drag the mouse down to the next 'MZ' code about 1-2 pages on my BIOS, and then click Edit -> Copy Block -> Into New File and name the file Something.com. The .com is important as we will load it with debug. Refer to step2.jpg. 10. Open a command prompt and navigate to where you saved the file and type debug something.com, you should get a '-' prompt, type u and hit enter and you should see something like this. See step3.jpg. The first column is memory addresses, the 2nd column is instruction bytes and the rest are Intel mnemonics. 11. Now we need some elementary assembly skills to find what we are looking for. Debug will show the mnemonics for the instructions. Debug doesn't handle 386 instructions well so you may see a few ??? but we should be able to find what we need. Look for a test al,al followed by a jnz {address}. The unassemble should have addresses on the left and they should correspond to the addresses in the debug so you can then -u {address} to see what happens at the jump to locations. See step4.jpg. 12. Now that we know what to change write down a about 6 or so of the bytes ending with the 75 and the following byte (27 in the step 4 example) and go back to WinHex and from the start of our program (the «55 8b ec» bytes) search for the bytes you recorded. Make sure everything around matches your debug window and replace 75 (JNZ short) with eb (JMP short). eb is an unconditional jump and will exit the routine so we don't get to the infinite loop. See step5.jpg. 13. In WinHex save your change by clicking on the disk icon 14. Switch to EzH2O, File -> Save AS 15. Put your modified BIOS (and only that BIOS) where the flash utility can find it and start InsydeFlash and let it do it's thing. 16. Sometimes after flashing the machine may appear bricked but turn it off remove power and battery and then reapply power and turn it on. If it still doesn't come up Google for the procedure to use a USB memory stick to get your computer back. Might be a good idea to prepare the flash drive before you flash your BIOS. I have attached my F.34 flash file that I fixed. You can compare that to the one from HP in WinHex to see or use my modded BIOS. 30d9f34mb.zip Cheers, Mark