PDA

View Full Version : Increasing xfer Speed - Summary of what to do!



wdwms
04-04-2004, 02:14 PM
Ok I've been lurking here for far too long, taking advice and such, so now it is my turn to give back something to the community... (i'll be posting instructions with my LCD Tivo Screen script shortly, thats my 2nd contribution)

So after I fumbled with my Tivo for the past 2 weeks, I though it would be only fair to summarize what I did to speed up xfers in one thread. This is by no means a complete list, so I ask that others add to this thread and post clear and concise instructions on what they have found to work.

Enjoy, and my many thanks to everyone for helping me out.

-T

-------------------
1. Modify Windows based client system network settingsVisit: http://www.speedguide.net/downloads.php
Download and run TCP Optimizer. Select your network adapter, click "Optimal Settings" at the bottom, click "Extreme" at the top. "Apply Changes" and reboot.
What this does: Modifies TCP parameters such as window size & MTU to optimized settings. Windows comes with default parameters that are not optimized for speedy networks. Some software packages or driver installations will modify this setting, if you notice a decrease in performance run TCP Optimizer again.
Effect: Nearly doubled my performance from .42 to .72

2. Modify bootpage to turn off IDETurbo
From a bash prompt, enter: bootpage -p /dev/hda
You should get something like: root=/dev/hda4
Then enter: bootpage -P "root=/dev/hda4 runideturbo=false" /dev/hda
Make sure you use the appropriate devices, /dev/hda is just an example, your device may be different (/dev/hda7, etc.)
What this does: The ideturbo module is intended to put the drives in "streaming media" mode; a few tests suggest that drive access actually slows down while ideturbo is loaded, adding runideturo=false to the boot params will prevent the ideturbo module from loading
Effect: Didn't increase network xfer speed, but did improve disk access for tivoweb, on screen menus, and other disk activity.

3. Turn off TivoWeb
Some users have experienced improve xfer speed by turning off TivoWeb, as this process tends to be a CPU hog.
Effect: None

4. Tune Tivo to a channel you don't recieve
Supposedly makes Tivo do "less" and not record.
Effect: None on my SA1 Tivo, users with DTivo report improvements.

5. Modify HDParm
Haven't experimented yet, maybe someone else can email me detail information.
Effect:

sanderton
04-04-2004, 05:00 PM
1. Modify Windows based client system network settingsVisit: http://www.speedguide.net/downloads.php
Download and run TCP Optimizer. Select your network adapter, click "Optimal Settings" at the bottom, click "Extreme" at the top. "Apply Changes" and reboot.
What this does: Modifies TCP parameters such as window size & MTU to optimized settings. Windows comes with default parameters that are not optimized for speedy networks. Some software packages or driver installations will modify this setting, if you notice a decrease in performance run TCP Optimizer again.
Effect: Nearly doubled my performance from .42 to .72


Nice one. I had manually tweaked my MTU from the Windows default to the normally recommended 1500, but this program showed that packets were fragmenting to the TiVo. Reset the MTU to the value recommended and extraction speeds are up around 100KB/s.

TheWickedPriest
04-04-2004, 09:49 PM
The ideturbo module is intended to put the drives in "streaming media" mode; a few tests suggest that drive access actually slows down while ideturbo is loaded
I'd like to know more about ideturbo... it seems to be poorly understood.



4. Tune Tivo to a channel you don't recieve
Supposedly makes Tivo do "less" and not record.
Effect: None on my SA1 Tivo, users with DTivo report improvements.
DTivo users will benefit more by putting the unit into Standby mode, which disables live buffering altogether. I get, gosh, nearly a 2x boost in Standby.

FredThompson
04-05-2004, 01:10 AM
1. Modify Windows based client system network settingsVisit: http://www.speedguide.net/downloads.php
Download and run TCP Optimizer. Select your network adapter, click "Optimal Settings" at the bottom, click "Extreme" at the top. "Apply Changes" and reboot.
What this does: Modifies TCP parameters such as window size & MTU to optimized settings. Windows comes with default parameters that are not optimized for speedy networks. Some software packages or driver installations will modify this setting, if you notice a decrease in performance run TCP Optimizer again.
Effect: Nearly doubled my performance from .42 to .72
Yeah, this IS really nice.

AlphaWolf
04-05-2004, 01:40 AM
You can also pull your access card. This causes the dssapp to go to a nearly idle state, which saves on CPU time.

eastwind
04-05-2004, 02:14 AM
I get about a 10% boost when I don't record a live buffer on my old SA Series 1. 1.49->1.63

ew

rc3105
04-05-2004, 02:35 AM
add these lines to rc.sysinit, rc.sysinit.author or wherever you like in a startup script

hdparm -c 1 -S 0 -m 8 -M 1 -d 1 /dev/hda /dev/hdb
hdparm -c 1 -S 0 -m 16 -M 1 -d 1 /dev/hda /dev/hdb

disabling ideturbo (via the boot parms or simply deleting the file) and the hdparm settings -c 1 & -m 8 make the biggest differences


cmd explainations:

the first line sets the multicount to 8, supported by nearly every drive you're likely to see. the second line bump's that to 16, supported by 95% of all drives. if you have one of the unfortunate 5% hdparm returns an error & multicount remains at 8

/dev/hda /dev/hdb applies changes to drive A and B if available

-c (0/1) is for 16/32 bit transfers. 32 is of course MUCH more effecient

-S is the standby timeout. 0 == never. generally not an issue, but never hurts to be thorough

-m get/set multiple sector count, varies by drive, generally 8 or 16

-d (0/1) disable/enable dma. set to 1 (enable) of course.

(there's another command to change the dma mode, but don't change it unless you're feeling adventureous, have everything backed up & know exactly what the command is all about. *nix guru's only)

-M drive streaming-media mode (0/1) - generally doesn't make any difference unless you're running 10,000 rpm AV drives

