Author Topic: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???  (Read 647 times)

Dariusz Piatkowski

  • Sr. Member
  • ****
  • Thank You
  • -Given: 12
  • -Receive: 6
  • Posts: 268
    • View Profile
Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« on: October 06, 2017, 06:07:29 am »
So here is a weird one...I have been using phone line DSL for a number of years...finally with two teenagers at home and their seemingly insatiable desire for media (well, we all enjoy it once in a while LOL) I took a plunge into the Fibre options.

Today the local cable provider ran a coax cable from the box at the front of the house (fibre backbone) to the house. He installed the modem, I hooked my WifFi router up, all good right???

Well, to my surprise, the OS/2 machine can only fathom a lousy 800KB/s, which is roughly 8Mb/s, whereas the exact same download on my Win7 box literally flies almost 10x faster giving me an avg 7100KB/s, so nearly 70Mb/s.

What gives???

My NIC is classified by PCI utility as "RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller", Device 8168h, that makes sense. I am using the MMRE drivers, and even though this appears to be a hardware issue I am nearly 100% it is not. I can do a xfer between any of my home devices at much faster rates...so the NIC itself and the OS/2 drivers seem to be very capable of moving FAST.

...and so I'm stumped here!!! Where to go next with this?

I have never had to try to troubleshoot this kind of a problem, I suspect maybe some tcp/ip settings need to be changed?

Needless to say, the move to UltraFibre120 seems to have been much of a fizzle on my OS/2 box...at least the rest of the house devices are seeing the benefits...my problem is I do almost all of my computing/on-line work on my OS/2 box!



Ian Manners

  • Global Moderator
  • Full Member
  • *****
  • Thank You
  • -Given: 29
  • -Receive: 17
  • Posts: 238
  • I am the computer, it is me.
    • View Profile
    • OS/2 Site
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #1 on: October 06, 2017, 10:17:07 am »
Hi Dariusz,

What are the contents of your x:\mptn\etc\inetcfg.ini file ?
If you do not have one, you can create one with "inetcfg -g all" from the command line.
Then place the line "inetcfg -s all" (minus the quotes) in your x:\mptn\bin\setup.cmd file.

It is likely that your TCP/IP window parameters will need to be adjusted, likely by experimenting, remember the OS/2 stack is ancient :o)

Quote
#Inetcfg:   CURRENT   DEFAULT   MINIMUM   MAXIMUM
tcpswinsize   131072   32768   1024   246723   TCP SendWindow Size
tcprwinsize   131072   32768   1024   246723   TCP RecvWindow Size
udpswinsize   41600   9216   1024   246723   UDP SendWindow Size
udprwinsize   41600   41600   1024   246723   UDP RecvWindow Size
lipcstswinsize   20480   10240   1024   246723   LIPC Stream SendWindow Size
lipcstrwinsize   20480   10240   1024   246723   LIPC Stream RecvWindow Size
lipcdgswinsize   8192   2048   1024   246723   LIPC Dgram SendWindow Size
lipcdgrwinsize   8192   4096   1024   246723   LIPC Dgram RecvWindow Size
perfhttp   1   1   0   1   Fast Path HTTP ON/OFF

Also, what is the value of    "ETHERAND_TYPE" in your x:\ibmcom\protocol.ini file ?
I find I talk a lot quicker to windows PC's via TCPIP with the value set to D but if you change it, it must be changed on all other OS/2 computers otherwise they will nolonger talk to each other.
Cheers
Ian B Manners

Dariusz Piatkowski

  • Sr. Member
  • ****
  • Thank You
  • -Given: 12
  • -Receive: 6
  • Posts: 268
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #2 on: October 06, 2017, 05:44:17 pm »
H Ian!

What are the contents of your x:\mptn\etc\inetcfg.ini file ?

I did not have this file created, however, here are the values I was using:

#Inetcfg:   CURRENT   DEFAULT   MINIMUM   MAXIMUM

keepalive   7800   7800   0   7800   KeepAlive (sec)
tcpswinsize   32768   32768   1024   246723   TCP SendWindow Size
tcprwinsize   32768   32768   1024   246723   TCP RecvWindow Size
udpswinsize   9216   9216   1024   246723   UDP SendWindow Size
udprwinsize   41600   41600   1024   246723   UDP RecvWindow Size
lingertime   120   120   0   65535   Linger Time (sec)
probecnt   8   8   1   8   Number Of KeepAlive Probes
ipforward   0   0   0   1   IP Forwarding flag ON/OFF
mtudiscover   1   1   0   1   TCP Path MTU Discovery ON/OFF
arpkillc   1200   1200   180   15300   ARP Complete TimeOut (sec)
arpkilli   180   180   60   1200   ARP InComplete TimeOut (sec)
lipcstswinsize   10240   10240   1024   246723   LIPC Stream SendWindow Size
lipcstrwinsize   10240   10240   1024   246723   LIPC Stream RecvWindow Size
lipcdgswinsize   2048   2048   1024   246723   LIPC Dgram SendWindow Size
lipcdgrwinsize   4096   4096   1024   246723   LIPC Dgram RecvWindow Size
synattack   0   0   0   1   SYN Attack Flag ON/OFF
syncookie   0   0   0   1   SYN Cookie Flag ON/OFF
firewall   0   0   0   1   FIREWALL ON/OFF
multidefrt   1   1   0   1   Multiple Default Routes ON/OFF
winscale   1   1   0   1   TCP Window Scale ON/OFF
timestmp   0   0   0   1   TCP TimeStamps ON/OFF
realslow   20   20   1   100   TCP TW Q Slow Timeout ticks
perfhttp   1   1   0   1   Fast Path HTTP ON/OFF
tcpttl      64   64   1   255   TCP  TTL (hops)
udpttl      64   64   1   255   UDP  TTL (hops)
icmpttl      64   64   1   255   ICMP TTL (hops)
fragttl      60   60   1   255   Fragment TTL (sec)
reusetw      1   1   0   1   Reuse Time Wait ON/OFF
msl      30   30   1   16384   TCP MaxSegLifeTime (sec)
cc      0   0   0   1   TTCP function ON/OFF
sack      1   0   0   1   Selective ACK ON/OFF



...Also, what is the value of    "ETHERAND_TYPE" in your x:\ibmcom\protocol.ini file ?
I find I talk a lot quicker to windows PC's via TCPIP with the value set to D but if you change it, it must be changed on all other OS/2 computers otherwise they will nolonger talk to each other.

I do not have this in my INI, I believe that is because I turned off [netbeui_nif], only '0 - IBM TCP/IP' is bound to the nic. It is set up this way since I was simply not using any of this functionality on my LAN as I do not have any other OS/2 machines here and to get to the Winx boxes I rely on NetDrive instead.

Alright, for now I am experimenting with the changes you suggested. Should I be looking to re-define the MTU size as well? Right now it is set to 1452, the router is set to 1500, and various on-line places suggest the use of 1492...

Thanks!

Remy

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 4
  • Posts: 81
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #3 on: October 06, 2017, 06:02:13 pm »
So here is a weird one...I have been using phone line DSL for a number of years...finally with two teenagers at home and their seemingly insatiable desire for media (well, we all enjoy it once in a while LOL) I took a plunge into the Fibre options.

Today the local cable provider ran a coax cable from the box at the front of the house (fibre backbone) to the house. He installed the modem, I hooked my WifFi router up, all good right???

Well, to my surprise, the OS/2 machine can only fathom a lousy 800KB/s, which is roughly 8Mb/s, whereas the exact same download on my Win7 box literally flies almost 10x faster giving me an avg 7100KB/s, so nearly 70Mb/s.

What gives???

My NIC is classified by PCI utility as "RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller", Device 8168h, that makes sense. I am using the MMRE drivers, and even though this appears to be a hardware issue I am nearly 100% it is not. I can do a xfer between any of my home devices at much faster rates...so the NIC itself and the OS/2 drivers seem to be very capable of moving FAST.

...and so I'm stumped here!!! Where to go next with this?

I have never had to try to troubleshoot this kind of a problem, I suspect maybe some tcp/ip settings need to be changed?

Needless to say, the move to UltraFibre120 seems to have been much of a fizzle on my OS/2 box...at least the rest of the house devices are seeing the benefits...my problem is I do almost all of my computing/on-line work on my OS/2 box!

Same result for me.
Only 6Mbps while under windows, I have 60Mbps

(note: this is why I searched how to speed up firefox)

