Forum RSS Feed Follow @ Twitter Follow On Facebook

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[-]
Welcome
You have to register before you can post on our site.

Username:


Password:





[-]
Latest Threads
[REQUEST] Acer Aspire E1-571(G) BIOS Unl...
Last Post: Dudu2002
Today 04:44 PM
» Replies: 127
» Views: 57858
Acer Predator Helios 300 N17C1 G3-572-79...
Last Post: chadreuel
Today 11:39 AM
» Replies: 0
» Views: 76
[REQUEST] Acer Nitro 5 AN515-56 BIOS Unl...
Last Post: Dudu2002
Today 07:25 AM
» Replies: 5
» Views: 880
[REQUEST] Lenovo Y50-70 (9ECNxxWW) BIOS ...
Last Post: Dudu2002
Today 03:52 AM
» Replies: 1972
» Views: 661533
[Request] Acer Aspire Z1620 (h61h aio v1...
Last Post: spingernexx
Yesterday 06:09 PM
» Replies: 2
» Views: 144
[REQUEST] Lenovo G505 (82CNxxWW) Whiteli...
Last Post: khaos
Yesterday 04:15 PM
» Replies: 155
» Views: 55188
Asus Prime b250m plus, RAM compatibility
Last Post: Slayery777
Yesterday 06:23 AM
» Replies: 0
» Views: 142
[REQUEST] Bios Unlock Request Clevo W230...
Last Post: happycrazyman
04-23-2024 03:53 PM
» Replies: 0
» Views: 117
Rog Strix B650E-F BIOS File Extraction
Last Post: panmetrix24
04-23-2024 11:25 AM
» Replies: 0
» Views: 135
[REQUEST] Lenovo G50-70 (9ACNxxWW) White...
Last Post: Pipo89
04-23-2024 06:47 AM
» Replies: 236
» Views: 69630
[REQUEST] Acer Nitro 5 AN517-41 BIOS Unl...
Last Post: onetapxdf
04-23-2024 03:37 AM
» Replies: 11
» Views: 1361
[REQUEST] Lenovo G400S (7BCNxxWW) Whitel...
Last Post: Dudu2002
04-23-2024 03:14 AM
» Replies: 203
» Views: 70601
[REQUEST] Lenovo V570(c) (44CNxxWW) BIOS...
Last Post: d3m3n7r
04-22-2024 05:20 PM
» Replies: 18
» Views: 11182
[REQUEST] Lenovo Y520-15IKBN (4KCNxxWW) ...
Last Post: ati90
04-22-2024 05:02 AM
» Replies: 64
» Views: 37014
[REQUEST] Lenovo G580 (5ECNxxWW) Whiteli...
Last Post: SteamTug
04-22-2024 04:24 AM
» Replies: 1734
» Views: 545709
[REQUEST] Lenovo G410 (79CNxxWW) Whiteli...
Last Post: Dudu2002
04-22-2024 03:58 AM
» Replies: 53
» Views: 10804
Asus h110m-a & xeon e3-1280v5
Last Post: Brutoloco
04-21-2024 08:22 PM
» Replies: 16
» Views: 573
[REQUEST] LG GRAM 14T990 Unlock request
Last Post: riclausk
04-21-2024 12:15 PM
» Replies: 16
» Views: 4265
[REQUEST] SLIC 2.1 for ASRock 880GM-LE F...
Last Post: amijim
04-21-2024 10:27 AM
» Replies: 2
» Views: 138
[REQUEST] Dell Alienware 15 R3 BIOS Unlo...
Last Post: jason.exe
04-21-2024 03:44 AM
» Replies: 1
» Views: 190

Include SATA Option ROM in ThinkPad X201 BIOS
#1
Question 
Hi Guys,

I have a ThinkPad X201 running the latest BIOS version (1.40-1.15/1.15, get it here: http://lnv.gy/1FsQmI2).
In the mPCIe slot I installed a SuperTalent CoreStore Plus SSD, featuring an ASMedia ASM1061 SATA controller which, according to ASMedia, has "Option Rom support through 64K Byte SPI flash".

Is there any chance to get the BIOS to load the SATA Option ROM instead of, let's say, the LAN PXE Option ROM?

Update:
The Option ROM files for the ASM1061 can be found HERE. In that thread, the OP states that
Quote:It is possible to successfully insert the ASMedia AHCI ROM module even into a BIOS, where no such ROM module is present.
My controller is a DEV_0612 one.

Update 2:
Someone has already done a WiFi/WWAN whitelist mod on the same BIOS over HERE.
The modded version comes as a .ROM file and should be somewhat easier to edit than the original Lenovo files.
find
quote
#2
So I have now been doing further investigations on the topic and have been able to decompress the (already whitelist-modded, which could come in handy some day) ROM file using phnxsplit.
Decompressing it gave me 54 single .rom files. Three of them look like they are the relevant Option ROM modules:

OPROM00.rom
OPROM01.rom
OPROM02.rom

Opening them with a Hex editor, I came across these descriptions:

OPROM00.rom:
IBM VGA Compatible BIOS

OPROM01.rom:
Copyright © 1997-2010, Intel Corporation
Intel Corporation
Intel® Boot Agent PXE Base Code (PXE-2.1 build 089)

OPROM02.rom:
Copyright © 1997-2010, Intel Corporation
Initializing Intel ® Boot Agent
GE v1.3.51 IBA
GE Slot 0000 v1351
PXE 2.1 Build 089 (WfM 2.0)

The Option ROM i linked in the above post has this near the top of its .bin file:

1b21-0612_v0954.bin
Copyright © Asmedia Technologies, Inc. All Right reserved.
Asmedia Technologies, Inc.
Asmedia 106X SATA/PATA Controller Ver 0.954
Asmedia 106X SATA Controller Ver 0.954


No I am kind of stuck when it comes to replacing the PXE part with the ASMedia Option ROM. As far as I understand, the new Option ROM needs to be compressed using fp.exe, fi.exe and rom2mod.exe. I haven't found any reliable instructions on how to do that though.

Tools like CBROM or "Phoenix BIOS Editor" don't seem to work on this BIOS version, I have tried many different versions without success.

Can anyone point me in the right direction on how to put everything back into one functional image (that will hopefully not brick my board)?
Huh
find
quote
#3
So now I got a few steps further:

1. The original Option ROM module OPROM01.rom is 30.208 bytes in size, the ASMedia file is 32.256 bytes. Replacing would therefore probably not work. Duh.
However, the OPROM02.rom is 35.328 bytes, so I took the ASMedia ROM, opened it in a hex editor and filled it with zeroes until it was exactly the same size as OPROM02.rom. This way I thought I should be able to replace it.

2. I created two .SCR files for the fp.exe and fi.exe:

Code:
BANKS -N:1 -S:256    # Flash accessed as one(1), 8192 KByte (64Mb) bank.
COMPRESS  LZINT # Use LZINT when compressing modules
BOOTBLOCK -S:128    # (J) PSI style, no BB.BIN needed
OPROM OPROM02.ROM-NEW # Filename is replaced with OPROM02.ROM-OLD in the other file
PSI -PLACE:"BOOTBLOCK" -ALIGN:TOP -COMPRESS:NO  ceimain.bin

3. I placed the OPROM02.ROM-OLD (extracted original file) and OPROM02.ROM-NEW (ASMedia file filled with zeroes) in the same directory and ran:

fp.exe OPROM02-NEW.SCR
fi.exe OPROM02-NEW.SCR
rom2mod.exe BIOS.ROM OPROM2.ROM-NEW.LZ

fp.exe OPROM02-OLD.SCR

fi.exe OPROM02-OLD.SCR
rom2mod.exe BIOS.ROM OPROM2.ROM-OLD.LZ

This left me with two compressed module files ending with .LZ.

4. I ran phnxmod and ran into an error:

Code:
phnxmod.exe $01C2100.FLh OPROM02.ROM-OLD.LZ OPROM02.ROM-NEW.LZ

PhnxMod 0.1 2008-02-19
(c) Ender

Okay, all files open.
ROM size 200000h, old module 59A5h+1Bh, new module 4D7Bh+1Bh.
Loading data...Old module (without header) not found in the ROM file. Quitting.

What the ...? The old module was extracted from this very file, so why would it not be found?
I guess I'm stuck again. Dodgy

Thoughts:
1. I have only seen people using phnxmod for WiFi whitelist mods, so I am not sure whether it can be applied to Option ROM mods at all?
2. Although the uncompressed files are the same size, the compressed ones are obviously not. Ender states that phnxmod is "currently limited to only replacing same-size modules" but not whether this applies to the compressed or uncompressed files.
3. If I wanted to get two compressed files with the same size, I would have to fill the ASMedia ROM with something else than just zeroes. Putting in just random data doesn't seem very clever to me, as it could have unwanted effects... but I'm not sure about that.

Any help is appreciated!

Update:
I compared the contents of the compressed BIOS image and the compressed OPROM02 image using a hex editor.
Leaving the 27-byte LZINT header aside, I could easily find the compressed option ROM in the BIOS image. Starts at 0x204322 and ends at 0x209CC5.

Now I could go ahead and replace the Option ROM using the hex editor, but as I have never done this before I am kind of afraid of bricking my X201. And I like it better unbricked...

Update 2:
I just replaced the compressed Option ROM manually with a hex editor and then split it again with phnxsplit. This gave me my ASMedia ROM as OPROM02.rom just as I expected.
Recalculating the checksum with phnxchecksum (by Ender) gave me this:

Code:
> phnxcksm-0.2.exe BIOS_MODDED.ROM

PhnxCksm 0.2 2008-04-26
(c) Ender

Okay, file open.
ROM size 200000h, extended checksum block start 100000h, end 1F0000h.
Reading...
Extended checksum not found in the scanned location. Quitting.
Huh
Same error on the original, unmodified FLh file from Lenovo.
find
quote


Forum Jump:


Users browsing this thread: 2 Guest(s)