| Recommended by Wim's BIOS... |
|
| Recommended by Wim's BIOS... |
|
denj wrote:Would this be a good idea: use semi's program and reapply the same patch but this time modify only "wake" and "lan" so nothing else gets affected? or should i use modify something else to get the same effect of getting the correct checksum to work.
after "Correct" checksum is bad compared to original. It changes to different one, but it is still wrong
hspumanti wrote:I posted a generic way to patch the Insyde BIOS to allow any WiFi PCIe device to be used. It can be found here
http://www.insanelymac.com/forum/index. ... 227226&hl=
semi wrote:@nando4,
..
And a donationware its not realy my way or thing. Cause the admin is right, at first it should be
a free solution for all. Thats why "my" solution is free for all. But if the people cant use or understand
it how it works, or they simply they dont want it, how ever. Than I will take a little pocketmoney for this work.
Enhanced Intel SpeedStep Technology
Select Lock. (R/WO)
When set, this bit causes the following become read-only:
• Enhanced Intel SpeedStep Technology Select Lock (this bit),
• Enhanced Intel SpeedStep Technology Enable bit.
The bit must be set before an Enhanced SpeedStep Technology transition
This bit is cleared on reset.
I found 2 places where bit 20 is set:
- Code: Select all
Place 0
000031BA 66B9A0010000 mov ecx,0x1a0
000031C0 0F32 rdmsr
000031C2 660D00001000 or eax,0x100000
000031C8 0F30 wrmsr
Place 1
00003F7F 66B9A0010000 mov ecx,0x1a0
00003F85 0F32 rdmsr
00003F87 660D00001000 or eax,0x100000
00003F8D 0F30 wrmsr
All you need to do is replace the OR instruction with NOPs (0x90) and redisassemble to check it was done correctly. You'd better have a BIOS recovery method before you attempt to flash, obviously.
Here's how I found it:
1. disassemble all files: "ndisasm -a -b 16 $f > $f.dis" (done in Bash program)
2. find all occurrences of register 0x1a0: "grep -i "mov ecx,0x1a0" *.dis" (ECX is register index for rdmsr/wrmsr, but looking for this instruction isn't necessary - I just noticed most rdmsr/wrmsr instructions use a hard coded value)
3. Inspect each occurrence and look for an OR instruction which sets bit 20
FROM -> 000031C2 660D00001000 or eax,0x100000
TO -> 000031C2 660D00000000 or eax,0x000000
FROM -> 00003F87 660D00001000 or eax,0x100000
TO -> 00003F87 660D00000000 or eax,0x000000



Return to Notebook BIOS and other problems
Users browsing this forum: No registered users and 0 guests
|
© 1996-2011 Wim Bervoets, Contact information | About us | Privacy policy | Terms of service | Disclaimer Associates: soupy, ajzchips, BiosMan, cp, Denniss, edwin, KachiWachi, KURIAKI, NickS, and Rainbow Copyright of all documents belonging to this site by Wim Bervoets 1996-2010. It is illegal to copy or redistribute the HTML pages in any way without the expressed written consent of the author. All BIOS Files and Utilities are copyrighted by their respective owners. |