PDA

View Full Version : Macbook e Wifi


ShaDe
15-06-2006, 23:56
Salve a tutti....
sono l'unico che con il wifi a casa viaggio a 30kb/s--- invece che 400-500kb/s?
Con il mio thinkpad accanto con xp scarico a 450Kb/s di media... e con il cavo a 600kb/s.... mentre con il mio macbook viaggio a 30....anche 26kb/s!!
come mai cosi' poco????

avete idee???

ho una adsl tiscali 6Mb e router wifi zyxel660.

Massimo87
16-06-2006, 00:01
fra computer a quanto riesci a trasferire?
potrebbe essere l'AirPort guasta :)

Conte Zero
16-06-2006, 10:41
Il problema, comune a tutti i Mac con Mac OS X, sta nelle impostazioni dello stack TCP/IP piuttosto... ehm... conservative (per non dire altro). Putroppo la stack TCP di Darwin è piuttosto antiquato. Conta che è praticamente intoccato dai tempi di NeXtStep che a sua volta l'ha preso assieme a buona parte del resto del codice dal BSD4.4 . Mancano molte cose piuttosto moderne, ma soprattutto ha dei buffer di ricezione e invio a dir poco minuscoli...
Mhh... intendevo comunque fare un bel riassunto nella sezione software dato che questo influenza TUTTO quello che passa su IP, compreso SMB, AppleShare e pagine web, solo che è un discorso piuttosto lungo per dare bene un quadro chiaro...
Facciamo così, io adesso ti do alcuni comandi da inserire da terminale (cambiano delle variabili di sistema riguardanti la dimensione dei buffer etc etc) tu provali e vedi se cambia qualcosa. Tranquilllo che non puoi rovinare niente, primo non aggiungi o togli nulla, ottimizzi solo i parametri (senza tralatro alcuna perdita da altre parti) secondo cambiandole da terminale al riavvio lui ricarica quelli di default, dunque come prima. Poi comunque tieni d'occhio l'area software, prima o poi farò una bella spiegazione completa.
Allora, apri il terminale e inserisci questi comandi:

sysctl -w net.inet.tcp.sendspace=262144
sysctl -w net.inet.tcp.recvspace=262144
sysctl -w net.inet.udp.recvspace=65536
sysctl -w net.inet.udp.maxdgram=65536
sysctl -w net.inet.tcp.newreno=1
sysctl -w net.inet.tcp.delayed_ack=0


I primi due cambiano i parametri del buffer per i pacchetti TCP, i secondi due per quelli UDP, il quinto attiva il NewReno (sostanzialmente se ci sono mille pacchetti e tu perdi il 900esimo io ricomincio a mandarti da quello non dal primo) e il sesto disattiva il delayed ack (al posto di invio pacchetto, tu mi rispondi, invio pacchetto, tu mi rispondi, etc etc... invio tot pacchetti e tu mi rispondi una volta sola) in teoria una buona idea, peccatto che l'implementazione sia talmente buggata e primitiva nel nostro stack che rallenta sensibilmente le cose se attivo.

Tu prova e di se cambia qualcosa!

Ciao, Ric

Modifica: Avevo sbagliato un comando... firuli firula... :D
Ri-modifica: corretti i comandi da sysctl "roba" a sysctl -w "roba", grazie della segnalazione a Shade ;)

ShaDe
16-06-2006, 11:11
Grazie Conte Zero..... utilissime spiegazioni!!
come tornero' a casa le proverò subito!!!!

Ma... quello che dice Massimo87... potrebbe essere? cioe' che la mia airport ha problemi?? ho è solo un problema software?
Se provo a scaricare con parallels? la gestione del tcp avverrebbe con windows giusto???

A frappe'!

Heretic
16-06-2006, 11:44
uhm interessantissimoooooo ;) grazie, come torno lo provo, anke se però non ho avuto modo di testare la connesione wireless con fastweb ma solo con infostrada ke tra l'altro non va proprio scarica a 4 kb/s, ma quello è un altro problema, xkè anke con il portatile windows e un'altra wireless mi da o stesso problema ;) cmq provo ;)

