Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

Speed up a slow ADSL connection in 10.1 Internet
I have had difficulty with my ADSL connection using Telstra in Australia with 10.1. It worked fine on 10.0.4 and still on my WinTel box.

The link establishes correctly (ping etc. work) but mail and web traffic are terribly slow. I contacted Apple and they know the problem and are working on a proper fix. Their interim fix is to enter the following at the command line after you have connected.
sudo ifconfig ppp0 mtu 1492
It is also suggested that you may have to make the last number lower, I have set it to 1000. I believe this is the maximum packet size.

Where does the system keep the ppp configuration information so it can be modifed once and for all? Perhaps someone can further explain what is going on.

Gavin.
    •    
  • Currently 3.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (3 votes cast)
 
[25,637 views]  

Speed up a slow ADSL connection in 10.1 | 9 comments | Create New Account
Click here to return to the 'Speed up a slow ADSL connection in 10.1' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
path discovery
Authored by: macubergeek on Oct 17, '01 05:46:25AM

Networked devices do what's called "mtu path discovery", that is they send out progressively larger icmp or ping packets to discover the maximum packet size they can get away with in communicating with other networked devices. What Apple is tacitly admitting is that Macos X 10.1 dosn't do this path discovery properly. This is quite surprising since they do use the BSD tcp/ip stack and I believe this path discovery is really basic to that.....