Ian Manners

  • Global Moderator
  • Full Member
  • *****
  • Thank You
  • -Given: 29
  • -Receive: 17
  • Posts: 238
  • I am the computer, it is me.
    • View Profile
    • OS/2 Site
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #4 on: October 06, 2017, 07:31:37 pm »
Hi Dariusz,

Manual MTU value depends on what your fibre is using but you are using mtudiscover for MTU so its fine.

You would normally use 1500 for PPPoA, 1492 for PPPoE but it's really depending on your provider. Some will only accept 1492 for PPPoA and 1452 for PPPoE as your on fibre I would expect you to use 1500 and then let mtudiscover look after it. I have no idea if your provider allows jumbo packets or not, I don't even know if OS/2 supports MTU values above 1500 either but normally smaller is better than larger, up to a point.

If you have created an inetcfg.ini file in your x:\mptn\etc directory.

Quote
If you do not have one, you can create one with "inetcfg -g all" from the command line.
Then place the line "inetcfg -s all" (minus the quotes) in your x:\mptn\bin\setup.cmd file.

then you can start by editing the inetcfg.ini file, simply copy whats below to replace the one you have.

Note you should change your keepalive and sack values to reflect what is below as well.

Quote
#Inetcfg:   CURRENT   DEFAULT   MINIMUM   MAXIMUM

keepalive   60   7800   0   7800   KeepAlive (sec)
tcpswinsize   131072   32768   1024   246723   TCP SendWindow Size
tcprwinsize   131072   32768   1024   246723   TCP RecvWindow Size
udpswinsize   41600   9216   1024   246723   UDP SendWindow Size
udprwinsize   83200   41600   1024   246723   UDP RecvWindow Size
lingertime   60   120   0   65535   Linger Time (sec)
probecnt   8   8   1   8   Number Of KeepAlive Probes
ipforward   0   0   0   1   IP Forwarding flag ON/OFF
mtudiscover   1   1   0   1   TCP Path MTU Discovery ON/OFF
arpkillc   1200   1200   180   15300   ARP Complete TimeOut (sec)
arpkilli   180   180   60   1200   ARP InComplete TimeOut (sec)
lipcstswinsize   40960   10240   1024   246723   LIPC Stream SendWindow Size
lipcstrwinsize   40960   10240   1024   246723   LIPC Stream RecvWindow Size
lipcdgswinsize   8192   2048   1024   246723   LIPC Dgram SendWindow Size
lipcdgrwinsize   16384   4096   1024   246723   LIPC Dgram RecvWindow Size
synattack   1   0   0   1   SYN Attack Flag ON/OFF
syncookie   0   0   0   1   SYN Cookie Flag ON/OFF
firewall   0   0   0   1   FIREWALL ON/OFF
multidefrt   0   1   0   1   Multiple Default Routes ON/OFF
winscale   1   1   0   1   TCP Window Scale ON/OFF
timestmp   0   0   0   1   TCP TimeStamps ON/OFF
realslow   20   20   1   100   TCP TW Q Slow Timeout ticks
perfhttp   1   1   0   1   Fast Path HTTP ON/OFF
tcpttl      64   64   1   255   TCP  TTL (hops)
udpttl      64   64   1   255   UDP  TTL (hops)
icmpttl      64   64   1   255   ICMP TTL (hops)
fragttl      60   60   1   255   Fragment TTL (sec)
reusetw      1   1   0   1   Reuse Time Wait ON/OFF
msl      30   30   1   16384   TCP MaxSegLifeTime (sec)
cc      0   0   0   1   TTCP function ON/OFF
sack      0   0   0   1   Selective ACK ON/OFF

The main values you want to play with are:-
tcpswinsize
tcprwinsize
udpswinsize
udprwinsize

You can probably try setting them to the max values and see how it goes.
Cheers
Ian B Manners

Remy

  • Jr. Member
  • **
  • Thank You
  • -Given: 0
  • -Receive: 4
  • Posts: 81
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #5 on: October 07, 2017, 02:28:50 am »
I played with inetdcfg and found some other tips   ( for information, I have inkoy firewall installed )
I saw that speed measured through flash under windows or html5 doesn't provide the same result while html5 indicates lower bandwide !

Here is what I use now

Quote
#Inetcfg:   CURRENT   DEFAULT   MINIMUM   MAXIMUM