Massimo87
16-06-2006, 11:59
che criptazione usate?

Heretic
16-06-2006, 12:20
che criptazione usate?


ho provato implementando qualsiasi tpo, ora come ora c'è solo il controllo sul mac, e anke se lo tolgo la connessione ha un effettivo picco di dwn da 4,97 Kb/s e quelli diinfostrada continuano a dire cazzate!!! sto pagando per un servizio che non mi viene fornito da troppo tempo!!!

Conte Zero
16-06-2006, 12:26
Grazie Conte Zero..... utilissime spiegazioni!!
come tornero' a casa le proverò subito!!!!

Ma... quello che dice Massimo87... potrebbe essere? cioe' che la mia airport ha problemi?? ho è solo un problema software?
Se provo a scaricare con parallels? la gestione del tcp avverrebbe con windows giusto???

A frappe'!

Figurati! ;)
Mhh, davvero difficile sia fallata, mai vista una scheda wireless rotta che funziona... ma lentamente :p normalmente o fungono o no, non riesco davvero a immaginare cosa si potrebbe rompere per produrre un rallentamento simile.
Ottima idea quella di Win, si effettivamente lo stack sarebbe quello Microsoft, fai una prova anche così (anche se comunque impostando le sysctl vedi subito se sta li il problema).

Ciao, Ric

Conte Zero
16-06-2006, 12:35
uhm interessantissimoooooo ;) grazie, come torno lo provo, anke se però non ho avuto modo di testare la connesione wireless con fastweb ma solo con infostrada ke tra l'altro non va proprio scarica a 4 kb/s, ma quello è un altro problema, xkè anke con il portatile windows e un'altra wireless mi da o stesso problema ;) cmq provo ;)

Guarda per testare quanto guadagno hai con questi tweak (tweak fino a un certo punto su Win o Linux i valori di default son quelli già di loro) ti basta trasferire dei file da un computer a un altro usando ad esempi SMB (Samba, la condivisione windows per intenderci), puoi usare sia wireless che cavo ethernet, tanto entrambi beneficiano di uno stack TCP/IP più efficente (io son passato da 40Kb/s a 9Mb/s fai tu...) se ti serve un programma per misurare la velocità di download (nonche utilizzo HD, CPU, RAM etc etc) scarica MenuMeters, ottimo e pulito da installare disinstallare. ;)

Ultima cosa la ehm... criptazione :D (Dante avrebbe detto criptatura, ma chi è lui per ribattere) è nel caso più pesante WPA (e anche quello più sicuro, il WEP ha SERIE e CONOSCIUTE vulnerabilità, leggasi vi trovo una chiave in 10 minuti con KisMAC). Ora le Airport hanno quasi totalmente l'offload in hardware delle funzioni di criptatura, dunque il grosso del lavoro in più viene fatto trasparentemente dalla scheda stessa. E comunque su un qualsiasi processore moderno anche se dovesse farsi TUTTO il calcolo della codifica e decodifica (cosa che fanno molte schede vecchie, specialmente 11Mbit che dopo un aggiornamento driver magicamente supporano WPA) comunque avrebbe abbastanza potenza di calcolo residua da gestire ampiamente flussi di dati di Mb/s. ;)

Ciao, Ric

MacNeo
16-06-2006, 13:37
tornando terra-terra: ho adsl fastweb collegato ad airport express con WPA2
col macbook scarico alla stessa velocità con cui scaricavo con l'ibook g4, e non gli ho modificato nulla.
fra il computer e la base ho due pareti e un mobile in mezzo, segnale a 3-4 tacche

