I successfully installed an Intel Dual Band Wireless-AC 7260 wireless card by modifying the whitelist in the BIOS. I've compiled this step-by-step guide with references as I had trouble finding a similar resource online.
Living in Toronto, the 2.4GHz WiFi band is over saturated and my best wireless throughput was roughly 16Mbps, now with 5GHz Wireless AC, I get an average of 700Mbps. I decided not to upgrade to the latest BIOS and to attempt the whitelist modification on my current version, G4ET62WW (2.04).
There are two flash memory chips, MX25L6406E (8MB) and MX25L3206E (4MB) (Under frame), according to various resources, I need to flash the 4MB chip. There is also another flash memory chip on the underside which contains the bios settings and password which I don't need to touch.
There are forums for whitelist removal, such as www.bios-mods.com but I wanted to figure out how to modify the whitelist myself and to only use the forum as a last resort if I'm unable to make it work myself. (Also, I'd still need to figure out the bios reading and writing)
VID:PID's
Intel Centrino Wireless-N 2200 [8086:0891] (original)
Intel Dual Band Wireless-AC 7260 [8086:08B1], Secondary: [8086:4070] (upgrade)
If you are looking for more information, or have any questions, please feel free to contact me and I can do my best to answer.
VOLTAGE WARNING!!
I never tested, nor thought to test, nor had problems, but I've heard other people have. I'd suggest verifying the correct voltage before you use the programmer:
check voltage:
fix:
Take plenty of photos as you disassemble your laptop, including cable routing, as well as which screws came from where. Also, Take your time, don't rush
Determine current wireless card VID:PID via Linux: lspci -nn (This is a useful reference when looking for the whitelist)
-
-
Following the
Hardware manual, disassemble the laptop to access the system board.
Place the system on a non-conductive surface (As you will be powering up a portion via the CH341A programmer.
Pin 1 of the test clip is the wire with the Red stripe, which goes towards the corner of the memory chip with the circle.
I was fortunate enough to have a similar memory chip from another device I was able to use to test the programmer connections ahead of time.
Connect the test clip to the programmer (Facing downwards, in the top half of the ZIF socket)

Read the existing BIOS
flashrom -p ch341a_spi -c “MX25L3206E/MX25L3208E” -r ORIGINALBIOS.ROM
Read multiple times to verify the data is correct. (Compare via MD5SUM)
Note: If you are getting errors, or inconsistant data, try adjusting the test clip slightly.
IMPORTANT: Make a copy of the original bios, or email it to yourself so you don't accidentally lose it.
Modify bios
Linux: cp ORIGINALBIOS.ROM MODIFIEDBIOS.ROM
Open firmware (MODIFIEDBIOS.ROM) in UEFItool (Works well under wine)
File > Search, Select GUID, search for 79E0EDD7-9D1D-4F41-AE1A-F896169E5216 (LenovoWMAPolicy)
GUID pattern “79E0EDD7-9D1D-4F41-AE1A-F896169E5216” found as “D7EDE0791D9D414FAE1AF896169E5216” in 79E0EDD7-9D1D-4F41-AE1A-F896169E5216 at header-offset 0h
Go to PE32 Image section, right click, “Extract as is”
Save as LenovoWmaPolicyDxe_orig.sct
Linux: cp LenovoWmaPolicyDxe_orig.sct LenovoWmaPolicyDxe_mod.sct
Using a hex editor, search for whitelist
Linux: hexedit LenovoWmaPolicyDxe_mod.sct
/(to search), EC10<enter> (I've chosen to modify the 10EC Vender device)
Change EC10 to 8680 (New device is 8086:08B1)
Change 7681 to B108
Change EC10 to 8680 (Secondary VID:PID is 8086:4070)
Change 9581 to 7040
Change 9517 to 8780 (Bluetooth VID:PID is 8087:4070)
Change 2007 to DC07
Ctrl-x (To save & exit)
Back in UEFITool
Right click on the same PE32 Image section again, select “Replace as is”
File > Save Image file, save as MODIFIEDBIOS.ROM
Flash new bios
flashrom -p ch341a_spi -c “MX25L3206E/MX25L3208E” -w MODIFIEDBIOS.ROM
(It did take a couple attempts, and as I mentioned earlier, I did try fiddling with the test clip to ensure it was properly seated.
Verify bios:
flashrom -p ch341a_spi -c “MX25L3206E/MX25L3208E” -v MODIFIEDBIOS.ROM
Reassemble laptop to the point of booting
basically, everything up to the trim, keyboard, and display.
I used the existing thermal compound for testing, then I cleaned it off to apply new thermal compound prior to final assembly
Disconnect AC adaptor from wall
Being careful no loose connectors are reading on the motherboard, I plugged in the disconnected AC adaptor (this way I can apply power without accidentally jostling anything)
Plug AC adaptor into wall
Power on via keyboard
Take note of BIOS message, if you receive an error, take a photo of it.
Unplug AC adaptor from wall
Finish reassembling laptop
At this point I cleaned as I went, cleaning dust out of crevices & such.
Clean off the existing thermal compound, put new thermal compound on the CPU (and GPU if you have discrete graphics)
Note: I'm using a separate Bluetooth adaptor, so I'm not concerned about enabling the integrated Bluetooth (Which involves placing kaptop tape over a pin)
After reading the flashing instructions on coreboot.org, I decided it would be safer to attempt this without removing the memory chip from the system board. If I had access to a hot air rework station, I would have removed to chip to reduce risk of damaging the system board.