Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

HP doesn't want to allow people to use any wireless card other than their own by creating a device-id whitelist in the bios. I want to use an atheros card which won't make it past post (however, if I hot-plug it in after post, it works fine). So I have two routes to take..

I want to edit the most recent bios update for my laptop and add the new card's device id's to the wireless whitelist. The bios is insyde, and on previous model laptops.. downloading a bios update simply gave you the FD file which you could edit in EZH2O. However, the new bioses are giving a .bin file that I'm unsure of how to extract the fd file from. Any thoughts from the hivemind?

Failing that, I could try dumping the eeprom of the HP card, and then write an appropriate code to the new card to allow it to bypass the bios check. I know there will be further issues as far as drivers go.. but I just need help with this part. So far, I've been unable to get the linux ethtool to work for me. Any other ideas?

much thanks

share|improve this question
Good luck with that. I would edit that directly from BIOS EEPROM (or alternatively card ID) using for example Bus Pirate ( – Olli Feb 26 '11 at 16:54
Also, why you have to update your BIOS? – Olli Feb 26 '11 at 16:55
Maybe some insight – Moab Feb 26 '11 at 17:18
@Olli - I need to edit it for a few reasons, but the top 2 are: 1) To bypass HP's totalitarian wireless policy of not allowing non-hp cards. 2) to regain access to the bios menu.. they've intentionally crippled it to provide no options, however if you can change a certain bit, you will get the menu back – HatesHP Feb 26 '11 at 20:41
@Moab & Olli - thanks for the links, I'll check 'em out – HatesHP Feb 26 '11 at 20:41

You will need to find out what the stack flag is so assume:

peek 0cX000101010001 then print 0cX000101010001 will give you the output byte segment of the micro controller array thereby allowing you to inject your code in.

The flag 0cX000101010001 was just used as an example to get you started. Remember that you need to know what commands the microcontroller will accept and what it will verbose.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .