I have Linux Mandrake 8.2 installed and I'm trying to increase my RWIN settings but I'm not having any luck.
I've followed the instructions in the FAQ here at Speedguide.net with putting the net.core.rmem_default, etc in the /etc/sysctl.conf and I changed the actual files too in the proc/sys/net/core/, plus I changed them in the proc/sys/net/ipv4/. I did all during many rounds of change, reboot and test. But for some reason my RWIN still shows up on here as only 5840. I checked the files in the ipv4 and core and they show my changes (and I have rebooted).
Here's what the test shows:
MTU = 1500
MTU is fully optimized for broadband.
MSS = 1460
Maximum useful data in each packet = 1448, which is less than MSS because of Timestamps, or other TCP/IP options used.
Default Receive Window (RWIN) = 5840
RWIN Scaling (RFC1323) = 2 bits
Unscaled Receive Window = 1460
RWIN is a multiple of MSS
Other values for RWIN that might work well with your current MTU/MSS:
513920 (MSS x 44 * scale factor of 8)
256960 (MSS x 44 * scale factor of 4)
128480 (MSS x 44 * scale factor of 2)
64240 (MSS x 44)
bandwidth * delay product:
Your RcvWindow limits you to: 233.6 kbps (29.2 KBytes/s) @ 200ms
Your RcvWindow limits you to: 93.44 kbps (11.68 KBytes/s) @ 500ms
Consider increasing your RWIN value to optimize TCP/IP for broadband.
MTU Discovery (RFC1191) = ON
Time to live left = 43 hops
TTL value is ok.
Timestamps (RFC1323) = ON
Note: Timestamps add 12 bytes to the TCP header of each packet, reducing the space available for useful data.
Selective Acknowledgements (RFC2018) = ON
IP type of service field (RFC1349)= 00000000
Any ideas on what else there is to try?
Linux Cable Tweaking Problems
Here is a couple of links. it helped me in the past tweaking my Cable settings in linux. Hope it helps.
http://www.enteract.com/~lspitz/linux.html
http://www.linuxjournal.com/article.php?sid=5310
you will also find some linux tweaking here as well.
http://www.extremetech.com/article2/0,3973,671,00.asp
http://www.enteract.com/~lspitz/linux.html
http://www.linuxjournal.com/article.php?sid=5310
you will also find some linux tweaking here as well.
http://www.extremetech.com/article2/0,3973,671,00.asp
What are you waiting for ? Go here http://www.speedguide.net/Cable_modems/cable_patches.shtml And grab some tweaks 
My webpage services
http://www.ajpgraphix.com
My webpage services
http://www.ajpgraphix.com
Okay, here's what's wrong. The SpeedGuide FAQ that covers tweaking Linux is absolutely correct--for kernel 2.2.x. However, It's incomplete for kernel 2.4.x. There are some additional things that need to be added to /etc/sysctl.conf to get it to work properly--this is do to the fact that 2.4.x uses auto-tuning.
You have your original (I'm showing my config, and I use a 512 Kb RWIN for both the default and the max--it'll scale down to the min if need be, so, default = max will do no harm and besides it's less math to do!):
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.tcp_window_scaling = 1
You also need to enable sack (I enable fack too).
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
You need to set the send and receive vectors. The last number in the tuple is the one you are interested in, it should be one half the value of its corresponding net.core.Xmem_max value.
net.ipv4.tcp_wmem = 4096 87380 262144
net.ipv4.tcp_rmem = 4096 87380 262144
Finally you need to enable flushing, otherwise any changes you make take ten minutes after you restart your network card to take effect.
net.ipv4.route.flush = 1
Once that's entered into your /etc/sysctl.conf, run:
sysctl -p
/etc/init.d/network restart
Now the settings are in effect.
Here's the kicker... Your RWIN size is still going to show up in the SG TCP/IP Analyser as 5840. This is because of the auto-tuning, it sends packets of size 5840 to a new destination until the destination replies with a packet that exceeds 5840, at that point it increases the packet size--in effect growing to the receiver's window size. But, by the time that happens the analyser has completed its evaluation.
You have your original (I'm showing my config, and I use a 512 Kb RWIN for both the default and the max--it'll scale down to the min if need be, so, default = max will do no harm and besides it's less math to do!):
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.tcp_window_scaling = 1
You also need to enable sack (I enable fack too).
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
You need to set the send and receive vectors. The last number in the tuple is the one you are interested in, it should be one half the value of its corresponding net.core.Xmem_max value.
net.ipv4.tcp_wmem = 4096 87380 262144
net.ipv4.tcp_rmem = 4096 87380 262144
Finally you need to enable flushing, otherwise any changes you make take ten minutes after you restart your network card to take effect.
net.ipv4.route.flush = 1
Once that's entered into your /etc/sysctl.conf, run:
sysctl -p
/etc/init.d/network restart
Now the settings are in effect.
Here's the kicker... Your RWIN size is still going to show up in the SG TCP/IP Analyser as 5840. This is because of the auto-tuning, it sends packets of size 5840 to a new destination until the destination replies with a packet that exceeds 5840, at that point it increases the packet size--in effect growing to the receiver's window size. But, by the time that happens the analyser has completed its evaluation.