resurrection. my vertex is arriving next week and i would like to try this too
-
great thread and hundreds of thousands may be intrested. i am very greatful on this find and on the post to upgrade, but does somebody have another explanation here or even a patch or modded driver perhaps?
-
I'm think Txxx not have this limit, but not sure. The ultra bay on my T400 use SATA controller.
-
-
Hello all,
First post on this site, came here by way of magical GoogleI have a T61p. I have a OCZ Vertex in the mail, to be arriving next week. I spent about 6 hours researching this today (mostly learning how to read registers, do hexadecimal math, find offsets, use BAR-Edit, reading the ICH8 datasheet, etc).
So here's my findings:
My system was set on "Compatability" mode in the BIOS at first - I had to change this to AHCI mode to follow the directions. Make sure you check this BIOS setting!!!
The ABAR value on my thinkpad is FE226000. That's where you'll find the CAP registers, which is set to E710FF82 on my machine. I tried setting the CAP.ISS bits (23:20) to 2h and rebooting with BAR-Edit, however the CAP.ISS bits reverted to 1h after the reboot. Not sure what's going on here... I'll admit I'm a register hacking noob
For the PxCTL.SPD settings, my system was at 00000000 for all devices, which is (almost) the default for them. the 7:3 bit can be set to 0h (no speed limit), 1h (1.5GB/s) or 2h(3.0GB/s). Default is 0h.
The only thing I can think of what's going on here is the datasheet goes into mediocre detail about "Combined" mode - so even if you set your BIOS to "AHCI", I think it may automatically revert to Combined mode. Here's what strange about that however: The datasheet says that the MAP.MV and MAP.SMS values will be 01 and 00 respectively if the system is in combined mode - mine are set for what would be expected for full 3.0GB/s operation, MAP.MV = 00 (Non-combined) , MAP.SMS = 01 (AHCI Mode).
Interestingly though, the P0SSTS (Port 0 Serial ATA Status Register) says the link negotiated to the Generation 1 rate (1.5GB/s). I have a loaner drive one of the IT guys gave me (it's on it's last legs...) in the machine currently which very well may only support 1.5GB/s, so this is valid and expected.
Once my SSD arrives, I'll put some more elbow (knuckle?) grease into this and see where we end up.
Cheers,
Rick -
mullenbooger Former New York Giant
Awesome, good luck trying to crack this!
-
nice info. If works, would be priceless
-
folks does x200s have this bottleneck issue with SSD?
-
Hi nando4,
I forgot to thank you for all your work you have put into this. So... THANK YOU!
I have a question though - CAP.ISS is R/WO (Read/Write Once). I'm trying to set the 23:00 hex value to 0010 (2h), however it automatically reverts to 0001 when i click 'Write'. I'm afraid perhaps the BIOS is setting this to 1h at boot time, using up the single write operation.
Any thoughts on this matter? If the BIOS is setting this bit at boot, are we out of luck without an official Lenovo BIOS fix?
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
Given ABAR=FE226000, then CAP.ISS=FE22600+00h-03h (4 bytes). Since a bar edit write of 0001 (1h - 1.5Gbs) or 0010 (2h) at that address isn't being accepted then presumably Lenovo used up the single-write in bios to cap speed to 1.5Gbps. Q: How to get around that?
L: PLTRST# details referring to C9Fh reset control register
M: CF9h reset control register details
R: 0/31/0/Ach register also sets parameters for CF9h function
The datasheet against the Host Capabilities Register (CAP) tells us All bits in this register that are R/WO are reset only by PLTRST# . We see that PLTRST is controlled by the CF9h register, whose function can be somewhat set by the 0/31/0/ACh register . All of this is ideally done in bios, which sets up the SATA link, rather than a retrospective activity after bootup. So some suggestions then, perhaps applying them all in parallel?
1/ Continue by attempting a soft reset via CF9h, giving Write-Once access to CAP.ISS
2/ See if you can patch the bios file directly and then flash
Lenovo likely setting CAP.ISS=1h to cap the link speed to 1.5Gbps. You've identified the ABAR as FE226000 and looking at my previous notes this looks correct. Worth looking for FE226000 or reversed 006022FE in the raw bios file to see if they do a direct access to it mod the write from 1h to be a 2h. A bit advanced and Lenovo may have used offset addressing from a different base. Worth conversing with bios hackers at rebelhaven or mydigitallife forums if bios is not encrypted. Eg: HP encrypt their bios so it expands on runtime as an anti-tamper measure. Has Lenovo done the same? -
Zender from thinkpads.com has been modding ThinkPads BIOS device whitelist. Maybe he would be able to help with patching the bios file.
Check this thread. -
what to do? i've only changed 020'04 to FFE1 from EEF1
what is the next step?
vertex 60gb arriving next weekAttached Files:
-
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
Now change to "By Memory Address" as shown by rbowen's screenshot, putting in the CAP.ISS address of FE226000. Then look at bits 23:20, checking existing value. Try putting 0010 (2h) in place of what I assume is 0001 (1h) at bits 23:20. When you click write, does it accept and update the value to 0010 (2h)? If so, then continue with code sections 2-5 at INFO: Enabling 3Gbps mode on the ICH8M SATA Controller. Otherwise Lenovo has already used the write-once ability already in bios, so continue investigating as per this post.
Original instructions updated and baredit screenshot updated with Daniel L's supplied image from a AHCI-enabled T61p, so can compare to what you are seeing. -
HUMAN2, You're in "Compatibility" mode, not AHCI. Please check your BIOS settings and try again
. Check the first, row, cell "08". It should be 01060103 - this means that you're system is using "06h" (AHCI) mode versus "01h" (IDE) mode. This is "CC.SCC" (12.1.7 in the datasheet). An important step - do not assume it's value to be set to AHCI mode.
nando4, good catch on my poor math. I was wondering what that "-03h" was doing there... I guess I need more practice in hexadecimal arithmetic.
However, It seems FE225FFD doesn't exist.
-
Here's a better quality version of the device in AHCI mode for reference:
-
FE225FF0 in HWDIRECT for confirmation:
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
rbowen, please disregard my comment about CAP.ISS. It does appear to be ABAR+0h . The notes in the datasheet "0h-03h" implying that it is a 32-bit value occupying 4 bytes.
You may wish to delete posts relating to that aspect to remove an unintended extra level of confusion. (and then I can delete this post too!). -
from here http://forums.lenovo.com/lnv/board/...iew=by_date_ascending&message.id=34741#M34741
Attached Files:
-
-
nando4, you're correct in that i used the full 32bit value from the 24h offset from the D31:F2 registers.
12.1.15.1 defines ABAR to be:
31:11 Base Address (BA) — R/W. Base address of register memory space (aligned to 1 KB).
So if 0b111111111110001000100 = 0x1FFC44, then what/how do we align this to 1kb? This will give us the correct ABAR, right?
Would it be 0x1FFC4400 or 0x001FFC44? -
User Retired 2 Notebook Nobel Laureate NBR Reviewer
Only suggestion then is to try and change the value at FE226000 bit 23:20 to be 0010 (3Gbps cap), 0000 (no cap?). The 01 you see by default is the 1.5Gbps cap. So worth seeing if any other value is successfully written. If not, then we are seeing the write-once mode, with Lenovo beating you to task in the bios, so refer to my previous notes as how to go around that: bios mod easiest, resetting the ICH8M I/O chipset another possibility, or seriously hassling Lenovo to do it, highlighting their reasoning for it is not valid and smells of built-in redundancy.
Would be worth testing Lenovo T61p's earliest bios to see if the capping was present then, or if it was added sneakily in later versions as a built-in performance redundancy to favour future system upgrade (??) -
For setting the CAP.ISS to 2h...
Setting any bit in the CAP.ISS field (ABAR+00h bits 23:20) results in absolutely nothing happening. The BIOS must be setting this before we can get to it.
I tried setting the CF9h reset bit (PLTRST#) using BARE-Edit, but I'm not sure if i did it right (i.e. nothing happened). I only have the evaluation version of HWDIRECT so I can't write to I/O addresses with that. Can anyone test this to see what happens? nando4? It should be the same in your chipset...It looks like PLTRST# (setting bit 0 on CF9h) is the same thing as doing a hard reset (holding the power button down for 4 seconds).
As far as the BIOS route goes...
It looks like " Support for initialization command of SSD (Solid State Drive)." was added in version 2.14 - earliest available BIOS is 1.09. Current version is 2.26. I'm not sure if i want to Flash my system to 1.09 for risk of bricking it.
Today I spent some time investigating how difficult it would be to modify the BIOS image files and re-flash the BIOS, looks EXTREMELY complex. Expert knowledge of assembly and Phoenix BIOS structure is required. I'm going to keep chipping away at this path, because I think the BIOS is using up the write opportunity for the CAP.ISS field, and PLTRST# seems like it would just reboot the entire machine. The guys at mydigitallife seem like they know the most, but Zender has good experience with the Lenovo BIOS in relation to whitelisting cards. The complexity lies in not just finding what to edit and changing it, but also decompressing and extracting the BIOS modules, and then using a disassembler to modify them, and then putting it all back together and creating a new checksum. Also, it doesn't seem like you can undo a flashed BIOS in a thinkpad with a special keyboard combo like you can with other Phoenix BIOS', so this is definitely dangerous.
And as far as petitioning Lenovo and getting official support, I'm not a really good community organizer, but I will definitely put my name on the list if someone starts it! -
User Retired 2 Notebook Nobel Laureate NBR Reviewer
Modding the bios yourself
The better option is to investigate a bios mod. Yes, the bios needs to be decompressed requiring Zender's tools, modded, then repacked with correct checksum so flash util doesn't trip up on the file. Might be as simple as looking for FFE226000 and 006022EFF in the binary bios file. Or more complex by referring to Pinczakko's Guide to Award BIOS Reverse Engineering to shows how to use IDA Pro, a necessity to do the CAP.ISS=00/CAP.ISS=10 mod, probably in the AHCI ROM module. -
urm how do i move win7/vista from ATA to AHCI???
:urm: -
urm, if i messed up baredit, how to restore to initial staes? thanks
-
Here with my device finally in ACHI mode.
My hero's, what's the next move?Attached Files:
-
-
We came to the conclusion that this problem can only be solved by a custom modified (i.e. reverse engineered) BIOS, or by Lenovo releasing an new (patched) BIOS enabling 3.0GB/s mode. -
DELL Inspiron? 1720, 1520.... range?
:'(Attached Files:
-
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
IF Lenovo advertised the T61p as having an ICH8M I/O chipset but didn't disclose the 1.5Gbps cap on the primary bay, then it can be considered misleading advertising on their part. ICH7M and onwards being advertised by Intel as being 3Gbps capable. A request for a refund based on them delivering underperforming equipment may see them delivering a bios update as a more cost-effective solution. Saves $$ to upgrade to a T400 as a remedy too. -
i AM willing to give this a try on my vertex ssd i am receiving next week(it's delayed), however i am running a dell 1720 (same controller) and bios a09
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
Check bits 23:20 at FEBFB800 (CAP.ISS) on your Dell 1720, with capping as follows:
0001=1.5Gbps mode
0010=3Gbps mode -
and i am now deeply confused, i don't see any '0001' or '0010' in the window either
some magic pleaseAttached Files:
-
-
Does this limitation apply for X200Tablet ?
-
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
2/ In Memory Address Field type "FEBFB800", Click "Read"
These two steps are shown on screenshot here.
3/ Move mouse to top left field that aligns row "FEBFB800" and Column "00" and click on it.
4/ Check bits 23:20 (CAP.ISS) on your Dell 1720, with capping shown as follows:
0001=1.5Gbps mode
0010=3Gbps mode -
Yes and bit 20 = 0
bit 21 = 1
bit 22 = 0
bit 23 = 0
which should mean that it is naturally on 3 gbps right?
however intel storage manager says "CURRENT SERIAL TRANSFER MODE: GENERATION 1" and i am running a 320GB scorpio black 7200rpm which naturally supports SATA II -
User Retired 2 Notebook Nobel Laureate NBR Reviewer
Last edited by a moderator: Feb 2, 2015 -
screenshot here.
i think i'll test it again when i recieve my vertex, but for now all looks correct, right?Attached Files:
-
-
-
-
the limit only exists for *6* Thinkpad-Models and older Models. all new / up-to-date models have full sata-300 speed.
-
This thread is great. I'm a T61 owner and dissatisfied with Lenovo's official answer not to support 3.0 Gb/s data transfer rates in my laptop. http://forums.lenovo.com/lnv/board/...hread.id=34685&view=by_date_ascending&page=23
I wish this method will work well. -
From that thread: " "For Santa Rosa-based systems, the Intel ICH8 supports a SATA bus speed of up to 3.0 Gb/s. Lenovo made a design decision to prioritize maintaining compatibility with Ultrabay disk drives, which are connected via a SATA-to-PATA conversion chip which could not handle a 3.0 Gb/s SATA bus speed reliably. Therefore the system was standardized to 1.5 Gb/s.
Ah-ha, this is why, so can't we simply reverse that extra feature? To enable the other? will that work? No body wants or needs it here
" The Montevina based systems which began shipping last year have direct SATA interfaces for both drive bays and are enabled at a system level for SATA bus speeds of 3.0 Gb/s performance."
Yah again!
Something smells the same with the Dells:
"BIOS A07
Fixes/Enhancements
------------------
1. Updated Intel uCode.
2. Added support for New optical drives.
3. Support new CPUs.
4. Added enhancement for thermal control.
5. Added enhancement for MediaDirect control.
A09 will have it too" -
User Retired 2 Notebook Nobel Laureate NBR Reviewer
Courtesy of HUMAN2:
MacBook Pro update rights the wrong, enables 3Gbps SATA transfers
by Darren Murph, posted Jun 22nd 2009 at 5:53PM
We've seriously no idea why Apple didn't just ship all of the June 2009 MacBook Pro units with the SATA 3Gbps specification enabled, but at least it caved to the chorus of complaints and enabled it today via a firmware update. MacBook Pro EFI Firmware Update 1.7, as it's called in Software Update, weighs in at just 3.35MB and requires OS X 10.5.7 to be installed. According to Apple, the update "addresses an issue reported by a small number of customers using drives based on the SATA 3Gbps specification with the June 2009 MacBook Pro." Of course, it goes on to say that it still doesn't support the use of drives that can take advantage of such speeds, but at least you have the option now of taking matters into your own hands and upgrading to a non-hamstrung SSD should you choose.
Is it Lenovo T61p/Dell owners turn now? -
Hi, are nando4's instructions different for T60p laptops?
-
resurrection
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
-
hey everyone, count me in as another UNHAPPY Lenovo customer. i have TWO T61p ThinkPads, and have discovered that the SATA II SSDs that i just bought are restricted to SATA I speed, so they operate at less than half of their rated specifications, when installed in the ThinkPad machines.
Lenovo completely obscured this *important* fact in the product literature for the T61p. according to the spec sheet, the system supports SATA II (3.0 Gb/s), yet Lenovo makes no mention at all that the T61 is actually capped at half that speed. Lenovo has turned out to be one hell of a shady company, and they are dragging the ThinkPad brandname through the dirt. i sincerely hope that IBM comes to our rescue, and kicks Lenovo to the curb, where they belong!
i also think that we ThinkPad owners should put the pressure on Lenovo and DEMAND that they FIX this situation, by releasing a BIOS update that provides the user with an option to enable SATA II... OR replace the DEFECTIVE ThinkPads with hardware that actually meets the *advertised* specifications!
i'm surprised more ThinkPad owners are not up-in-arms over this, probably because they don't know they've been RIPPED-OFF by Lenovo. but as people upgrade their ThinkPads with SSDs, they are in for a nasty surprise, as i just found out myself.
Lenovo, YOU SUCK! -
it would be nice if a BIG site like engadget.com or whatever would talk about that problem (like they did with the new macbook pro) ... maybe then a lot of people would take part in a petition or sth.
talking about it on a forum is one thing..
someone really has to take care about that issue. this way nothing will happen, just "working as designed".
cheers. -
User Retired 2 Notebook Nobel Laureate NBR Reviewer
Out of curiousity, created a thread on MydigitalLife. Wonder what will happen?
Lenovo T61P bios mod request - remove the 1.5Gbps SATA-II capping to allow 3Gbps mode and also added to the Lenovo bios thread.
Maybe a bios modder can help out? -
so, that makes me happy, thank you Lenovo for caring about your customers. i was surprised by the phone call, and pleased.
i'll follow-up on this later, after i get my new ThinkPads... hopefully with more good news.
Thinkpad SATA 1.5GB/s limitation (with SSD)
Discussion in 'Lenovo' started by Pascal_TTH, Oct 21, 2008.