Heretic
16-06-2006, 13:46
Guarda per testare quanto guadagno hai con questi tweak (tweak fino a un certo punto su Win o Linux i valori di default son quelli già di loro) ti basta trasferire dei file da un computer a un altro usando ad esempi SMB (Samba, la condivisione windows per intenderci), puoi usare sia wireless che cavo ethernet, tanto entrambi beneficiano di uno stack TCP/IP più efficente (io son passato da 40Kb/s a 9Mb/s fai tu...) se ti serve un programma per misurare la velocità di download (nonche utilizzo HD, CPU, RAM etc etc) scarica MenuMeters, ottimo e pulito da installare disinstallare. ;)

Ultima cosa la ehm... criptazione :D (Dante avrebbe detto criptatura, ma chi è lui per ribattere) è nel caso più pesante WPA (e anche quello più sicuro, il WEP ha SERIE e CONOSCIUTE vulnerabilità, leggasi vi trovo una chiave in 10 minuti con KisMAC). Ora le Airport hanno quasi totalmente l'offload in hardware delle funzioni di criptatura, dunque il grosso del lavoro in più viene fatto trasparentemente dalla scheda stessa. E comunque su un qualsiasi processore moderno anche se dovesse farsi TUTTO il calcolo della codifica e decodifica (cosa che fanno molte schede vecchie, specialmente 11Mbit che dopo un aggiornamento driver magicamente supporano WPA) comunque avrebbe abbastanza potenza di calcolo residua da gestire ampiamente flussi di dati di Mb/s. ;)

Ciao, Ric


sisi questo lo so, infatti il mio risultato (se può kiamarsi risultato eheheh di 4,97 Kb/s) è stato frutto di diverse prove effettuate anke con programmini del caso ;) purtroppo il mio problema è confinato alla connessione ke va dal router al central office, indi x cui è data dal provider, purtroppo, tra pc va ke è una bellezza, solo verso l'esterno va a questa penosa velocità

ciaociao

M@n
16-06-2006, 13:58
Il problema, comune a tutti i Mac con Mac OS X, sta nelle impostazioni dello stack TCP/IP piuttosto... ehm... conservative (per non dire altro). Putroppo la stack TCP di Darwin è piuttosto antiquato. Conta che è praticamente intoccato dai tempi di NeXtStep che a sua volta l'ha preso assieme a buona parte del resto del codice dal BSD4.4 . Mancano molte cose piuttosto moderne, ma soprattutto ha dei buffer di ricezione e invio a dir poco minuscoli...
Mhh... intendevo comunque fare un bel riassunto nella sezione software dato che questo influenza TUTTO quello che passa su IP, compreso SMB, AppleShare e pagine web, solo che è un discorso piuttosto lungo per dare bene un quadro chiaro...
Facciamo così, io adesso ti do alcuni comandi da inserire da terminale (cambiano delle variabili di sistema riguardanti la dimensione dei buffer etc etc) tu provali e vedi se cambia qualcosa. Tranquilllo che non puoi rovinare niente, primo non aggiungi o togli nulla, ottimizzi solo i parametri (senza tralatro alcuna perdita da altre parti) secondo cambiandole da terminale al riavvio lui ricarica quelli di default, dunque come prima. Poi comunque tieni d'occhio l'area software, prima o poi farò una bella spiegazione completa.
Allora, apri il terminale e inserisci questi comandi:

sysctl net.inet.tcp.sendspace=262144
sysctl net.inet.tcp.recvspace=262144
sysctl net.inet.udp.recvspace=65536
sysctl net.inet.udp.maxdgram=65536
sysctl net.inet.tcp.newreno=1
sysctl net.inet.tcp.delayed_ack=0


I primi due cambiano i parametri del buffer per i pacchetti TCP, i secondi due per quelli UDP, il quinto attiva il NewReno (sostanzialmente se ci sono mille pacchetti e tu perdi il 900esimo io ricomincio a mandarti da quello non dal primo) e il sesto disattiva il delayed ack (al posto di invio pacchetto, tu mi rispondi, invio pacchetto, tu mi rispondi, etc etc... invio tot pacchetti e tu mi rispondi una volta sola) in teoria una buona idea, peccatto che l'implementazione sia talmente buggata e primitiva nel nostro stack che rallenta sensibilmente le cose se attivo.

