REQUEST: Lenovo Thinkpad W701DS - Add TRIM support for Intel RAID

Hello, I have a Thinkpad W701DS, which uses Pheonix BIOS, which I need to modify to add TRIM support in RAID mode, as per AHCI & RAID ROM Modules

Link to unmodified W701DS BIOS
Link to modified Intel OROM

Please help!

EDIT: Some background information here from several years ago by somebody else who wished to achieve this & here (post #192 onwards)

Edit by Fernando: Thread moved and thread title customized

@knubbze :
Why don’t you do it yourself according to >this< guide?

I tried following the guide, but unfortunately failed at the first step. Running CBROM 1.98 causes it to hang and do nothing:

@knubbze :
The CBROM tools obviously do not work with this “new style” Phoenix BIOS.
So you will have to use andyp’s Phoenixtool (look >here<).
This is what it shows:

Phoenixtool.png



I cannot help you with this tool.

@knubbze - how/where did you get this file? I extracted BIOS from the stock.exe (1.30) and FL1 = 2025KB and FL2 = 3117KB - but file you attached above = 3118KB
The stock BIOS opens properly in Phoenix BIOS editor and your linked file does not, so this and the size difference is why I ask. * Edit, Ohh, I see, using e_bcpvpw.exe creates this exact file (I hex matched to what you uploaded from one I created)
Can you remove FL1 from directory, edit FL2 file and flash it with the stock exe? I checked the WINUPTP.exe and it calls both, so maybe either? Anyway, just thinking out loud here I suppose

10.1.0.1008 cannot be used in your BIOS, it’s 3875 bytes too long. Since there is only 8.5 and 8.9 TRIM modified files in our RAID Rom thread here, and 10 is too big, please wait for Fernando to give me info to mod your original rom for TRIM and I will fix a BIOS for you.
I wonder why v9 is skipped over in the provided TRIM modified files?

@Fernando - please link me to info on how to do the actual TRIM mod, new style, or send it to me in PM if this is meant to be kept private - thanks!
Please wait, if you’re reading this now, I think my inspection skills can figure this out from comparing a few stock and CPL0’s mod files.

* Edit - Checksum byte = 17h
$VER then “some bytes” (varying) to >> Ax xx then + 4 bytes (4th byte 00 >> 90)
So, can you confirm this is now his OG rom module 9.5.0.1037 >> TRIM Mod 9.5.0.1037 (by me ) - thanks for your time to check
If this is correctly modified, then I have his mod BIOS I will add to thread next once you confirm TRIM mod done correctly to original RAID Module

Lenovo W791DS 9.5.0.1037-oRom-TRIM-Mod.zip (92 KB)



Thanks so much for your help! I found the BIOS that I linked to in this post: Modded Intel AHCI and RAID Drivers (digitally signed) (14) - I had assumed it was the standard Lenovo-issued BIOS file (although the original poster did mention that he had used a tool to decompress the file).

I downloaded exe from Lenovo and extracted the BIOS, and then again extracted the FL1 file and ended with the same file you linked in post one…

However, since that is decompressed from FL1, I don’t know how you can flash it, I assume if you feed that file to the stock flash tool it’s going to want to decompress it.
FL2 does not match FL1 decompressed, and I’m not familiar with Lenovo BIOS flashing, so read around and see if you can find discussion of flashing or modding FL1 and FL2
I know both of those are usual file extensions for BIOS in some Lenovo, so maybe you can find someone discussing flashing FL2 instead of FL1

Anyway, we’ll find out more once Fernando confirms I’ve done the TRIM mod to your original RAID rom correctly, I’ll send you mod BIOS then and we can see what happens when you try to flash.

In terms of Lenovo naming convention for the Fl1 and Fl2 files, according to this page: http://www.endeer.cz/bios.tools/bios.html the Fl1 files are for the BIOS and Fl2 files are for the Embedded Controller. There are also some useful utilities on this page http://www.endeer.cz/bios.tools/ which may be of interest. You can use phcomp.exe to recompress the file after modifying it (it can also be used to decompress the FL1 file in the same way as e_bcpvpw.exe).

Also, according to this post by Fernando, and also this post by somebody else who attempted to do this mod, the OROM module from the BIOS file might itself be compressed/packed, maybe this accounts for the difference in file size?

Thank you, once again!

@Lost_N_BIOS :

I have checked it and found, that the modification has been done perfectly.
Note: AFAIK the “new” CPL0 method to get TRIM in RAID0 for all Intel Chipsets/Southbridges from P965/ICH8R up has only been tested with Intel RST RAID ROM modules from v10.1.0.1008 up. So I am not 100% sure, whether this method will work with the older v9.5.0.1037 as well.
Here was my related statement dated 11/18/2014:

Thanks for checking @Fernando - I thought I could figure that out

About the v10.1.0.1008 and up, if this is the case, why then is there V8.5 and V8.9 TRIM modified on the rom thread? Ohh! I didn’t notice until now that those V8’s weren’t modified using CPL0’s method.
So, do I need to check thoseV8 TRIM modified ones, and see what/how the changes were made, not using CPL0’s method (Some other method), and then apply those same type changes instead?

*Edit, downloading those v8 files, I see the packages say CPL0 edit as well. ** Edit 2, I checked both 8.5 and 8.9, these are edited using same CPL0 method as v10
So, wouldn’t it make sense that V8 and V10 being OK with same edit, mean V9 OK too and just no one ever tested?

Maybe I can test this myself on an X58 setup, can those use V9 modules, or do I need to use some other chipset for test?
I have plenty of boards of all types, so can probably check with any chipset if it should be something specific

@Lost_N_BIOS :
Here are my answers:

  1. The v8.5 and v8.9 series Intel RAID drivers and RAID ROM modules are well developed and belong to the Matrix Storage Manager technology, whereas the v9.5 series drivers and RAID ROM modules were the absolutely first ones, which belonged to the at that time completely new Rapid Storage Technology.
  2. Since the Intel RST v9.5 series drivers were crap, nobody was interested in the TRIM-in-RAID0 modded Intel RAID ROM v9.5.0.1037. Nevertheless it seems very likely, that TRIM in RAID0 would work after the insertion of the related modded v9.5 series OROM module into the BIOS.
  3. You can test it by using an Intel X58 chipset RAID0 system, whether TRIM is supported by your modded RAID ROM v9.5.0.1037, but I doubt, that it will be worth such effort. I am pretty sure, that it will work.

@Fernando - Thanks. So #1 - I didn’t realize, and assumed 9.5 was still MSM too. v10.1.0.1008 doesn’t fit, so mod 9.5 is the only option, unless he wants to go back to older MSM

Due to #2+3, you think I should just give user mod BIOS? Not even sure yet, how/if he can easily flash in mod BIOS or not, it’s winPhlash so maybe get lucky and it will flash easily



@Fernando - could you please confirm the above please?



@Lost_N_BIOS - I posted some links in this reply which contain information in how to rebuild the BIOS - are these of any help?

Thanks, once again, guys :slight_smile:

Yes, I am pretty sure, that it will work (provided, that the user gets the modded BIOS successfully flashed).

@knubbze - that info you linked is not exactly correct, at least for this model, it looks to me like FL2 is a split of the BIOS (partial BIOS), not EC FW which would only be a single or two files, this contains 24 modules including setup, ESCD and BIOSstrings module too (so part of BIOS)
I have no problems rebuilding or working on these BIOS, just am not sure correct file to give you or correct method to tell you to try and flash mod BIOS. Let me look all this over again

This was my final notes to self the other day, meant to post for Fernando to consider but forgot -
It’s unclear to me, which BIOS to send, the 3117KB FL2 or the 3118KB BIOS.WPH (Same as “BIOS.bin” attached in first post) created from extracting FL1 file, they are not alike and only the FL2 file opens in Phoenix BIOS editor

My gut says send him FL1 modified, with the extracted WinPhlash.exe. However, FL1 and FL2 may need to be in that same folder.
I doubt stock package will flash it without the WinPhlash extracted out of the WINUPTP.exe, and even still may not allow it then too (And he’d need to use non-OEM WinPhlash)

* Edit - @knubbze - Here is stock package all extracted, FL1 and FL2 in the main folder are originals. TRIM modified BIOS >> BIOS.WPH - I assume load that into WinPhlash and see if it will let you flash, make the backup it offers too just in case!
If you need non-OEM WinPhlash let me know, I can send you DOSPlash and WinPhlash
http://s000.tinyupload.com/index.php?fil…828875035349803

@Lost_N_BIOS Thanks once again for your work on this project.

However, I am a bit confused: Regarding the FL1 and FL2 files, is it the FL1 file which contains the RAID OROM? If so, it is just the FL1 file (or BIOS.WPH when decompressed) that needs to be modified, correct? If so, is the modified BIOS.WPH which you have kindly provided is a decompressed version of the FL1 file? If that’s the case, could I use one of the tools mentioned in the previous posts in this thread to recompress the BIOS.WPH file back into the FL1 file and use the Lenovo BIOS update tool to flash it?

If not, do I use this WinPhlash tool and select the BIOS.WPH tool to flash to the laptop?

EDIT: I used phcomp.exe from here to compress the BIOS.WPH file that you provided and it compressed it to a 2,072,686 byte WP2 file - the original $01C0000.FL1 file from the Lenovo BIOS upgrade package is 2,072,768 bytes (slightly larger) - would this be a problem?

@knubbze - You’re welcome! I too was confused, that’s why I paused!

No, the only modified file is BIOS.WPH I included separately outside of the “app” folder. This is the decompressed FL1 file, FL2 does not contain the part of the BIOS where this rom is located so it was not modified.
I assumed you could use BIOS.WPH with WinPhlash, or compress it back into a new “FL1” file, up to you to see which works or what you want to do etc.
I also included the e_bcpvpw.exe I used to decompress it, so yes you can use that to compress back if you want and replace the original FL1, or flash BIOS.WPH as it is with the WinPhlash.
I assumed there may be some check in the Lenovo tool, so I didn’t compress back to FL1, and also mentioned you may need to use a non-Lenovo WinPhlash (not included)

I do not think size of the newly compressed BIOS.WPH would be an issue, but don’t use it to replace FL2 (replace and rename it to FL1, or flash by itself as WP2 or WPH - or flash it non-compressed by itself as is how I sent BIOS.WPH)

I don’t know what works and what doesn’t in flashing BIOS on this system, or with these kind of split up Phoenix BIOS New Style.
Personally I wouldn’t do anything without a flash programmer in my hand, but that’s my years of experience talking (price is less than $7 for CH341A + SOIC8 test clip w/ cable)
Once you have that, you could dump BIOS and edit directly, and there would be a single BIOS image and none of this confusion



Hello @Lost_N_BIOS ,

I’m coming back to this project after almost 18 months. I had things going on in my life which meant that these projects had to be put on hold. I decided to take your advice and not risk trying to flash the laptop with a potentially incomplete/incompatible ROM file, in case it bricked the laptop (which is a very rare Thinkpad model; somewhat of a collector’s item)

Anyway, I’m back and determined to solve this puzzle. Where can I buy this flash programmer that you mentioned? As it happens, I have a second W701DS which is faulty (doesn’t power on), but I could use this to obtain a proper BIOS dump.

@knubbze - Good to hear things are going better for you now!! Where are you located in the world? Then I can give you ebay or amazon links (if you can order from amazon, probably faster than ebay/china, but will be more $$)
If you order from ebay/china, it’s cheaper, but you can get from ebay or amazon faster for more $$, all depends on where you are I guess.
You need CH341A + SOIC8 / SOP8 test clip with cable, and depending on BIOS chip you may also need 1.8V adapter. This is only $3 more, best to pickup even if you don’t need, in case you don’t want to open laptop until it’s time, or it may come in handy in the future anyway
Since this is very old system, you probably will for sure not need the 1.8v adapter, but it’s best to grab all at once, so you’re ready to fix anything in the future. All this comes in bundle kits, or by themselves one item at a time.

Second system may just have a dead BIOS too!?
If we do anything with your working system, you should dump it’s own BIOS, then we check to be sure it’s valid/OK dump, then edit that and you flash it back.
Nothing should come from the second system, in case it’s BIOS is corrupted



I’m in the UK, and in the meantime I ordered this: https://smile.amazon.co.uk/gp/product/B0…8&psc=1&fpw=alm

Is this the correct product?



Ah yes, that’s a good point, you’re right. I’ll try to dump the BIOS from my working system.

I also found something interesting here: https://forum.thinkpads.com/viewtopic.ph…87aa138#p851858

Somebody has kindly uploaded a W701DS BIOS with whitelist removed, but the BIOS file is in one file, as opposed to the two separate FL1 & FL2 files which are supplied with the official Lenovo BIOS update package - would it be easier to add TRIM support to this whitelisted BIOS file, instead of having to deal with the FL1/FL2 files which we were having trouble with earlier? The ROM file is ‘01C0000_nWL.ROM’ and can be found here: https://www.sendspace.com/file/gmwupd

As always, thanks again for your continued help, it is much appreciated!