problème ADSL - Recompiler le kernel?

rchytil

Membre confirmé
20 Avril 2001
54
0
Visiter le site
Bonjour,

Comme sur MacOSX 10.1, avec pas mal de fournisseurs, il est impossible de browser le web et de relever ses Email en passant par ADSL et PPPoE, il faut changer le MTU (Maximum Transfer Unit) de ppp0.
Cette solution est publiée sur les forums MacADSL.

Ouvrir un terminal, sour root, et changer "ifconfig ppp0 mtu 1488".

Bon, maintenant, j'aimerais changer ce paramètre dans le kernel.
Je l'ai trouvé: il se trouve dans
/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/net/if_ppp.h

Si je change la valeur de PPP_MTU de 1500 à 1488, comment puis-je recompiler le kernel?

Une idée? Où devrais-je chercher?

Robin
 
Tu vois Gwen, y'a pas que moi qui suis motivé
grin.gif


Bon, d'abord, c'est plutot dans le forum Unix, Linux et Open Source que ce message aurait trouvé plcae, mais bon
wink.gif


Par, contre, pour recompiler le kernel de OsX, j'ai peur....

Je ne suis pas trop sur que ce soit possible malheuresement...
Je ne voit pas trop comment on pourrait faire...
frown.gif



Je vais quand même essayer de chercher
smile.gif
 
t'embetes pas avec une recompil du kernel, tu risque de produire plus de probleme que de solution ;-)

Voila mon idee:

Cree un StartupItem,

voila la procedure:

Il faut creer un script shell, et un fighier xml associe.

cree un nouveau startupitem:

mkdir /Library/StartupItems/MTU

puis dans ce repertoire, place un script appele MTU
dont le contenu est

#!/bin/sh

. /etc/rc.common

ifconfig ppp0 mtu 1488

puis au meme endroit, cree un fichier qui porte le nom StartupParameters.plist

et qui contient:

{
Description = "Maximum Transmit Unit";
Provides = ("MTU");
Requires = ("Network");
OrderPreference = "Late";
Messages = {
start = "Starting Maximum Transmit Unit";
stop = "Stopping Maximum Transmit Unit";
};
}

puis rend ces scripts executable

chmod ugo+x MTU
chmod ugo+x StartupParameters.plist

rebootes, et a chaque fois que tu demarrera ta config sera telle que tu la desires...

[05 octobre 2001 : message édité par William]
 
Merci pour le truc du Startupitem. Je vais essayer.

Mais, peut-être plus simple, je me disais:

Si on tape ps -aux, on voit que pppd est lancé avec l'option "mtu 1500".
Y'aurait pas moyen de mettre ces options dans un fichier de config? P.ex /etc/ppp/config? Comment?

Et d'ailleurs, quel script lance pppd au démarrage? Une idée?

Robin
 
William,

Merci pour le script à mettre dans Startupitems. C'est bon, ca marche. COOOOOOOOOL!

Mais bon, je me demande encore où démarre (et surtout quel process ou script) pppd. J'ai rien trouvé dans /System/StartupItems/Network

Robin
 
Bo, j'ai un peu cherche,
j'ai pas beaucoup de temps...

Le deamon pppd est lance par InternetConnect.app
si tu ne te connectes pas, le deamon n'est pas lance.

Je pense que le parametre 1500, est celui par default

voila le fichier de config qui est lu

/var/db/SystemConfiguration/preferences.xml

il faut surement ajouter une ligne adhoc au fichier xml
qui fixe le parametre MTU a une valeur differente de 1500

Bonne chance
 
Ah, oui, encore un detail,

pour recompiler le noyau, il faut deja avoir les sources, elle se trouve sur le site d'apple, en licence APSL
http://www.opensource.apple.com/projects/darwin/

Mais, la philosophie du noyau mach, c'est justement de ne pas recompiler le noyau pour un oui pour un non,

Ici tous les modules tournent en espace utilisateur.
contrairement a linux (qui sait monter dynamiquemennt certain modules) mais qui necessite souvent de recompiler le noyau pour ajouter ou modifier une fonction. ;-)
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>
Il faut creer un script shell, et un fighier xml associe.

chmod ugo+x MTU
chmod ugo+x StartupParameters.plist

<HR></BLOCKQUOTE>


j ai deux questions par rapport a ca..

1/ creer un script OK tu le fais avec n importe quel editeur de texte.. mais un fichier XML associé tu fais ca comment ?

2/ apres avoir fais le chmod comment tu peux savoir si ca a marché ?

merci de ton aide