Intel I/O chips' IDE controller runs at a maximum of UDMA5 (100MB/s read, 88.9MB/s write). Congratulations on the good result.
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
-
I guess bay limits the speed to UDMA5, you can't get UDMA6 on it I'm afraid. -
@ nbruser:
Your script has failed on my HP 8510w running Win7x64. My investigation leads to the BAR-Edit.exe which needs a TVicPort.dll. Where is that from? Please advise.
Many Thanks. -
User Retired 2 Notebook Nobel Laureate NBR Reviewer
-
Yeah it's in %WINDIR% (C:\WINDOWS), forgot about this. Just do what nando said.
-
installed 1TB WD WD10TPVT in caddy
speed is great comparing to older Fujitsu, around 75 mb/sec for reads and 54 mb/sec for writes..
hdparm says HDD works in udma6, but I think it's still limited to udma5.
-
Thanks Nbruser and Nando4 for your help.
That works but the result is inconsistent. Sometimes, after a sleep mode, the HD in caddy waits very long time (the dvd adapter LED is still) to get ready.
Now, I will be trying another way: I will be using a mini pci-e SSD 64gb as a primary drive, combined with the standard HD. A USB interface mini pci wifi will be put in the WWAN slot (to replace the mini pci-e wifi taken over by the SSD).
I will let you know the result as soon as I put the mini pci-e SSD to run on my 8510w.
_____________________________________________________________________________________________________________________
HP 8510W | 1920 x 1200 | 8GB DDR2 | 1 64GB MyDigitalSSD mSATA SSD + 1 7200rpm 320gb | Windows 7 Ultimate x64Last edited by a moderator: Feb 2, 2015 -
Last edited by a moderator: Feb 2, 2015 -
User Retired 2 Notebook Nobel Laureate NBR Reviewer
fast2ndd.batCode:@setpci -s 0:1f.2 54.w=1033 @hdparm -X udma5 /dev/sdb
-
oh nice, just need to replace baredit with it!
-
I'm still using devcon to rescan hardware before setting udma, otherwise it's not always works.
so the script looks like this now:
HERE -
Hi to all !
I have good news: I make my HDD installed in caddy work with full speed.
All I did is I set "SATA operation" to "AHCI" instead of default "ATA" in BIOS option "Onboard devices -> SATA operations".
Other info:
Laptop: Dell Precision M4300
OS: Lubuntu Linux 11.10
Caddy: Nimitz 2ND HDD CADDY ( ebay link )
Speed before (by hdparm): cca 15 MB/sec
Speed before (by Disk Utility ->Benchark): 20 MB/sec (constant = not using full HDD speed potencial)
Speed after (by hdparm): 41.00 MB/sec
Speed after (by Disk Utility ->Benchark): max 44.9 , min 24.9 (slower at disk end = expected HDD characteristic)
UDMA/DMA modes didn't change at all, it was by default *udma5 before and after changing BIOS parameter (see below result of hdparm -i) !
# hdparm -t --direct /dev/sda
/dev/sda:
Timing O_DIRECT disk reads: 124 MB in 3.02 seconds = 41.00 MB/sec
# hdparm -i /dev/sda
/dev/sda:
Model=ST980825AS, FwRev=3.12, SerialNo=5MH0Y33Z
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=8
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=156301488
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=yes: unknown setting WriteCache=enabled
Drive conforms to: Unspecified: ATA/ATAPI-1,2,3,4,5,6,7
Good lack with finding your own solution ! -
Because your caddy has SATA port instead of IDE.
-
I have some questions regarding this solution. What exactly setpci does? I know, it goes into register for device with certain id and changes chosen value to 1033. I looked at given address and I got device 2829 which is in my 6710b laptop Standard AHCI 1.0 Serial ATA controller. Shouldn't that value be set for device with id 2850 as it is ICH8M Ultra ATA Storage Controller responsible for PATA? -
I'm a bit confused by all the scripts here; I need one that just runs "hdparm -X udma5 /dev/sdb", what should I use for that?
-
so you need to modify special register in order to fix UDMA5 mode for /dev/sdb.
the reason why I'm doing this twice, because sometimes it just don't work once. -
http://forum.notebookreview.com/hp-...ive-6510b-dvd-bay-improved-7.html#post8115444
I just have hdparm installed.
Thanks -
check this link:
http://forum.notebookreview.com/hp-...ive-6510b-dvd-bay-improved-5.html#post7468783 -
-
I only registered to this forum to express my thanks, to everybody,
that gave a solution to speeding the 2nd harddrive.
nbruser, nando4 and everybody else that are stubborn, and committed,
into finding solutions to everyday problems, that companies like HP should have made a lot easier to fix. I own a 8510p and installed a Crucial M4 128GB SSD as primary disk and a WD Scorpio Blue 320GB (Bpvt) as a second HDD. My Scorpio now enjoys 76 MB/s read and 53 MB/s write, a huge improvement over the 15 MB/s Read-Write with mdma. The setpci didn't work for me either nbruser so I used the BAR-Edit script. Thank you again.
This is the link to the caddy I use (the only downside is that the caddy is not
evenly flat with the side of the laptop, it pops out by 1mm)
http://www.ebay.co.uk/itm/120844619408?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649
and here is a crystal disk mark score after the fix
If anybody has any suggestions about the low scores on 4K, please feel free.Attached Files:
-
-
-
worked like a charm nbruser, thank you.
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
An alternative solution was proposed on 51nb.cn where the user edits the MBR to make those PCI config register changes. See details. This is a highly technical solution requiring disassembler knowledge. -
actually there is a tool on mydigitallife.info for HP Compaq bioses.
you can unpack whole bios contents and better look there for retail solution -
User Retired 2 Notebook Nobel Laureate NBR Reviewer
Appears all the Santa Rosa series of HP notebooks have some performance issue when running a caddy in the PATA optical bay slot. Even the 2510P, which came only with a native PATA storage subsystem, sees the caddy run at max 30MB/s writes when jumpered as slave. So if you figure a solution then consider modding all the bios at http://forum.notebookreview.com/hp-...-bios-hdx9000-87x0-85x0-6x10-27x0p-25x0p.html . Do not try the mod on the latest F.20 or newer bioses - HP have decided they don't like us doing such mods and have RSA encrypted the bios. It will fail to flash upon detecting such mods AND prevent you flashing previous modded bios. Nasty stuff. -
However, maybe my friend will succeed in this task (he is a good BIOS reverse-engineer).
EDIT: if you are experiencing weird problems with 2nd HDD in caddy, make sure you have "HP 3D DriveGuard" turned off for drive in caddy because its very buggy and can lead to various hangs in OS. -
Hi nbruser, thanks for your work! I am using a 8710w with win 7 64bit. I can get the caddy bay work at UMDA 5 with your script at boot, there is a slight delay in the BIOS self check stage which is not a big issue. But I am also suffering the problem of very long waiting time after resume from a sleep. I have already created the additional trigger, there is a slight difference in my task scheduler menus. I have: Begin the task "One an even", Log(instead of Journal) "System" and Sources "Power-Troubleshoorter", everything else is left at default. Is there anything else I need to set to get rid of the long waiting time after sleep?
Also, I am planing on installing Ubuntu in my 2nd caddy HD. I have noticed that under default ubuntu booting, the 2nd caddy is working at UMDA 2 mode with 33MB/s w/r speed, which is a lot better than the 15MB/s DMA multiword 2 mode in windows by default. I have heard people saying I can enable the full UMDA 5 speed through a setpci mod in grub, does anyone know how to do that by chance? Thanks!
-
I'm actually using setpci instead of BarEdit right now..
I'm still thinking it's mostly a Windows issue rather than BIOS, because if I do my fix - after reboot everything is fine and HDD works in UDMA6 without applying the fix again.
There is also a way of modifying MBR, but I didn't try that. The slowness most likely caused by the usage of the drive. Maybe you're using already the drive when the script is being executed (so windows resets drive..) ?
You can try THIS -
Hi, guys, to summ up everything currently you can use 2 methods to fix this issue:
1) SOFTWARE
2) MBR editing
check this POST -
Hi nbruser, I also tried the MBR editing method. The following is my experience which I can't assure applies to other people's cases.
The original post from the chinese forum is based on the MBR from a windows XP partitioned driver. I could simply download his modified mbr file and use:
dd if=modified.bin of=/dev/sda bit=446 count=1
to apply the tweak to my drive without hurting my partition information. However, if I use a windows 7 partitioned driver, the mbr information for initialization is very different, thus can't use this simple tweak and must modify the codes manually (add in extra jump loop for the register).
What I have noticed is that the mbr modification is actually doing the same job as the setpci. It enables the UDMA mode under windows, which by default is at UDMA2 mode. After UDMA enabled, simple:
hdparam.exe -X UDMA5 /dev/sdb
would set the UDMA5 mode nicely and remains the same mode even after reboot or resume from sleep, well as far as you always boot into windows. As a matter of fact, even if I don't use the mbr method and only stay with the baredit or setpci script, I also only need to run the script once. That's right! Even without running the script again at booting everytime, the UMDA5 mode always stays for each reboot or resume. However, if I boot into linux once, the UDMA5 tweaking information is lost and has to be redone again, this is true for both the script method and the mbr method. The different between them is that for the script method, you would fall back to the super slow MDMA2 mode, while the modified mbr brings you back to UDMA2.
At this point things seem to be working pretty nice, after all not many people need boot into linux. Well, there is one problem I can never get around with that finally made me give up the UDMA5 adventure:
The extreme long waiting time after resume! This problem hits me almost every single time after I left my sleep for more than 10mins or so. The hard drive activity LED keeps on and the driver in the optical bay is busy with something for like 5mins or longer. I have verified that the source of this issue comes from the hdparam program. Means if you only use mbr enable the UDMA(2) mode, but not applying the UMDA5 switch, the problem won't happen. Once hdparam is used to set UDMA5, I always get the problem. Try to reset the IDE controller register back to 0000 with setpci doesn't help. I have never found a solution to this problem, and I can only assume there is something wrong with my caddy adapter if no one else suffers this problem. Unlike the Marvell chip many other caddies use, mine has a Sunplus SATALink SPIF223A-HL002 chip, my driver is a 500GB WD blue. Maybe this chip is not as stable as the Marvell ones -
1) First of all what's your laptop model?
2) I managed to fix MBR for Windows 7 and you don't need to start anything after fix applied, you just boot that's it. And if computer returns from sleep 2nd HDD works fine in UDMA5.
3) About Linux - well, most likely Linux resets somehow drive state and probably writes some information into registers so you might need to check what grub or other bootloader is doing.
Here is what my friend and I did with MBR (big thanks to my friend):
1) Basically you need to extract MBR first either with dd or HexEdit
MBR is the first 512 bytes from the start of the drive
with dd:
Code:dd if=/dev/sdX of=mbr bs=512 count=1
Basically you need to locate in original MBR
Code:seg000:0017 push ax seg000:0018 push 61Ch
Code:seg000:0017 jmp loc_163
Code:seg000:0163 ; --------------------------------------------------------------------------- seg000:0163 dec cx
Code:seg000:0163 ; --------------------------------------------------------------------------- seg000:0163 seg000:0163 loc_163: ; CODE XREF: seg000:0017j seg000:0163 mov ax, 8000h seg000:0166 shl eax, 10h seg000:016A mov ax, 0F954h seg000:016D mov dx, 0CF8h seg000:0170 out dx, eax seg000:0172 add dl, 4 seg000:0175 mov ax, 0 seg000:0178 shl eax, 10h seg000:017C mov ax, 3033h seg000:017F out dx, eax seg000:0181 mov ax, 8000h seg000:0184 shl eax, 10h seg000:0188 mov ax, 0F948h seg000:018B mov dx, 0CF8h seg000:018E out dx, eax seg000:0190 add dl, 4 seg000:0193 mov ax, 1 seg000:0196 shl eax, 10h seg000:019A mov ax, 1 seg000:019D out dx, eax seg000:019F xor ax, ax seg000:01A1 push ax seg000:01A2 push 61Ch seg000:01A5 retf seg000:01A6 ; ---------------------------------------------------------------------------
He disassembled MBR, located where he can inject this code, compiled ASM code into Visual Studio and edited in HexWorkshop relevant parts of the MBR.
Here is first 422 bytes of MBR for Windows 7 x64 Ultimate (Partitions should be untouched if you apply this patch, but
I DO NOT GUARANTEE ANYTHING SO BETTER BACKUP YOUR MBR BEFORE PROCEEDING AND GET A LIVECD/USB RECOVERY:
mbr_patch_422_bytes
3) What does this patch do?
It writes into 0/31/1 device register 54h 3033h which stands for 80pin cable / UDMA enabled for both master and slave devices connected to IDE Controller.
It writes into 0/31/1 device register 48h 10001h which stands for PCT values used for UDMA (without this Windows will reset drive back into UDMA2 - exactly the annoying error you described).
NOTE: I tested this ONLY on Newmodeus caddy (master jumper activated) - it worked just fine.
Please test this and report back if it worked for you. -
If Windows resets the drive that means in register 48h 000000. Windows also clears up 54h as well, because if you read Intel's documentation about ICH8-M you'd notice there is a requirement of PCT0 to make UDMA work.
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
-
I use the 8710w laptop, and I used the IDA to do the MBR analysis and Ultra Edit to apply the changes. My fix for the windows 7 MBR used the same strategy as yours, I used the address from 0163h to 01b1h that orginially holds the error message to host the new register information, but I only had the part that resets the 54h resister to enable the UMDA mode, that is what I learned from the Chinese post. Nice job on finding the fix for register 48h! I would never figure that out given my zero knowledge of hardware, can only do what other people already have found
I am going to give my crappy caddy one last shot see if the new MBR fix can wake him from sleep correctly and I will keep you guys posted.
-
Hmm, interesting that the Marvell chip doesn't have the boot up delay. Well that actually doesn't bother me much, if my SATALink chip wakes up normally, I would be happy with it
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
-
Mine doesn't have a switch, but I saw it was working on master when I had it installed before. I didn't think much of the channel problem given the 8710w only has one IDE device, sitting on master seemed reasonable to me.
-
User Retired 2 Notebook Nobel Laureate NBR Reviewer
-
The stock optical drive is sitting at master too.
-
I remember my HP nc6000 had real problems with bios hoockups. Also if such problem appeared the hdd weren't even recognized until I reinstall the caddy from the bay and back... Or even put another HDD in it.
If it is just chip's vendor problem then maybe I will give another 2nd hdd caddy another chance. The previous one I sold to one guy and he never had a problem. -
kingzq
Did you try my method of MBR editing or did you try my script at Windows logon or startup / waking up from sleep? -
Hi Nbruser, sorry for the late reply, was on a trip till this noon.
I just tried your mbr and the good news is I can confirm it works on my Sunplux chip caddy to set the udma 5 mode without any issue, no more scripts needed. However, the bad news is the long waiting time after resume from sleep still exists just like the old scripting methods.
By far it seems the caddy that uses the Sunplux chip has compatibility issue with the HP laptops by causing: 1st, 15 seconds or so of delaying time at BIOS booting; 2nd, 5mins or so delay after resuming from sleep under windows 7. According to other people's experiences, the caddy that uses marvell chip does not have these problems. So we might have a perfect solution for the marvell chip caddy users now, hopefully some other users can confirm this.
-
did you try adding my latest manual script on the power troubleshooter event in the scheduler or on logon?
when freeze occurs? (after you login or just when your windows wakes up from sleep on the logon screen?)
did you remove all of the old scripts from the system before testing?
is your drive running in slave or master mode?
About 15 seconds delay at boot - i have the same issue with my Newmodeus caddy, actually I'd say it's 30 sec. Can't do anything with this - it's a bios issue most likely. -
I don't know about his laptop but my delay was like this: Press power button> 50% chance that I see black screen for 15 seconds> then I just give up, hard shut down, threw caddy with HDD somewhere and in 2-4 days have to swap HDDs in bay because laptop doesn't see it unless I change it. Then the story repeated with 2-nd hdd and I switched back.
-
your caddy is based on Sunplux too or it's a different one? -
I removed the script and the events.
The freeze occurs 5-10 seconds after wake up from sleep. It happens both before log in and after log in. Means if you do nothing after waking up, you will see the HD light busy for almost 5 mins. Or you log in right after resume, the HD light still becomes busy a few seconds later and last for almost 5 mins.
My caddy is on primary, same as the original optical drive.
-
freeze most likely means that Windows resets drive into mdma2 mode.
can you check with hdparm what's drive mode after freeze occurs when restoring from the sleep after logon?
all freezes I had before were connected toCode:hdparm -X udma5 /dev/sdb
-
You have to wait it sleeps for like 10 mins or more to see the problem.
I have checked the hdparm, it is still at umda5 after resume and the freeze. I wanted to see whether it was reset back to mdma2 right after resume but before the freeze takes place, (during that 10seconds time window) but when ever I run hdparam, the free starts.
What's the chip in your caddy? There may also be compatibility issue between the caddy chip and the hard drive used. Actually several users at that chinese post reported issue between the Marvell chips with seagate hd. I only have one WD hard drive now so I can't test if the issue goes away if I put in another hd.
-
can you check both registers after your laptop wakes up from sleep with baredit or setpci?
Can speed of 2nd harddrive in 6510b DVD-bay be improved
Discussion in 'HP Business Class Notebooks' started by diskfreak, Apr 22, 2009.