keepalive   300   7800   0   7800   KeepAlive (sec)
tcpswinsize   131072   32768   1024   246723   TCP SendWindow Size
tcprwinsize   131072   32768   1024   246723   TCP RecvWindow Size
udpswinsize   36864   9216   1024   246723   UDP SendWindow Size
udprwinsize   166400   41600   1024   246723   UDP RecvWindow Size
lingertime   120   120   0   65535   Linger Time (sec)
probecnt   8   8   1   8   Number Of KeepAlive Probes
ipforward   1   0   0   1   IP Forwarding flag ON/OFF
mtudiscover   1   1   0   1   TCP Path MTU Discovery ON/OFF
arpkillc   1200   1200   180   15300   ARP Complete TimeOut (sec)
arpkilli   180   180   60   1200   ARP InComplete TimeOut (sec)
lipcstswinsize   40960   10240   1024   246723   LIPC Stream SendWindow Size
lipcstrwinsize   40960   10240   1024   246723   LIPC Stream RecvWindow Size
lipcdgswinsize   8192   2048   1024   246723   LIPC Dgram SendWindow Size
lipcdgrwinsize   16384   4096   1024   246723   LIPC Dgram RecvWindow Size
synattack   1   0   0   1   SYN Attack Flag ON/OFF
syncookie   0   0   0   1   SYN Cookie Flag ON/OFF
firewall   0   0   0   1   FIREWALL ON/OFF
multidefrt   1   1   0   1   Multiple Default Routes ON/OFF
winscale   1   1   0   1   TCP Window Scale ON/OFF
timestmp   0   0   0   1   TCP TimeStamps ON/OFF
realslow   20   20   1   100   TCP TW Q Slow Timeout ticks
perfhttp   1   1   0   1   Fast Path HTTP ON/OFF
tcpttl      64   64   1   255   TCP  TTL (hops)
udpttl      64   64   1   255   UDP  TTL (hops)
icmpttl      64   64   1   255   ICMP TTL (hops)
fragttl      60   60   1   255   Fragment TTL (sec)
reusetw      1   1   0   1   Reuse Time Wait ON/OFF
msl      30   30   1   16384   TCP MaxSegLifeTime (sec)
cc      0   0   0   1   TTCP function ON/OFF
sack      1   0   0   1   Selective ACK ON/OFF
 

After some new test using link (html5) :
http://speedsmart.net/

I could get 25Mbps ( better than 6Mbps )

Dariusz Piatkowski

  • Sr. Member
  • ****
  • Thank You
  • -Given: 12
  • -Receive: 6
  • Posts: 268
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #6 on: October 07, 2017, 04:35:48 pm »
Hi Ian!

First of all, big Thank You for putting me on the right path here. The results so far are great, let me explain step at a time below...

...
Manual MTU value depends on what your fibre is using but you are using mtudiscover for MTU so its fine.

You would normally use 1500 for PPPoA, 1492 for PPPoE but it's really depending on your provider. Some will only accept 1492 for PPPoA and 1452 for PPPoE as your on fibre I would expect you to use 1500 and then let mtudiscover look after it. I have no idea if your provider allows jumbo packets or not, I don't even know if OS/2 supports MTU values above 1500 either but normally smaller is better than larger, up to a point...

I re-set the value to 1500 in my \mptn\bin\setup.cmd. My old ISP which utilized PPPoE over DSL line specifically requested 1452, the new guys...well, I did not get any info because the tech doing the install was very tight lipped..LOL, he specifically asked me to call their tech line instead.

...
If you have created an inetcfg.ini file in your x:\mptn\etc directory.

Note you should change your keepalive and sack values to reflect what is below as well.
...

Why do you suggest that SACK be off? I am basiing this on my understanding of that flag...the following article does a pretty nice job of explaining it's functionality => http://packetlife.net/blog/2010/jun/17/tcp-selective-acknowledgments-sack/. In short, if both the client and server support this, when an actual packet is dropped this will allow the re-transmission of ONLY the dropped data, as opposed to a full payload from the dropped point onwards until the end of the conversation. If successful this implies less data being re-sent.

Regarding the keepalive, I will change it to sync it up with my primary tcpip apps, that being Firefox and Privoxy. Specifically:

1) network.tcp.keepalive.idle_time 600

Beyond the above, what remains is to play with the sizes of the values for these key parameters you list below:

...
The main values you want to play with are:-
tcpswinsize
tcprwinsize
udpswinsize
udprwinsize
...

