NTFS-3G unmounts NTFS partitions because it "did not receive signal in 15 seconds"—what signal?
I stumbled on a post on IM.GETTING(THIS);, which explained the issue — and even provided a fix!


  The problem seems to stem from the binary "fuse_wait" from NTFS-3G that's run as a final part of the mounting procedure - for some reason it can't detect that ntfs-3g mounted the volume and stays on a hopeless loop trying to detect this condition until it gives up after 15 seconds. So my workaround involves replacing the fuse_wait binary with a script that does more or less the same thing, but actually detecting (sort of) the mount operation and not timing out.


The fix

(Assuming the use of MacFUSE &amp; NTFS-3G)

sudo mv /usr/local/bin/fuse_wait /usr/local/bin/fuse_wait.original
sudo touch /usr/local/bin/fuse_wait
sudo chmod 0755 /usr/local/bin/fuse_wait
sudo chown 0:0 /usr/local/bin/fuse_wait
sudo nano /usr/local/bin/fuse_wait


Copy &amp; paste:


#!/bin/bash

MNTPOINT=$1
shift
TIMEOUT=$1
shift
MNTCMD=$1
shift

$MNTCMD "$@" &amp;&gt; /var/log/ntfsmnt.log
MNTCMD_RETVAL=$?

if [ $MNTCMD_RETVAL -eq 0 ]; then
        until [ `/sbin/mount | /usr/bin/grep -c "$MNTPOINT"` -ge 1 ] || [ $TIMEOUT -eq 0 ]
        do
                       sleep 1
                let TIMEOUT--
        done
fi

[ $TIMEOUT -eq 0 ] &amp;&amp; RETVAL=1 || RETVAL=$MNTCMD_RETVAL

exit $RETVAL;



Save. Then:

sudo nano /System/Library/Filesystems/ntfs-3g.fs/ntfs-3g.util


Change the following line:


DEFAULT_NTFS_MOUNT_OPTIONS="auto_xattr"



to:


DEFAULT_NTFS_MOUNT_OPTIONS="auto_xattr,noatime,noappledouble,auto_cache"



Save. Reboot. Smile.



For details and alternative methods I wholeheartedly recommend reading through the aforementioned article and thank him, not me.