Tu prova e di se cambia qualcosa!

Ciao, Ric

Modifica: Avevo sbagliato un comando... firuli firula... :D
Ottimo, grazie
C'e' modo di rendere permanenti queste modifiche? (ovviamente dopo averle testate per benino)

Conte Zero
16-06-2006, 14:51
tornando terra-terra: ho adsl fastweb collegato ad airport express con WPA2
col macbook scarico alla stessa velocità con cui scaricavo con l'ibook g4, e non gli ho modificato nulla.
fra il computer e la base ho due pareti e un mobile in mezzo, segnale a 3-4 tacche

Beh, conta una cosa, il problema c'è, tuttavia diventa sempre piu' visibile mano a mano che aumenta la velocità di connessione, indi per cui se fai quelle modifiche i guadagni ad esempio con SMB su rete locale (100Mbit/sec media) sono enormi, mentre i guadagni scaricando da aMule ad esempio sono marginali (60Kb/sec media) dato che di fatto vengono annullati spesso da mille altri dettagli (banda non continua e limitata etc etc...).

Ciao, Ric

Conte Zero
16-06-2006, 14:56
Ottimo, grazie
C'e' modo di rendere permanenti queste modifiche? (ovviamente dopo averle testate per benino)

Si, puoi inserirle (senza il comando sysctl davanti) in un file chiamato sysctl.conf sotto /private/etc. Prima comunque testane bene i vantaggi. A breve scriverò poi una descrizione migliore, con altri parametri utili.

Ciao, Ric

white_eagle
16-06-2006, 15:02
Ma questo problema immagino affligga anche i mac ppc, no??
Io però col mio powerbook G4 scarico anche a 500 KB/sec con alice 4 mega, quindi sfrutto completamente la banda.

Conte Zero
16-06-2006, 15:58
Ma questo problema immagino affligga anche i mac ppc, no??
Io però col mio powerbook G4 scarico anche a 500 KB/sec con alice 4 mega, quindi sfrutto completamente la banda.

Si affligge tutti i Mac OS X (sperem in Leopard) dal 10.0 al 10.4... di fatto anche NeXtStep aveva lo stesso problema.
Conta che tu non saturi nemmeno lontanamente la capacità dell'interfaccia di rete del tuo Mac, se vai in wireless hai 54Mbit e ne usi meno di 4, se sei su Ethernet hai a disposizione 100Mbit o addirittura 1Gbit fai tu i calcoli...
Di fatto con le impostazioni di base tu hai dei buffer molto piccoli e nessuna tecnica di risparmio sul numero di pacchetti inviati. Ipotizza che in questa configurazione un pacchetto su 3 cada fuori dal buffer e debba essere rispedito, sperchi dunque il 200% della banda dell'interfaccia del mac (non di quella di Alice), così molto brutalmente (e un po irrealisticamente in realtà) è come se quei 4Mb ti sprecassero in realtà non 4, ma 12Mbit sulla scheda di rete... beh, ne hai almeno altri 40 disponibili...
In sintesi il problema è che la scheda di rete e il processore non sono mai abbastanza veloci da esaminare al volo tutti i pacchetti in arrivo o di mandare singolarmente ogni pacchetto. Per evitare vadano perduti ci sono dei buffer, piccole locazioni di memoria che accolgono temporaneamente i pacchetti in attesa. Ora, di default questi sono di 32Kb per senso. Conta con uno sniffer quanti pacchetti arrivano con l'ADSL e quanti invece da un altro PC con un trasferimento sulla rete locale, si parla di almeno un ordine di grandezza in piu'. Se con l'ADSL il tuo processore riesce a svuotare al ogni volta il buffer prima che sia pieno (anche se ti assicuro che con 32Kb si riempe già al bordo) con una connessione da PC a PC a 54Mbit (una comune WiFi) il buffer traborda di pacchetti che vengono persi ben prima che il processore possa guardarci dentro... e quei pacchetti? beh, devono venire rispediti, sprecando altro traffico e a loro volta spesso andando ripersi... capirai il perchè come ho detto prima la situazione peggiora man mano che aumenta il flusso di dati.

