Kiedyś bez problemu uzyskiwałem dostęp do udziałów SMB lokalnego serwera plików Windows 2008 na moim ostatnim (3 tygodniowym) MacBooku Pro. Jednak od kilku dni nie łączy się (ponownie) z serwerem po przebudzeniu z trybu uśpienia.
Finder pokazuje tylko „łączenie ...” i zawiesza się bez końca. To samo dzieje się, gdy próbuję z wiersza poleceń ( mount -t smbfs
). Dzieje się tak zarówno przez Wi-Fi, jak i kablowe. Próbowałem także wyłączyć i włączyć sieć. Jedyne, co pomaga, to restart.
Jakieś wskazówki?
Edytuj w celu wyjaśnienia: uśpienie komputera Mac, a nie serwera. Dowiedziałem się również, że jeśli rozłączę udziały, zanim uśpię, będzie mógł połączyć się ponownie po przebudzeniu.
Kolejna edycja:
Zrobiłem trochę więcej dochodzeń i powąchałem ruch w sieci. Mac wysyła zapytania o nazwę NetBIOS i żądanie statusu (NBSTAT) na serwer, serwer odpowiada, wszystko wydaje się w porządku. Następnie komputer Mac powinien otworzyć połączenie SMB, ale nic nie robi. Nie ma więcej pakietów.
Potem odkryłem, że prawdziwy problem leży głębiej. Wygląda na to, że nie otwiera nowego połączenia, ponieważ uważa, że stare połączenie, które oczywiście przekroczyło limit czasu po stronie serwera, nadal jest aktywne. Jednak każdy program, który próbuje uzyskać dostęp do punktu podłączenia lub po prostu katalog / Volumes, zawiesza się i nawet nie można go zabić. umount /Volumes/share
- zawiesza się. ls /Volumes
- zawiesza się. kill -9
którykolwiek z nich - nie pomaga. Również otwarcie okna dialogowego otwierania pliku w dowolnej aplikacji powoduje również zawieszenie się!
Jedyne, co pomaga, to twardy restart. Wydaje mi się, że jest coś zasadniczo złego w implementacji SMB OSX, jeśli przekroczenie limitu czasu połączenia może wyzwolić coś takiego.
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
Po ponownym uruchomieniu połączyłem się z moimi udziałami SMB (które zajęły już o wiele mniej czasu niż kiedyś) i po kilku snach później nadal mogę uzyskać dostęp je idealnie.