So far here are the results for the following settings:
tcpswinsize     131072
tcprwinsize     131072
udpswinsize     41600
udprwinsize     41600

My FF based downloads are now moving at a speedy 50 Mb/s, a HUGE improvement from where I started!!!

Various internet connection speed test report a steady 90-95 Mb/s rates, this is substantially better as well.

Dariusz Piatkowski

  • Sr. Member
  • ****
  • Thank You
  • -Given: 12
  • -Receive: 6
  • Posts: 268
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #7 on: October 07, 2017, 05:54:56 pm »
Ian and Remy,

Guys, another update...I thought I would max out the settings with the goal of achieving highest performance...then if I start running into problems I would dial things back a step at a time.

So here are my current applicable INETCFG.INI settings:

#Inetcfg:       CURRENT DEFAULT MINIMUM MAXIMUM

keepalive       300     300     0       7800    KeepAlive (sec)
tcpswinsize     246723  32768   1024    246723  TCP SendWindow Size
tcprwinsize     246723  32768   1024    246723  TCP RecvWindow Size
udpswinsize     246723  41600   1024    246723  UDP SendWindow Size
udprwinsize     246723  41600   1024    246723  UDP RecvWindow Size
lingertime      120     120     0       65535   Linger Time (sec)
ipforward       0       0       0       1       IP Forwarding flag ON/OFF
timestmp        0       0       0       1       TCP TimeStamps ON/OFF
msl             30      30      1       16384   TCP MaxSegLifeTime (sec)
sack            1       0       0       1       Selective ACK ON/OFF

...the xxxwindsize have been set to MAX values.

I still need to research a bit to understand the impact of the following:

lingertime
ipforward
timestamp (I think this may be used by SACK, not sure though)
msl

....and drummroll for the results please!!!  ;D

1) http://speedsmart.net/ => 87 Mb/s
2) http://testmy.net => 40 Mb/s
3) http://beta.speedtest.net => 91 Mb/s
4) FF download => 5000 KB/s, so roughly sustained 50 Mb/s

All in all, I would say that is basically what I'm seeing on my Winx boxes.

Dave Yeo

  • Hero Member
  • *****
  • Thank You
  • -Given: 7
  • -Receive: 87
  • Posts: 1095
    • View Profile
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #8 on: October 07, 2017, 06:57:34 pm »
ipforward is for using your box as a router. I need it here (set in \mptn\bin\setup.cmd) as Injoy on my computer serves the household with NAT

Ian Manners

  • Global Moderator
  • Full Member
  • *****
  • Thank You
  • -Given: 29
  • -Receive: 17
  • Posts: 238
  • I am the computer, it is me.
    • View Profile
    • OS/2 Site
Re: Moved to UltraFibre 120 Mb/s but OS/2 chugs at 10 Mb/s...???
« Reply #9 on: October 07, 2017, 07:15:27 pm »
Hi Dariusz,

Glad your speed has improved :)

Quote
Why do you suggest that SACK be off? I am basiing this on my understanding of that flag...the following article does a pretty nice job of explaining it's functionality => http://packetlife.net/blog/2010/jun/17/tcp-selective-acknowledgments-sack/. In short, if both the client and server support this, when an actual packet is dropped this will allow the re-transmission of ONLY the dropped data, as opposed to a full payload from the dropped point onwards until the end of the conversation. If successful this implies less data being re-sent.

SACK caused a leak in the TCP/IP stack, I assume it still does as the stack hasn't changed for many years. With it set on I was never able to get my server running longer than 2-4 weeks (from memory), with SACK off by server remains up 24/7 with the only downtime due to power failures. Before moving to were I currently reside the server was up for periods of a year with it being turned off for cleaning and swapping to the backup server which would then take over for the next year. I could/maybe change it and see if it's still relevant but its below by could be bothered threshold at present, maybe Christmas time.

Quote
Regarding the keepalive, I will change it to sync it up with my primary tcpip apps, that being Firefox and Privoxy. Specifically:
1) network.tcp.keepalive.idle_time 600

keepalive values past 120 are really only relevant for dialup, I've used 60 for probably the last 17 years to ensure sockets are never depleted on the server so set the same value on my OS/2 computer with no problems.

As Dave mentioned, ipforward is for using your computer as a router, hence why you need it on for InJoy Firewall or other routing use.
Cheers
Ian B Manners