[ Reply to This | # ]
MTU debugging
Authored by: acdha on Oct 18, '01 03:47:05AM
The MTU is the size (in bytes) of the maximum packet which can be sent over a link. (the network stack is smart enough to divide data into multiple packets) Because of there is protocol overhead with each packet, you want this size to be as large as the underlying link can handle so that as much of the link's capacity is spent on data as possible - in the degenerate case, you could have something 50% of the data transmitted being packet headers. With ethernet, that size is most commonly 1500 bytes.

If your ADSL connection is using the never-to-be-sufficiently-cursed PPPoE, your traffic is encapsulated over a normal Ethernet link and the protocol overhead adds a few bytes per packet (1492 = 1500 - PPPoE packet header?). This sort of error is extremely annoying as it only happens when you try to send a full packet. Things like ping will work because ping's packets are only 64 bytes by default. Things like telnet/ssh might work if you don't send too much data at time (I've had users report that telnet works until you do something which displays a lot of data quickly with certain misconfigured routers). When this happens, the connection will eventually time out.

You can test the MTU of your connection using ping with the -s option. ping -s 1000 server will send 1008 data bytes to the remote host. If you suspect your MTU needs to be lowered, you can start with a small size and increase it until packets stop making it through and setting your MTU to the last size.

[ Reply to This | # ]

MTU debugging
Authored by: gb on Oct 18, '01 07:47:53AM

This debugging technique worked very well for me. Even moving the mtu up to 1020, ping started to get flakey. It looks like my ADSL provider needs to lift their game.

Thanks, Gavin.



[ Reply to This | # ]
Permanent mtu adjustment
Authored by: pb on Oct 19, '01 05:58:06PM
Here's how to make your new mtu setting persistent. Log in using your administrator account and open a Terminal window. Enter the following:

sudo pico /etc/ppp/ip-up

Type the following two lines into the new file you just created:
#!/bin/sh
/sbin/ifconfig ppp0 mtu 1492


Save the file using Ctrl-O (Write Out) then exit pico using Ctrl-X. Next you must make the file you just created executable. Enter this command:

sudo chmod 755 /etc/ppp/ip-up

That's it. What this does is create a shell script called ip-up that readjusts your mtu on your pppoe interface. The ppp daemon which controls your pppoe connection will run, as root, any commands it finds in /etc/ppp/ip-up whenever it activates a ppp/pppoe connection. Now anytime anyone on your computer activates the adsl connection, the mtu will be set to the correct value.

For the masochists, type "man pppd" in a terminal window for more info about this and other cool features of the ppp daemon.

[ Reply to This | # ]
Permanent mtu adjustment
Authored by: haya785 on Nov 14, '01 11:36:19PM

I need to get a permanent mtu adjustment but for my ethernet connections... right now i have to enter:
sudo /sbin/ifconfig en1 mtu 1492
sudo /sbin/ifconfig en0 mtu 1492

everytime i restar my computer... If anyone knows how to do this plzzzzzzzzzzzzz let me know



[ Reply to This | # ]
StartupItem
Authored by: Moo0 on Mar 23, '02 11:01:15AM

create a starup item; check /Library/StartupItems, where you'll most likely find an example of how to make on of those.



[ Reply to This | # ]
Permanent mtu adjustment
Authored by: Alan Nursall on Mar 23, '02 09:37:57AM

Hallelujah! I have spent six months trying to get all my Macs at home to connect properly over DSL. I have no problem through the network at work.

At home, I was connected, assigned an IP address, and could ping other sites. But I could not make a browser or mail application actually do anything. The only site I could get any sort of access to was apple.com, and even then it was only the text. Images would not load. Couldn't even load a simple page like Google. It was like there was some sort of severe constriction in the pipeline. I used the advice from the message above and it worked!!

After experimenting with Ping, i set the mtu value at 1450 (1492 was too high and no packets were returned). For me anyway, this was ths solution after 6 months of struggle and swearing.

THANK YOU from Sudbury, Ontario!!!!



[ Reply to This | # ]
Permanent mtu adjustment
Authored by: institute3 on Jun 26, '02 04:59:47PM

Posted by Institute3 (Bob Hager)
Is the procedure that you outlined also applicable to an ethernet
link? I have my powermac G4 933 networked with my PC running XP using
ICS. Connection is via a linksys card in the PC and a crossover RJ45
cable..

My broadband connection to the internet is via DirecPC (one way). Not able
to get DSL or cable where I live.

Recently upgraded to version 10.1.5 on the MAC..

Tried to modify the MTU via the terminal app but Darwin would not let me do the
update... permission denied.. and I logged in as system administrator..

This is the procedure that I used:

MTU
1) Start Terminal.app
2) sudo (login as rootuser)
3) type "ifconfig en0 mtu 1460" for your hardwired ethernet port and type "ifconfig en1 mtu 1460" for your airport connection if utilizing this one
4) now its time for the kernel extensions...

Kernel Extensions
1) Start Terminal.app (if you closed it between steps"
2) sudo (login as rootuser if you closed the above session)
3) type the following
sysctl -w net.inet.tcp.rcvspace=224360
sysctl -w net.inet.tcp.delayed_ack=1
4) that's it quit the terminal.app and enjoy faster downloads.

Downside to this is, you have to type this each time you reboot the machine.

I suspect that I was doing something wrong when logging in as the root user. Must say that is am a babe in the woods when it comes to UNIX.

Thanks much for any assistance that you can provide...



[ Reply to This | # ]
Permanent mtu adjustment
Authored by: institute3 on Jun 26, '02 05:02:46PM

Posted by Institute3 (Bob Hager)
Is the procedure that you outlined also applicable to an ethernet
link? I have my powermac G4 933 networked with my PC running XP using
ICS. Connection is via a linksys card in the PC and a crossover RJ45
cable..

My broadband connection to the internet is via DirecPC (one way). Not able
to get DSL or cable where I live.

Recently upgraded to version 10.1.5 on the MAC..

Tried to modify the MTU via the terminal app but Darwin would not let me do the
update... permission denied.. and I logged in as system administrator..

This is the procedure that I used:

MTU
1) Start Terminal.app
2) sudo (login as rootuser)
3) type "ifconfig en0 mtu 1460" for your hardwired ethernet port and type "ifconfig en1 mtu 1460" for your airport connection if utilizing this one
4) now its time for the kernel extensions...

Kernel Extensions
1) Start Terminal.app (if you closed it between steps"
2) sudo (login as rootuser if you closed the above session)
3) type the following
sysctl -w net.inet.tcp.rcvspace=224360
sysctl -w net.inet.tcp.delayed_ack=1
4) that's it quit the terminal.app and enjoy faster downloads.

Downside to this is, you have to type this each time you reboot the machine.

I suspect that I was doing something wrong when logging in as the root user. Must say that is am a babe in the woods when it comes to UNIX.

Thanks much for any assistance that you can provide...



[ Reply to This | # ]