If the Mac doesn't "see" the windows file server, you can always use the "full name" or IP address of that server, starting the address name by "smb://" in the "Connect" dialog (Cmd + K in the Finder) :
See this Apple Note for more details.
Could you test your end to end connection with this simple script based on ping
output:
#!/bin/sh
# $Id: coupure.sh,v 1.1 2012/09/05 13:11:10 dan Exp dan $
_host_exist=`host $1`
expr "${_host_exist}" : '.*address' >/dev/null || {
echo ${_host_exist} >&2
exit 1
}
ping $1 2>/dev/null |
perl -e '
use strict ;
use warnings ;
my $started = 0 ;
my $start = 0 ;
my $end = 0 ;
my $count = 0 ;
my $was_down = -1 ;
my $last_up = -1 ;
my $last_hole = 0 ;
my $now = 0 ;
my $x = -1 ;
my $hour = -1 ;
my $min = -1 ;
my $sec = -1 ;
my $hole = 0 ;
my $delta = 0 ;
my $time_run = 0 ;
my $sum_hole = 0 ;
my $avg_hole = 0 ;
my $sum_delta = 0 ;
my $avg_delta = 0 ;
sub catch_int {
$end = time () ;
$time_run = $end - $start ;
printf ("\ntime run = %14d s,\tdrop count = %8d", $time_run, $count) ;
if ($time_run) {
printf (",\t %8.2f / d\n", $count * 86400 / $time_run) ;
} else {
printf ("\n") ;
}
if ($count) {
$avg_hole = $sum_hole / $count ;
printf ("avg drop time = %8.2f s\n", $avg_hole) ;
if ($count > 1) {
$avg_delta = $sum_delta / ($count - 1);
printf ("avg int. time = %8.2f s\n", $avg_delta) ;
}
}
exit ;
}
$start = time () ;
$SIG{INT} = \&catch_int ;
while () {
# printf ("%s", $_) ;
if (! $started) {
# printf ("%s", $_) ;
if ($_ =~ /PING/ ) { next ; }
if ($_ =~ /bytes/) {
$was_down = 0 ;
} else {
$was_down = 1 ;
}
$started = 1 ;
} else {
if ($_ =~ /bytes.*icmp_seq=/) {
#-------+-------+-------+-------+-------+-------+-------+-------+
# target is up
# printf ("!") ;
if ($was_down == 1) {
$count ++ ;
printf ("%4d\t", $count) ;
($sec, $min, $hour, $x, $x, $x, $x, $x, $x) = localtime ($last_up) ;
printf ("%02d:%02d:%02d\t", $hour, $min, $sec) ;
$now = time () - 1 ;
($sec, $min, $hour, $x, $x, $x, $x, $x, $x) = localtime ($now) ;
printf ("-\t%02d:%02d:%02d\t", $hour, $min, $sec) ;
$was_down = 0 ;
$hole = $now - $last_up ;
$sum_hole += $hole ;
printf ("= %4d s", $hole) ;
if ($last_hole) {
$delta = $last_up - $last_hole ;
$sum_delta += $delta ;
printf (" + %6d s\n", $delta ) ;
} else {
printf ("\n") ;
}
$last_hole = $last_up ;
}
$last_up = time() ;
} else {
#-------+-------+-------+-------+-------+-------+-------+-------+
# target is down
if ($was_down == 0 ) {
$was_down = 1 ;
}
}
}
}'
Just copy this in coupure.sh
on your ftp client,
type make coupure
and run it:
./coupure target_ftp_server
Best Answer
Before giving up on a standalone FreeNAS machine, try the included speed testing tool
iperf
to determine the best protocol for your network:Do you know which alternative protocol your clients could use to connect to your FreeNAS box? Are you restricted to only File Transfer Protocol (FTP)?
This recent discussion talks about the some factors affecting FreeNAS, FreeNAS Poor Network Performance.