Vuoi fare una prova? lascia stare l'ADSL e trasferisciti un film in rete locale da un computer al Mac con cavo Ethernet e vedi a quanto va... giusto per nota la velocità teorica con una connessione a 100Mbit è di 12.5Mbit/sec e in locale l'efficenza è quasi sempre al massimo, da prove varie un valore realistico si attesta sui 9Mbit/sec. Fammi sapere a quanto va. ;)

Ciao, Ric

ShaDe
17-06-2006, 00:34
Allora, apri il terminale e inserisci questi comandi:

sysctl net.inet.tcp.sendspace=262144
sysctl net.inet.tcp.recvspace=262144
sysctl net.inet.udp.recvspace=65536
sysctl net.inet.udp.maxdgram=65536
sysctl net.inet.tcp.newreno=1
sysctl net.inet.tcp.delayed_ack=0




Allora... ho provato questi comandi ma mi sa errore... mi dice di inserire il parametro -w...... ma siccome non conosco cosa fa... e non vorrei fare casini.... aspetto la tua risposta prima di mettere -w al comando.... :)

MacNeo
17-06-2006, 00:45
-w name=value
Used to set values. The MIB name ( name ) followed by an equal sign and the new value ( value ) to be used.

EXAMPLE
To set the maximum number of processes allowed in the system to 1000, one would use the follow request:
sysctl -w kern.maxproc=1000

Conte Zero
17-06-2006, 01:18
Uh, si scusate, errore mio, i comandi sono sysctl -w "roba da cambiare" avendoli io nel file sysctl.conf avevo scordato di mettervi il parametro necessario.
Per scusarmi vi dico che se volete i valori di tutte le variabili di sistema attuali vi basta scrivere sysctl -a ;) .

Ciao, Ric

Mauna Kea
17-06-2006, 09:59
A breve scriverò poi una descrizione migliore, con altri parametri utili.
Ciao Ric,
spero tu possa realizzare un tutorial a questo proposito,
sarebbe una guida interessante..

Potresti gentilmente ripostare la procedura corretta x chi, come me, ha scarse nozioni di terminale etc, x rendere questa cosa definitiva?
ottimo suggerimento..


Ti ringrazio molto, io proporrei di mettere in rilievo questa utile discussione...
Io posso inserirla al volo in rilievo nella lista


Bye :cool:

Conte Zero
17-06-2006, 12:35
Ciao Ric,
spero tu possa realizzare un tutorial a questo proposito,
sarebbe una guida interessante..
ottimo suggerimento..
Io posso inserirla al volo in rilievo nella lista
Bye :cool:


Intanto grazie del suggerimento anche a Tobruk!
Mhh, avevo comunque intenzione di mettere su una guida, ma volevo fare una cosa carina fatta bene, non essendo un argomento banalissimo volevo che fosse comprensibile facilmente in tutti gli aspetti anche da chi non è esperto.
Facciamo così, io magari domani (o forse già oggi) mi metto a tirar giù qualcosa, purtroppo devo dividere il tempo con lo studio per gli esami dell'università. Appena ho poi il tutto pronto lo butto giù e ti contatto, ok? ;)

Ciao, Ric

P.S.: Per ora se avete domande specifiche comunque chiedete pure,così magari non rischio mi sfugga qualcosa nella guida.

wanderp
17-06-2006, 14:25
Per farla semplice citerei questa app: broadband optimizer
http://www.versiontracker.com/dyn/moreinfo/macosx/28507&page=5
è una patch ufficiale di Apple per chi ha linee veloci.