Mac OS non può connettersi alle condivisioni SMB dopo la sospensione


15

Accedevo senza problemi alle condivisioni SMB del mio file server Windows 2008 locale sul mio MacBook Pro recente (vecchio di 3 settimane). Tuttavia, da alcuni giorni, non riesce a (ri) connettersi al server dopo che si è svegliato dalla modalità di sospensione.

Finder mostra semplicemente "connessione in corso ..." e si blocca indefinitamente. La stessa cosa succede quando provo dalla riga di comando ( mount -t smbfs). Questo accade sia tramite WiFi che via cavo, ho anche provato a spegnere e riaccendere la rete. L'unica cosa che aiuta è un riavvio.

Qualche suggerimento?

Modifica per chiarire: è il Mac che viene messo in sospensione, non il server. Ho anche scoperto che se disconnetto le condivisioni prima di metterle in sospensione, sarà in grado di riconnettersi dopo il risveglio.

Un'altra modifica:

Ho fatto qualche indagine in più e ho annusato il traffico di rete. Il Mac invia query sul nome NetBIOS e una richiesta di stato (NBSTAT) al server, il server risponde, tutto sembra a posto. Successivamente, il Mac dovrebbe aprire una connessione SMB, ma non fa nulla. Non seguono più pacchetti.

Ho quindi scoperto che il vero problema è più profondo. Sembra che non apra una nuova connessione perché pensa che quella vecchia, che è ovviamente scaduta sul lato server, sia ancora attiva. Tuttavia, qualsiasi programma che tenta di accedere al proprio mount point o solo alla directory / Volumes si blocca e non può nemmeno essere ucciso. umount /Volumes/share- si blocca. ls /Volumes- si blocca. kill -9nessuno di questi - non aiuta. Inoltre, l'apertura di una finestra di dialogo di apertura file in qualsiasi applicazione provoca anche il blocco!

L'unica cosa che aiuta è un riavvio difficile. Mi sembra che ci sia qualcosa di fondamentalmente sbagliato nell'implementazione SMB di OSX se una connessione scaduta può innescare qualcosa del genere.

Risposte:


6

Sto riscontrando lo stesso problema con il mio MacBook Pro. Ho seguito le istruzioni qui - http://blog.djmnet.org/2009/02/09/macs-needing-unix-network-geekery/ e i miei problemi sembrano essere stati risolti.


1
Wow grazie! Sembra averlo fatto. Ho disabilitato darwin_streams in smb.conf e l'ho aggiunto al mio sysctl.conf: net.inet.tcp.delayed_ack=0 net.inet.tcp.mssdflt=1440 kern.ipc.maxsockbuf=500000 net.inet.tcp.sendspace=250000 net.inet.tcp.recvspace=250000 dopo un riavvio, mi sono connesso alle mie condivisioni SMB (che già impiegavano molto meno tempo rispetto al passato) e dopo qualche sonno dopo, posso ancora accedere perfettamente.
Andreas,

In realtà, ho ancora riscontrato problemi dopo aver applicato queste modifiche. Tuttavia, OSX Lion sembra aver risolto il problema.
Andreas,

4

Ehi, di recente ho avuto lo stesso problema con il mio MBP 2010, ho trovato la soluzione una combinazione di due cose.

Il primo è un tweak del kernel (essenzialmente TCP_NODELAYsulle connessioni), che può essere fatto nel Terminale:

sudo sysctl -w net.inet.tcp.delayed_ack=0

In secondo luogo, ha a che fare con le autorizzazioni dei file / file DS_Store. Comunemente quando si configurano le condivisioni di Windows il Mac avrà solo accesso in lettura. Finder prova a crearli in ogni cartella visualizzata e alla fine può bloccarsi. Quindi ci sono due opzioni per risolvere questo problema: abilitare autorizzazioni sufficienti per i file sul computer Windows o impedire a Finder di creare questi file su condivisioni di rete. Preferisco disabilitare finder dal crearli, cosa che può essere fatta eseguendo il seguente comando nel terminale:

defaults write com.Apple.desktopservices DSDontWriteNetworkStores true

Dovrai riavviare dopo averli eseguiti.


Sul mio sistema Mac OS 10.7.2 il valore predefinito (se è necessario ripristinarlo) è "net.inet.tcp.delayed_ack: 3" (è possibile ottenere il valore predefinito eseguendo "sudo sysctl -a").
Per Noalt, il

@PerNoalt: rispondere a questa discussione perché ho avuto a che fare anche con problemi come questo. L'impostazione predefinita per net.inet.tcp.delayed_ackè 310.6, 1.7 e 1.8. Impostandolo per 0risolvere i problemi. Ma 2dovrebbe funzionare anche.
Jake Gould il

2

Non posso fare a meno di risolvere il problema, ma posso aggiungere qualche dettaglio in più. Succede anche su Windows 7 e il dispositivo OS X deve essere ancora collegato quando la condivisione di Windows viene messa in sospensione. Se si disconnette o si sospende OS X e quindi si standby Windows non si verifica questo problema.

Vorrei davvero una soluzione anche a questo.

Modifica: dopo alcune ricerche molte altre persone hanno avuto problemi simili:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.