Я использовал для доступа к общим ресурсам SMB моего локального файлового сервера Windows 2008 на моем недавнем (3 недели) MacBook Pro без проблем. Однако в течение нескольких дней ему не удается (повторно) подключиться к серверу после его выхода из спящего режима.
Искатель просто показывает "соединение ..." и зависает на неопределенное время. То же самое происходит, когда я пытаюсь сделать это из командной строки ( mount -t smbfs
). Это происходит как через WiFi, так и по кабелю, я также пытался выключить и снова включить сеть. Единственное, что помогает - это перезагрузка.
Есть намеки?
Отредактируйте, чтобы уточнить: усыпляется Mac, а не сервер. Я также узнал, что если я отключу общие ресурсы перед тем, как перевести их в спящий режим, он сможет восстановить соединение после пробуждения.
Другое Править:
Я провел еще одно расследование и понюхал сетевой трафик. Mac отправляет запросы имен NetBIOS и запрос статуса (NBSTAT) на сервер, сервер отвечает, все выглядит нормально. После этого Mac должен открыть SMB-соединение, но он ничего не делает. Больше нет пакетов.
Затем я узнал, что настоящая проблема кроется глубже. Кажется, что оно не открывает новое соединение, потому что оно думает, что старое, которое, конечно, истекло время на стороне сервера, все еще активно. Однако любая программа, которая пытается получить доступ к своей точке монтирования или просто к каталогу / Volumes, зависает и даже не может быть уничтожена. umount /Volumes/share
- висит. ls /Volumes
- висит. kill -9
любой из них - не помогает. Кроме того, открытие диалогового окна открытия файла в любом приложении приводит к его зависанию!
Единственное, что помогает, это жесткая перезагрузка. Мне кажется, что в OSX-реализации SMB есть что-то принципиально неправильное, если соединение по тайм-ауту может вызвать нечто подобное.
источник
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
после перезагрузки я подключился к своим общим ресурсам SMB (что уже заняло намного меньше времени, чем раньше), и после нескольких снов, я все еще могу получить доступ их отлично.Эй, у меня недавно была та же проблема с моим MBP 2010, я нашел, что решение состоит из комбинации двух вещей.
Первый - это настройка ядра (по сути,
TCP_NODELAY
на соединениях), которую можно выполнить в терминале:Во-вторых, имеет дело с правами доступа к файлам / DS_Store. Обычно при настройке общих папок Windows Mac будет иметь доступ только для чтения. Finder пытается создать их в каждой папке, которую вы просматриваете, и может в итоге зависнуть. Таким образом, есть два варианта решения: включить достаточные разрешения для файлов на компьютере с Windows или запретить Finder создавать эти файлы на общих сетевых ресурсах. Я предпочитаю отключать Finder от их создания, что можно сделать, выполнив следующую команду в терминале:
Вам нужно будет перезагрузить компьютер после запуска.
источник
net.inet.tcp.delayed_ack
находится3
на 10,6, 1,7 и 1,8. Установка его для решения0
проблем. Но2
должно работать так же.Я не могу помочь решить проблему, но я могу добавить немного больше деталей. Это также происходит в Windows 7, и устройство OS X должно быть подключено, когда общий ресурс Windows переведен в спящий режим. Если вы отключите или отключите OS X, а затем перейдете в режим ожидания Windows, у вас не возникнет этой проблемы.
Я бы очень хотел найти решение этой проблемы.
Изменить: После некоторых поисков у многих других людей были похожие проблемы:
источник