Saturday, November 24, 2007

NTFS-3G 1.1120

You can read about what's new in this release at the official NTFS-3G release page.
There's nothing new that's Mac-specific. The scripts and patches are pretty much the same as in the previous release.
The stable build is still the preferred download. The extra speed offered in the ublio build is suspected to come at a price of slight data corruption at times, but I can't confirm it as I can't reproduce it. There is a possibility that those reports may have had other causes like faulty hardware.

Download NTFS-3G 1.1120 [stable]
Download NTFS-3G 1.1120 [ublio]
(packaging by catacombae)
Requirements: Mac OS X 10.4/10.5, a PowerPC or Intel computer, MacFUSE 0.4.0 or 1.1 installed (MacFUSE 1.0.0 doesn't work well with this package... upgrade to 1.1).
This package has been tested with OS X 10.4.11/Intel and OS X 10.5.1/Intel.

If you're having problems with this package, please do the following before reporting it:
  • Check if the previous version of the package works better for you.

  • Check that the NTFS drive you're trying to mount has been cleanly unmounted in Windows, using "Safe remove hardware". If you just "pull the plug" the drive won't mount with NTFS-3G.

  • Check that the NTFS drive is error free, using chkdsk.

  • Collect system specifications, such as OS version, processor type (Intel/PowerPC), drive type (internal/USB/FireWire) etc. before submitting a problem report.
This information is essential to solve the problem. Just writing "It doesn't work, you suck." doesn't help a bit.

This build includes:
ntfs-3g 1.1120 (patched)
ntfsprogs 1.13.1

Monday, November 5, 2007

NTFS-3G 1.1104

Here comes the latest version of NTFS-3G for OS X.
This time I'm releasing two versions of the package: one "stable" build with no patches activated (except for some OS X specific ones), and one ublio build, which includes the ublio user space caching layer for performance enchancements.

The stable build is built only from code that have been tested extensively through the ntfs-3g testing process. The ublio build contains external code that offers performance enhancements, but that hasn't been put through the same extensive testing process, and thus is more likely to contain bugs.
When using the ublio build it is extremely important that you make sure that you unmount disks cleanly before removing them from the system.

Download NTFS-3G 1.1104 [stable]
Download NTFS-3G 1.1104 [ublio]
(packaging by catacombae)
Requirements: Mac OS X 10.4/10.5, a PowerPC or Intel computer, MacFUSE 0.4.0 or 1.1 installed (MacFUSE 1.0.0 doesn't work well with this package... upgrade to 1.1).

Other changes for this build:
  • Added an option to disable NTFS-3G through a script in the "Tools" directory, allowing you to switch between the internal NTFS driver and NTFS-3G.

  • Made the package more compatible with MacFUSE 1.0.0 and thus Leopard. Full compatibility can't be achieved due to an incompatibility issue between MacFUSE and NTFS-3G that I hope will be resolved in the next MacFUSE release.

This build includes:
ntfs-3g 1.1104 (patched)
ntfsprogs 1.13.1

Saturday, October 27, 2007

NTFS-3G 1.1004 with ublio patches

After a lot of testing and building I have now decided to release an experimental release of NTFS-3G for Mac OS X with caching support through the ublio user space caching layer. This will be especially relevant for people with USB2 external hard disks, where performance increases of about 1500% can be expected.

This package release can be labeled experimental, which means that it's not verified to be stable, and there may be issues remaining to be solved. If you want a stable release, fetch NTFS-3G 1.1004 Update 2.

Note that caching isn't enabled by default, but needs to be enabled by executing the script "Tools/Enable file system caching.command", which can be found in the disk image.

Before enabling caching, you have to be aware of a few things:
1. When using the caching layer, NOBODY SHOULD EVER REMOVE EXTERNAL DISKS IF NTFS-3G IS STILL RUNNING. You always have to eject the disk properly through the eject button in the Finder or through Disk Utility, or else you risk losing data. (This really applies to all cached file systems, so you should make this a common practice.)
2. Even though NTFS-3G is extremely well tested, the ublio patch is not included in this testing process. Thus you cannot expect the same quality, and even though I have tested the package and found no issues that can be effectively traced to ublio, you should be cautious in an environment with important data. The ublio patch is used frequently in FreeBSD with NTFS-3G.

Download NTFS-3G 1.1004 (Update 4, experimental) (package by catacombae)
Requirements: Mac OS X 10.4, a PowerPC or Intel computer, MacFUSE 0.4.0 installed (currently NOT WORKING with MacFUSE 1.0.0).

Summary of changes for NTFS-3G 1.1004 Update 3:
  • Dramatic performance enhancements by adding caching support through the ublio layer.
  • The ".ntfs-locale" trick should not be needed anymore for most people, as NTFS-3G now defaults to a reasonable locale (en_US.UTF-8).
  • Added scripts for disabling and enabling ublio caching and debug logging.

Summary of changes for NTFS-3G 1.1004 Update 4:
  • Disabled caching by default, so people can choose if they want it enabled or not.
  • Hopefully fixed a bug where some users got their mount points prepended by "-n".

Note: I really need your feedback for this version! If you install it and it doesn't work, don't hesitate to tell me about it by writing a comment or sending me an email (address can be found at my regular site). If it does work, I'd like to hear about that as well, especially if you're on a PowerPC Mac.

The ublio-patched source code for ntfs-3g 1.1004 is available here.
The source code for ntfsprogs 1.13.1 is available here.

Friday, October 5, 2007

NTFS-3G 1.1004 package for Mac OS X

That's right.. the package has been updated to NTFS-3G 1.1004. This version supposedly fixes an issue with file corruption when dealing with sparse files.
ntfsprogs 1.13.1 (from http://www.linux-ntfs.org) is also included. The package structure has been slightly altered so it will require a reboot after install.

Download NTFS-3G 1.1004 (Update 2) (package by catacombae)
Requirements: Mac OS X 10.4, a PowerPC or Intel computer, MacFUSE 0.4.0 (or later) installed.

Changes for Update 1: Changed ntfsprogs back to 1.13.1 from 2.0.0 because of lockup issues with unclean/hibernated NTFS file systems tracked to ntfsprogs.
Changes for Update 2: Bugfix for fuse_wait. It didn't return the proper exit code when the mount operation failed. This confused OS X, but it should be fixed now.

Note: I'm still unable to test the package on PowerPC systems, but it will probably work. Somebody intrested in donating old PPC hardware?

The source code for ntfs-3g 1.1004 is available here.
The source code for ntfsprogs 1.13.1 is available here.

Monday, September 24, 2007

Troubleshooting / FAQ

Problem: My partition doesn't mount at all, even though it works in Windows!
Possible cause: Your partition wasn't cleanly unmounted in Windows, because you didn't use "Safely remove hardware" before unplugging your removable drive. Alternatively, you're trying to read a drive which has been left in a hibernated state (you put Windows in hibernation mode instead of doing a complete shut down).

Problem: My partition doesn't mount automatically!
Possible cause: Your partition is incorrectly marked as another file system in your partition table. This can happen if you use mkntfs on an existing partition without changing file system type in the partition table. To reformat other file systems as NTFS volumes in OS X, use the command line tool diskutil with the verb eraseVolume. The format argument will be NTFS-3G. See man diskutil for usage info.

Problem: Filenames with international characters are displayed incorrectly!
Possible cause: You haven't created the file ".ntfs-locale" in the root of the operating system, describing how to interpret international characters. This file is read by this package's mount utility script before mounting it to determine the correct parameters. If you type the command "locale -a" in the Terminal you will get a list of all locales available on your system. One of these should be typed into the .ntfs-locale file. (Note that the file will need to be called ".ntfs-locale" and NOT for example ".ntfs-locale.txt")

Problem: NTFS-3G is damn slow!
Possible cause: Is it really the connection to your drive that's slow? (For example a USB2 drive running in USB 1.1 mode...)
Anyway, NTFS-3G is currently noticeably slower compared to the kernel mode drivers that it competes with. I'm looking into adding some caching patches to speed things up.
I get around 10-15 MiB/s when copying files to and from my SATA drive. You shouldn't expect more than that at the moment.
Update: I can confirm that NTFS-3G is actually damn slow with USB2 drives. IDE/SATA drives work better, Firewire performance is unknown (if you have a FW drive, you could report your performance figures in the comments to this thread)...

Problem: NTFS-3G doesn't react properly to SIGTERM and thus slows down shutdown of the computer!
Possible cause: There is something that I don't understand with how NTFS-3G reacts in these situations. shadowofged, who provided the previous hazzle free package for NTFS-3G, solved the problem (or tried to... I'm not sure if it really worked on my computer) by installing a daemon listening to SIGTERM, and when activated automatically unmounted all MacFUSE file systems. This daemon isn't released as open source software, but I might rewrite it in the future as open source code, if the problem gets too annoying.

Question: How do I uninstall the previous NTFS-3G package (or whatever package...) that I have installed?
Solution: You probably don't even have to. The package is upgradable, so if you install the package over a previous version all of the old files that aren't being used by the new package are automatically removed. If you still need to remove some package from your system, you can fetch this universal package removal script, which lets you type the name of a package, and then reads the contents of the package receipt and removes all files associated with the package (including the receipt).
(Note that if you're trying to remove a previous package called "NTFS-3G", like an older version, the uninstall script packaged within the current NTFS-3G package will effectively remove the old package if you run it before you install the current one. So in that case there's no need for the universal script...)

[This post will be updated as new problems and solutions are collected.]

Friday, September 14, 2007

NTFS-3G 1.913 package for Mac OS X

A new revision of my package including the latest version of NTFS-3G.
This revision throws out shadowofged's binaries, which were probably not so legal to distribute anyway. I have written a replacement for shadowofged's fuse_wait utility, which is included in the package.

Download NTFS-3G 1.913 (package by catacombae)
Requirements: Mac OS X 10.4, a PowerPC or Intel computer, MacFUSE 0.4.0 (or later) installed.

The source code for fuse_wait is here. It is distributed under the General Public License version 2.

Note: Even though the binaries are built as universal binaries ("fat" binaries), I have had no chance to test them out on a PowerPC machine, so I really don't know if it works or not. You try it...

The source code for ntfs-3g 1.913 is available here.
The source code for ntfsprogs 1.13.1 is available here.

Monday, September 10, 2007

NTFS-3G 1.826 for Mac OS X with automount

By combining shadowofged's package with the one available at http://www.daniel-johnson.org I forged a new, easy to install package for NTFS-3G.
Download NTFS-3G 1.826 (package by catacombae)

Please comment on how usable this package is. It works extremely well for me on my two OS X installs, but it's totally untested on other systems than Mac OS X 10.4.10 on the Intel architecture.

Saturday, September 8, 2007

First post...

I started this blog as a reaction to the fact that I could not find any good, updated packages for installing ntfs-3g, the open source userspace NTFS driver, onto an OS X machine with no extra work for making NTFS volumes automount.
I'll probably terminate it as soon as an official hazzle-free package appears. (If there is one out there that I don't know about, please contact me so I can check it out)

In this post, I'd like to talk about my current setup:
To install NTFS-3G I use the installers and the scripts from the now defunct project at shadowofged's blog . As I only have the file "NTFS-3G 1.417 (Full).dmg" in my possession (I'm not sure about what rights I have to distribute it, so I won't), I use it to install the package. This sets up a fully working NTFS-3G environment with automatic mounting of NTFS file systems with the 3G driver, though with an older version.

I then download the precompiled NTFS-3G package from http://www.daniel-johnson.org/ and extract the binaries and copy them over the existing ones:

mkntfs -> /usr/local/bin/mkntfs
ntfs-3g -> /usr/local/bin/ntfs-3g
ntfscat -> /usr/local/bin/ntfscat
ntfsclone -> /usr/local/bin/ntfsclone
ntfscluster -> /usr/local/bin/ntfscluster
ntfscmp -> /usr/local/bin/ntfscmp
ntfscp -> /usr/local/bin/ntfscp
ntfsfix -> /usr/local/bin/ntfsfix
ntfsinfo -> /usr/local/bin/ntfsinfo
ntfslabel -> /usr/local/bin/ntfslabel
ntfsls -> /usr/local/bin/ntfsls
ntfsresize -> /usr/local/bin/ntfsresize
ntfsundelete -> /usr/local/bin/ntfsundelete
libntfs.9.0.0.dylib -> /usr/local/lib/libntfs.9.0.0.dylib
libntfs.9.dylib -> /usr/local/lib/libntfs.9.dylib


After this, I have a very nice, automounting setup of the latest NTFS-3G version.

Note that I'm no NTFS-3G internal, and know nothing of the inner workings of NTFS-3G. I'm just a Mac user that likes to have access to the latest and greatest versions of NTFS-3G, in order to gain read/write access to my NTFS Boot Camp partition.