O Mac OS não pode se conectar a compartilhamentos SMB após dormir

15

Eu costumava acessar os compartilhamentos SMB do meu servidor de arquivos local do Windows 2008 no meu MacBook Pro recente (com 3 semanas) sem problemas. No entanto, por alguns dias, ele não consegue (re) conectar-se ao servidor depois de acordar do modo de suspensão.

O Finder mostra apenas "conectando ..." e trava indefinidamente. O mesmo acontece quando eu tento na linha de comando ( mount -t smbfs). Isso acontece via Wi-Fi e cabo, tentei também ligar e desligar a rede. A única coisa que ajuda é uma reinicialização.

Alguma dica?

Edite para esclarecer: é o Mac que está sendo adormecido, não o servidor. Também descobri que, se eu desconectar os compartilhamentos antes de colocá-lo no modo de espera, ele poderá se reconectar depois de acordar.

Outra edição:

Fiz mais algumas investigações e cheirei o tráfego da rede. O Mac envia consultas de nome NetBIOS e uma solicitação de status (NBSTAT) para o servidor, o servidor responde, tudo parece bem. Depois disso, o Mac deve abrir uma conexão SMB, mas não faz nada. Não há mais pacotes a seguir.

Descobri então que o problema real é mais profundo. Parece que não abre uma nova conexão porque acha que a antiga, que obviamente esgotou o tempo limite no servidor, ainda está ativa. No entanto, qualquer programa que tente acessar seu ponto de montagem ou apenas o diretório / Volumes trava e nem pode ser morto. umount /Volumes/share- trava. ls /Volumes- trava. kill -9qualquer um desses - não ajuda. Além disso, abrir uma caixa de diálogo de abertura de arquivo em qualquer aplicativo também faz com que ela pare!

A única coisa que ajuda é uma reinicialização completa. Parece-me que há algo de fundamentalmente errado na implementação SMB do OSX se uma conexão de tempo limite puder acionar algo assim.

Andreas
fonte

Respostas:

6

Estou tendo o mesmo problema com o meu MacBook Pro. Segui as instruções aqui - http://blog.djmnet.org/2009/02/09/macs-needing-unix-network-geekery/ e meus problemas parecem estar resolvidos.

ddbailie
fonte
11
Uau, obrigada! Isso parece ter feito isso. Desativei o darwin_streams no smb.conf e adicionei isso ao meu 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 Após uma reinicialização, conectei-me aos meus compartilhamentos SMB (que já demoravam muito menos tempo do que costumava) e, depois de alguns segundos de sono , ainda consigo acessar eles perfeitamente.
Andreas
Na verdade, eu ainda tive problemas depois de aplicar essas alterações. No entanto, o OSX Lion parece ter corrigido o problema.
555 Andreas
4

Ei, recentemente tive o mesmo problema com meu MBP de 2010, achei a solução uma combinação de duas coisas.

O primeiro é um tweak do kernel (essencialmente TCP_NODELAYnas conexões), que pode ser feito no Terminal:

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

Segundo, está lidando com permissões de arquivo / arquivos DS_Store. Geralmente, quando você configura compartilhamentos do Windows, o Mac só terá acesso de leitura. O Finder tenta criá-los em todas as pastas exibidas e, eventualmente, pode travar. Portanto, existem duas opções para resolver isso: habilite permissões de arquivo suficientes na máquina Windows ou impeça o Finder de criar esses arquivos em compartilhamentos de rede. Prefiro desativar o localizador de criá-los, o que pode ser feito executando o seguinte comando no terminal:

defaults write com.Apple.desktopservices DSDontWriteNetworkStores true

Você precisará reiniciar depois de executá-los.

dantheman
fonte
No sistema Mac OS 10.7.2, o valor padrão (caso seja necessário restaurá-lo) é "net.inet.tcp.delayed_ack: 3" (você pode obter o valor padrão executando "sudo sysctl -a").
Por Noalt 6/12/12
@PerNoalt: Respondendo a esta discussão porque tenho lidado com questões como essa também. A configuração padrão para net.inet.tcp.delayed_acké 3em 10,6, 1,7 e 1,8. Configurá-lo para 0resolver problemas. Mas 2deve funcionar também.
JakeGould
2

Não posso ajudar a resolver o problema, mas posso adicionar um pouco mais de detalhes. Isso também acontece no Windows 7 e o dispositivo OS X ainda deve estar conectado quando o compartilhamento do Windows é colocado no modo de suspensão. Se você desconectar ou adormecer o OS X e, em seguida, aguardar no Windows, esse problema não ocorrerá.

Eu realmente gostaria de uma solução para isso também.

Edit: Depois de pesquisar algumas outras pessoas tiveram problemas semelhantes:

Jazradel
fonte