rc3105
04-05-2004, 05:17 AM
tuning your tivo network settings can also help quite a bit (http://www.psc.edu/networking/perf_tune.html#Linux)

sanderton
04-05-2004, 05:36 AM
tuning your tivo network settings can also help quite a bit (http://www.psc.edu/networking/perf_tune.html#Linux)

Do you recommend the specific example settings they give on that page, or have you tweaked them further?

rc3105
04-05-2004, 05:54 AM
those particulars are kernel 2.4.x (S2) specific and just an example starting point

we needa lasso a networking guru into writing a tivo-side network settings optomizer, yanno?

any volunteers?

Meklos
04-05-2004, 10:39 AM
those particulars are kernel 2.4.x (S2) specific and just an example starting point

we needa lasso a networking guru into writing a tivo-side network settings optomizer, yanno?

any volunteers?


I might be able to interpret some things if we had a complied version of netperf, but I don't have a cross compiling setup completed yet.

BlaSTiWi
04-05-2004, 01:53 PM
As far as hdparm, with the -a (readahead) switch my HDs showed up as 8, and hdparm seems to accept up to 255 anybody know if higher value than 8 do any good or more harm instead?

# hdparm -v /dev/hda

/dev/hda:
multcount = 16 (on)
I/O support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 16383/16/63, sectors = 240121728, start = 0

BlaSTiWi
04-05-2004, 02:49 PM
add these lines to rc.sysinit, rc.sysinit.author or wherever you like in a startup script

hdparm -c 1 -S 0 -m 8 -M 1 -d 1 /dev/hda /dev/hdb
hdparm -c 1 -S 0 -m 16 -M 1 -d 1 /dev/hda /dev/hdb

disabling ideturbo (via the boot parms or simply deleting the file) and the hdparm settings -c 1 & -m 8 make the biggest differences
[...]
-M drive streaming-media mode (0/1) - generally doesn't make any difference unless you're running 10,000 rpm AV drivesIs it OK to re-enable the "-M1" again after disabling ideturbo kernel module?

Or the purpose of "streaming media" mode for each are different?

rc3105
04-05-2004, 03:25 PM
depends on the particular drive & usage patterns. try 'em & see

AVD
04-06-2004, 06:47 PM
4. Tune Tivo to a channel you don't recieve
Supposedly makes Tivo do "less" and not record.
Effect: None on my SA1 Tivo, users with DTivo report improvements.
[/B]


With a SA tivo and cable box, all you have to do is shut off the box, and you will see a huge jump. (Don't forget to turn it back on.) I guess disconnecting any video source will do the same thing.

ChrisR
04-12-2004, 04:12 PM
After doing that I had to reboot a few hours later. Now my tivo is dead. Nothing is even happening through the serial connection.

DPlatt
04-12-2004, 08:32 PM
After doing that I had to reboot a few hours later. Now my tivo is dead. Nothing is even happening through the serial connection.

It's going to be pretty hard to help you unless you tell us what "doing that" refers to.

ChrisR
04-13-2004, 12:24 PM
"Doing that" is in reference to what the thread is all about. "Increasing xfer Speed - Summary of what to do!"

I did specifically what the top thread said to do. After doing so I rebooted the tivo a couple hours later and it would not boot backup. It did increase my transfer rate but that might also be due to the mtu settings being different on pc.

Now how can you help me now that you know what "doing that" is all about?

DPlatt
04-13-2004, 02:47 PM
"Doing that" is in reference to what the thread is all about. "Increasing xfer Speed - Summary of what to do!"

I did specifically what the top thread said to do. After doing so I rebooted the tivo a couple hours later and it would not boot backup. It did increase my transfer rate but that might also be due to the mtu settings being different on pc.

Now how can you help me now that you know what "doing that" is all about?

There have been at least four different posts in this thread telling people to try various things on their TiVo to increase transfer speeds. How in the world were we supposed to know which one you tried, since you didn't quote any of them?

Anyway, I'll still take a stab at trying to help you, despite your attitude and your serious lack of information, such as what type of TiVo you tried this on.

Does your TiVo happen to be monted? If so, and you typed the bootpage command as written (bootpage -P "root=/dev/hda4 runideturbo=false" /dev/hda), then you wiped out your original bootpage that enabled your monte. You'll need to rebuild your bootpage; how to do it should be in this post (http://www.dealdatabase.com/forum/showpost.php?p=105392&postcount=83) somewhere.

AlphaWolf
04-16-2004, 12:52 AM
Anyways, heres another speed tip for those who absolutely insist on running everything, including the kitchen sink: Lower the the thread priorities of all of your memory/cpu intensive hacks to the lowest. You'll need setpri (http://www.dealdatabase.com/forum/showpost.php?p=119705&postcount=53). Add this line to the very beginning of your rc.sysinit.author (right after the #!/bin/bash line):



setpri fifo 1 $$


If you don't have a setpri binary on your tivo, this wont do anything. If you run mfs_ftp or tivoweb at startup, you should launch them after this line.

rmedure
04-22-2005, 04:38 PM
add these lines to rc.sysinit, rc.sysinit.author or wherever you like in a startup script

hdparm -c 1 -S 0 -m 8 -M 1 -d 1 /dev/hda /dev/hdb
hdparm -c 1 -S 0 -m 16 -M 1 -d 1 /dev/hda /dev/hdb

disabling ideturbo (via the boot parms or simply deleting the file) and the hdparm settings -c 1 & -m 8 make the biggest differences

Disabling ideturbo made no difference for me
and hdparm -c 0 is 2-5% faster than -c 1 (go figure)
(tested on SA2, hacked ver 4.01b, backport drivers, usbcore tweak ... tytool download avg about 2.92 M/s, have always had tweaked XP TcpIP parameters for VPN)

Any comments for why none of the quoted suggestions are working for me?

94SupraTT
04-24-2005, 10:35 AM
Putting my S2 in standby allowed me to trasfer at 2.77 meg/sec through tytools. Whereas normally I transfer at 2.3-26 meg/sec.

dlang
09-04-2005, 09:34 PM
what are the network settings that work best with a series1 Dtivo and a cachecard? (I'm running linux so I can't try the suggested test tool)

pyroman1
03-27-2006, 04:53 AM
tuning your tivo network settings can also help quite a bit (http://www.psc.edu/networking/perf_tune.html#Linux)

Running SAT-T60 S1 DTiVo.

I don't know about anyone else, but I can't even chmod the directories this URL references, much less actually create the files in those directories.:confused:

Any ideas?

And yes, I did mount as rw. :D

1dave1
03-30-2006, 03:06 AM
? Will the drive param. affect the Hard Drive life (wear and tear)?

ciper
07-18-2006, 08:19 PM
Instead of putting both lines into your startup script you can ask the hard drive what it supports and adjust accordingly

Run hdparm -i /dev/hda /dev/hdb then look for MaxMultSect. Whatever MaxMultSect says is what -m should be set for.

1dave1: If you exclude -S 0 then the drives life will be unnaffected.

-S 0 is a power management setting and it prevents the drive from going to sleep. I personally believe that leaving a hard drive on all the time results in longer life so I set -S 0 on both of my drives.

rkshack
07-30-2006, 11:24 PM
This is what I have in my rc.sysinit.author:
#!/bin/bash
hdparm -c 1 -S 0 -m 8 -M 1 -d 1 /dev/hda
hdparm -c 1 -S 0 -m 16 -M 1 -d 1 /dev/hda

And this is what I get when I do hdparm -v- /dev/hda:
/dev/hda:
multcount = 0 (off)
I/O support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 16383/16/63, sectors = 268435455, start = 0

Why are not my multicount or any other features on?

Jamie
07-30-2006, 11:51 PM
Why are not my multicount or any other features on?
You sure your hdparm accepts all the options? The easiest way to tell is to run it interactively from the shell to see. I'll bet it doesn't take "-M 1" (acoustic management).

rkshack
07-31-2006, 12:03 AM
You sure your hdparm accepts all the options? The easiest way to tell is to run it interactively from the shell to see. I'll bet it doesn't take "-M 1" (acoustic management).


I did it from the bash prompt and got:
/dev/hda:
setting 32-bit I/O support flag to 1
setting multcount to 16
setting using_dma to 1 (on)
setting streamedia mode to 1 (on)
setting standby to 0 (off)
multcount = 16 (on)
I/O support = 1 (32-bit)
using_dma = 1 (on)

So I guess there must be a problem with rc.sysinit.author. Any suggestions? I am getting 700-800k upload speed though so I am relatively happy.

Rkshack

eastwind
08-05-2006, 04:01 PM
So I guess there must be a problem with rc.sysinit.author. Any suggestions? I am getting 700-800k upload speed though so I am relatively happy.

Rkshack
You could take a further look at your rc.sysinit.author file and if it wan't posted in its entirety, post the rest of it. If it was, check to make sure it has UNIX line endings (not DOS) as these would prevent it from executing at all.

ew

lee78221
08-06-2006, 03:20 AM
what is going on here?

bash-2.02# bootpage -p /dev/hda
root=/dev/hda4 dsscon=true console=2,115200 upgradesoftware=false
bash-2.02#
bash-2.02# bootpage -P "root=/dev/hda4 runideturbo=false" /dev/hda4
Boot page does not have TCD signature!
bash-2.02#


does the Boot page does not have TCD signature! a bad thing?
bash-2.02#

cheer
08-06-2006, 10:33 AM
what is going on here?

bash-2.02# bootpage -p /dev/hda
root=/dev/hda4 dsscon=true console=2,115200 upgradesoftware=false
bash-2.02#
bash-2.02# bootpage -P "root=/dev/hda4 runideturbo=false" /dev/hda4
Boot page does not have TCD signature!
bash-2.02#

does the Boot page does not have TCD signature! a bad thing?
bash-2.02#
Get rid of the 4. Bootpage is applied to the drive, not a partition.

lee78221
08-06-2006, 01:24 PM
Get rid of the 4. Bootpage is applied to the drive, not a partition.
thanks cheer you have been a great help to me over these past few months.



thanks you.:cool:

flagmaster
10-14-2006, 09:03 PM
Not sure if this is new info or not, but I have not seen it posted before...

I made a spiffy modification to my tivo, in that I put in drive access leds on the front. I have two drives, and I have a seperte led for the tivo A drive, and the tivo B drive. (this is kinda tricky, but not the point of this post).

My tivo the DirecTivo HR-10-250.

The other day I was called in to work to cover for someone sick, and the job I had to do was man the tech support telephone. I knew it was gonna be a long day with a lot of down time.

So, I unhooked my tivo and took it to work with me. Set it up with nothing more then a Audio and Video cable to a tv set, and the power plug.

When I booted it up with no antenna or satalite wires installed at all, I noiced that my drive activity led was ZERO when I pasued a video from the now playing list.

Even if I tune both tunners to a non-channels I never get zero activity.

So, as a thought, this might give direct tivo users and even bigger speed boost. Of course you wont want to leave it this way for long as it wont be able to record anything at all.

Just a thought.

If you want info on the hard drive access led project (extreemly handy for tivo hacking--troubleshooting) let me know.

Carey.

ciper
07-30-2007, 08:35 PM
Its funny when you read something you wrote years ago and can't remember doing it ;)

Either way I have been experimenting with HDPARM settings and found what seems to result in the best performance on my S1 box. As far as I can tell the default settings are -a 8 -c 0 -d 1-m 0 -u 0

Before changes benchmark. I ran this many times and the numbers barely changed


bash-2.02# hdparm -T /dev/hda /dev/hdb

/dev/hda:
Timing buffer-cache reads: 64 MB in 4.48 seconds =14.29 MB/sec

/dev/hdb:
Timing buffer-cache reads: 64 MB in 4.54 seconds =14.10 MB/sec

/dev/hda:
Timing buffer-cache reads: 64 MB in 4.49 seconds =14.25 MB/sec

/dev/hdb:
Timing buffer-cache reads: 64 MB in 4.54 seconds =14.10 MB/sec


bash-2.02# hdparm -t /dev/hda /dev/hdb

/dev/hda:
Timing buffered disk reads: 32 MB in 5.64 seconds = 5.67 MB/sec

/dev/hdb:
Timing buffered disk reads: 32 MB in 5.43 seconds = 5.89 MB/sec

/dev/hda:
Timing buffered disk reads: 32 MB in 5.79 seconds = 5.53 MB/sec

/dev/hdb:
Timing buffered disk reads: 32 MB in 5.46 seconds = 5.86 MB/sec


Then I ran the following command

bash-2.02# hdparm -a 255 -c 1 -d 1 -k 1 -m 16 -M 1 -S 0 -u 1 /dev/hda /dev/hdb
/dev/hda:
setting fs readahead to 32
setting 32-bit I/O support flag to 1
setting multcount to 16
setting unmaskirq to 1 (on)
setting using_dma to 1 (on)
setting streamedia mode to 1 (on)
setting keep_settings to 1 (on)
setting standby to 0 (off)
multcount = 16 (on)
I/O support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 1 (on)
readahead = 255 (on)

/dev/hdb:
setting fs readahead to 32
setting 32-bit I/O support flag to 1
setting multcount to 16
setting unmaskirq to 1 (on)
setting using_dma to 1 (on)
setting streamedia mode to 1 (on)
setting keep_settings to 1 (on)
setting standby to 0 (off)
multcount = 16 (on)
I/O support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 1 (on)
readahead = 255 (on)

Once that completed I ran the benchmarks again


bash-2.02# hdparm -T /dev/hda /dev/hdb

/dev/hda:
Timing buffer-cache reads: 64 MB in 4.43 seconds =14.45 MB/sec

/dev/hdb:
Timing buffer-cache reads: 64 MB in 4.34 seconds =14.75 MB/sec

/dev/hda:
Timing buffer-cache reads: 64 MB in 4.46 seconds =14.35 MB/sec

/dev/hdb:
Timing buffer-cache reads: 64 MB in 4.36 seconds =14.68 MB/sec


bash-2.02# hdparm -t /dev/hda /dev/hdb

/dev/hda:
Timing buffered disk reads: 32 MB in 5.28 seconds = 6.06 MB/sec

/dev/hdb:
Timing buffered disk reads: 32 MB in 5.44 seconds = 5.88 MB/sec

/dev/hda:
Timing buffered disk reads: 32 MB in 5.50 seconds = 5.82 MB/sec

/dev/hdb:
Timing buffered disk reads: 32 MB in 5.55 seconds = 5.77 MB/sec


I also ran this test multiple times and trimmed the results. Although small there is a noticable trend of higher numbers! I then edited my rc.sysinit and placed this at the very top. My kernel log now shows this as loading before everything else including the cachecard driver.

ciper
08-01-2007, 10:25 PM
I have found out the maximum transfer type the S1 tivo supports. Does anyone want to check this on newer tivos?

The "-X" option sets the mode. Here is a list of available settings
PIO modes (Programmed IO) (disk mode (above) + 8)
hdparm -X08 -> PIO 0
hdparm -X09 -> PIO 1
hdparm -X10 -> PIO 2
hdparm -X11 -> PIO 3
hdparm -X12 -> PIO 4

SDMA modes (Single-word DMA) (disk mode (above) + 16)
hdparm -X16 -> SDMA 0
hdparm -X17 -> SDMA 1
hdparm -X18 -> SDMA 2

MDMA modes (Multi-word DMA) (disk mode (above) + 32)
hdparm -X32 -> MDMA 0
hdparm -X33 -> MDMA 1
hdparm -X34 -> MDMA 2

UDMA modes (Ultra-DMA) (disk mode (abov) + 64)
hdparm -X64 -> UDMA 0 (ATA16)
hdparm -X65 -> UDMA 1 (ATA 25)
hdparm -X66 -> UDMA 2 (ATA 33)
hdparm -X67 -> UDMA 3 (ATA 44)
hdparm -X68 -> UDMA 4 (ATA 66)
hdparm -X69 -> UDMA 5 (ATA 100)

If you plan to experiment with these settings I suggest running them manually against your B drive. You dont have to worry as much about database corruption that way and at worst you will freeze the tivo (ive done it MANY times). I am now using this at the top of my rc.sysinit which sets both disks for MDMA2! -

hdparm -a 255 -c 1 -d 1 -k 1 -m 16 -M 1 -S 0 -u 1 -X 34 /dev/hda /dev/hdb
To better test speed I use this script

echo "start 50mb write"
time dd if=/dev/zero of=/var/hack/testfile bs=50000k count=1
echo "start 50mb read"
time dd if=/var/hack/testfile of=/dev/null bs=1000k
echo "size of file in kilobytes"
ls -k -s testfile | cut -d ' ' -f 1
rm /var/hack/testfile

TroyCarpenter
08-15-2007, 12:29 PM
My SAS2DT 649 unit seems to be set to ATA33:


bash-2.02# hdparm -i /dev/hda

/dev/hda:
...snip...
UDMA modes: mode0 mode1 *mode2 mode3 mode4 mode5
I have not tried other modes.