Quantcast

Maximum PC

It is currently Sun Apr 20, 2014 7:05 pm

All times are UTC - 8 hours




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Lenovo BIOS Mod
PostPosted: Tue Feb 16, 2010 3:24 pm 
8086
8086
User avatar

Joined: Mon Jan 12, 2009 2:52 pm
Posts: 2
Hello,
I have an annoying BIOS that won't let me install mini PCIe cards that aren't sold by Lenovo and am trying to modify the BIOS to allow other cards to be used. With some poking around with lspci and Phoenix BIOS Editor, I think that I've found the code that I need to change. What I want to know is:
1) Is this the right code?
2) Are there any checksums I have to worry about or does BIOS Editor take care of that?
3) Will there be any strange side effects such as the wireless disable switch not working?
Thanks!

Here is a part of a lspci map:
Code:
00: Primary host bus
   1e.0 Bridge to 08-08
   1c.5 Bridge to 07-07
   1c.3 Bridge to 05-06
   1c.2 Bridge to 04-04
   1c.1 Bridge to 03-03
   1c.0 Bridge to 02-02
02: Entered via 00:1c.0
04: Entered via 00:1c.2 // WLAN slot
07: Entered via 00:1c.5


Here is some BIOS ACPI initialization code (comments added):
Code:
      Device(RP03) {
        Name(_ADR,0x001C0002) // Notice 1c and 02; this is the address found by lspci
        OperationRegion(PXCS,PCI_Config,0x40,0xC0)
        Field(PXCS,AnyAcc,NoLock,WriteAsZeros) {
          Offset(0x12),
          ,13,
          LASX,1,
          Offset(0x1A),
          ABPX,1,
          ,2,
          PDCX,1,
          ,2,
          PDSX,1,
          Offset(0x1B),
          LSCX,1,
          Offset(0x20),
          Offset(0x22),
          PSPX,1,
          Offset(0x9C),
          ,30,
          HPSX,1,
          PMSX,1
        }
        Device(PXSX) {
          Name(_ADR,Zero)
        }
        Method(_PRT,0,NotSerialized) {
          If(PICM /* \PICM */) {
            Return(AR06 /* \_SB.AR06 */)
          }
          Return(PR06 /* \_SB.PR06 */)
        }
        Device(WLD1) {
          Name(_ADR,Zero)
          OperationRegion(WLAN,PCI_Config,Zero,0x08)
          Field(WLAN,ByteAcc,NoLock,Preserve) {
            WLID,8
          }
        }
      }


Another config with no device (There are some empty channels that are probably physically connected to an empty GPU socket):
Code:
      Device(RP04) {
        Name(_ADR,0x001C0003)
        OperationRegion(PXCS,PCI_Config,0x40,0xC0)
        Field(PXCS,AnyAcc,NoLock,WriteAsZeros) {
          Offset(0x12),
          ,13,
          LASX,1,
          Offset(0x1A),
          ABPX,1,
          ,2,
          PDCX,1,
          ,2,
          PDSX,1,
          Offset(0x1B),
          LSCX,1,
          Offset(0x20),
          Offset(0x22),
          PSPX,1,
          Offset(0x9C),
          ,30,
          HPSX,1,
          PMSX,1
        }


I am planning gutting everything in 04 that isn't in the other channel initializations; does anyone have any better ideas?


Top
  Profile  
 
 Post subject:
PostPosted: Tue Feb 16, 2010 8:32 pm 
Team Member Top 250
Team Member Top 250
User avatar

Joined: Sun Nov 26, 2006 3:17 pm
Posts: 1156
What model does this work on, because I would live to upgrade my IdeaPad Y510 to a wireless n connection.


Top
  Profile  
 
 Post subject: Any*
PostPosted: Wed Feb 17, 2010 2:54 pm 
8086
8086
User avatar

Joined: Mon Jan 12, 2009 2:52 pm
Posts: 2
I think that it should work on any of the new models where there is no magic bit (patched NVRAM), if it works. First you'll need your BIOS image, which should be a .wph file in a BIOS update file (for yours see [link]http://consumersupport.lenovo.com/en/DriversDownloads/drivers_list.aspx?CategoryID=12[/link]). Then you'll need a recent BIOS Editor, such as version 2.2.1.3, which I am using. Again, I'm not sure if this works; I just want someone to look over my work and see if it looks okay to reduce the chance of bricking my laptop. I hope this helps! :D


Top
  Profile  
 
 Post subject:
PostPosted: Thu Feb 18, 2010 6:22 pm 
Klamath
Klamath
User avatar

Joined: Thu Jan 29, 2009 4:15 pm
Posts: 305
You're going to get more of a response in a place like Programmer's Paradise. I would suggest reposting there.


Top
  Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 8 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group