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.]


gelo said...

Thanks, i've got to solve the problem related with international characters!

Wen-Hsin Feng said...

Thanks a lot! However, I still have one problem I cannot find the solution.

NTFS-3G works well on one of my HHD; however, I got problem with another HHD in which has 3 NTFS partitions. My MacBook can only recognize its format as NTFS, not as NTFS-3G as my first HHD, so that I cannot write on that disk.

Do you know how to make it mounted as NTFS-3G format? Thank you!

Erik said...

Wen-Hsin Feng:
Intresting... so with the same computer, some file systems get mounted with the internal NTFS driver, and some get mounted with NTFS-3G?
I'd like to investigate that. Please contact me at the address displayed on my main web page so we can sort this out.
Also, could you please attach some output from the "Information" window in Disk Utility for the affected drives and partitions (preferrably as a separate text file) so I can get a clear perception of your setup.

Wen-Hsin Feng said...

The problem was solved, Erik.

I used CHKDSK under Windows XP and it fixed some error (I couldn't write down the message before it went off). Afterwards, my MacBook has no problem to recognize it as NTFS-3G.

I saw your message after it's fixed, so sorry that I can't provide more info about the problem. Thank you.

Ivan said...

I dont have any raw figures for you, but your ntfs-3g package does seem to work much better wire FW for me than with usb2. Avi files wold constantly skip with usb, and switching to firewire fixed that.

In any case, thanks for your hard work, putting this together. Made my transition to make much more pleasant than it would have been otherwise

roland said...

This is a very good package. Everything works out fine. I had some issue that the size of my FW-drive wasn't recognized correctly, but doing a chkdsk on windows fixed that (ntfs-3g said the drive is zero byte and has 7 gb available - weird). I made a bit of a performance test and here are the results:
FireWire 400-drive, 160 GB, Formac Oxygen on a MacBook Pro (CoreDuo 1.83GHz):
Writing: about 6.5 MB/s
Reading: about 9.5 MB/s

Tested with some disk monitoring utility while copying a large file from and to the drive (separatly).

I used another constellation before, including MacFUSE 0.4, NTFS-3g 1.710 for Mac from and a little script which replaced the original ntfs-mount command /sbin/mount_ntfs. It just called the ntfs-3g mount command whenever a ntfs-drive is detected. I think performance was better but I can't say for sure. I did not have the time to switch back for testing and I almost think it has only been faster in my imagination.

Erik said...

roland: Thanks for your performance numbers on firewire drives. They're way better than USB2, though not
I hope you have the time to performance test the next release, including caching support (should make operations a _lot_ faster).

Roland said...

Hi Erik,

I'll do the tests again as soon as your next release is out and post the results. In the meantime I'll try to find a better benchmarking tool. Xbench refused to test the FW disk.
The disk has USB2 too but sadly the MacBook USB ports do not supply enough power to run the disk (and I don't have an external power supply) so I can't run the tests in USB-mode to compare them against the FW-results.

If you'll need some pre-release tests or something else regarding FW-drive, you can contact me via my gmail-adress.