Full NTFS Read Write support for Android (ARM)

Search This thread

shardul_seth

Senior Member
Jul 31, 2011
1,102
1,717
I had a hard time searching for full NTFS read-write support for android. This thread is the fruit of that search..

I am posting it here with the hope that it will be useful for many more users of android.

Warning: I will take no responsibility for data loss or corruption that may occur on NTFS drives, though ntfs-3g has been known to be safe.

Q. Why would someone need this?
1. To support NTFS formatted partition(s) of USB-OTG mounted drives
2. To support NTFS partition(s) in microSD card

Q. What are requirements?
1. Fuse driver fuse.ko (compiled for the ROM kernel sources)
2. Latest ntfs-3g binary (see download below)
3. arm powered rooted android device (including SONY, Samsung, Motorola, HTC etc devices)

Q. Steps to get it working?
1. Push fuse.ko to /system or /data, chmod 644, and insmod
2. Push ntfs-3g to /system/xbin/, chmod 755
3. Mount USB OTG device (See script below)
For sdcard, only minor changes required!
4. Unmount as usual with "busybox umount /path/to/mount/"

Download
ntfs-3g
mount script

Update: My USB OTG Helper app has been updated to include this and more. Check it out!!


All-in-one for Sony Xperia 2011 devices -> Here
All-in-one for Samsung Galaxy SII -> Here
Reported working on Samsung Galaxy Note - link - thanks globalthrasher


Touble-shooting!:
For debugging..
1. Download this script and extract to sdcard
2. Connect your drive (pen drive, flash disk, powered HDD)
3. Run the script with script manager
4. Copy the output file from /sdcard/usb_otg_debug.txt and post here


Technical details
---------------------------------------------------------------------------------------------
As the ntfs driver in linux 2.6 kernel does not have write support, the only feasible way was ntfs-3g

Steps:
1. Fuse support (fuse.ko) to be compiled for the respective device from kernel source.
2. The ntfs-3g module was compiled with codesourcery toolchain (arm-none-linux-gnueabi)
Code:
./configure --enable-really-static -host=arm-none-linux-gnueabi
make

ntfs-3g: Main site | More details | Release History
 

Attachments

  • USBOTG_debug.sh.pdf
    189 bytes · Views: 2,521
  • USBOTG_debug_v2.sh.pdf
    654 bytes · Views: 7,165
Last edited:

shardul_seth

Senior Member
Jul 31, 2011
1,102
1,717
NTFS Utils

NTFS Utils reference:
NTFS UTILITIES
==============

The ntfsprogs includes utilities for doing all required tasks to NTFS
partitions. In general, just run a utility without any command line
options to display the version number and usage syntax.

ntfsfix - Attempt to fix an NTFS partition and force Windows to check NTFS.

mkntfs - Format a partition with the NTFS filesystem.

ntfslabel - Display/change the label of an NTFS partition.

ntfsundelete - Recover deleted files from an NTFS volume.

ntfsresize - Resize NTFS volumes.

ntfsclone - Efficiently create/restore an image of an NTFS partition.

ntfscluster - Locate the owner of any given sector or cluster on an NTFS partition.

ntfsinfo - Show some information about an NTFS partition or one of the files or directories within it.

ntfsls - List information about files in a directory residing on an NTFS partition.

ntfscat - Concatenate files and print their contents on the standard output.

ntfscp - Overwrite files on an NTFS partition.
 

david279

Senior Member
Sep 4, 2007
5,680
1,888
New Orleans
This is great. The fat32 4 GB size limit suck. Hope to get some exFAT support in the future also since exFAT is currently supported by both Mac and Windows 7,8.

Sent from my EVO 4G LTE
 

dodoik

Senior Member
Dec 20, 2011
256
171
pekanbaru
Great news....
Gonna try it soon...my galaxy fit would have external hardisk from now :)

Is it posible to include it when i compile with my own kernel rather than push the fuse.ko directly to the system?

Sorry for my bad english...

Sent from my GT-S5670 using xda premium
 

shardul_seth

Senior Member
Jul 31, 2011
1,102
1,717
Great news....
Gonna try it soon...my galaxy fit would have external hardisk from now :)

Is it posible to include it when i compile with my own kernel rather than push the fuse.ko directly to the system?

Sorry for my bad english...

Sent from my GT-S5670 using xda premium

Ofcourse you can compile it as built-in rather than a module :)
 
  • Like
Reactions: dodoik

maxwarp79

Senior Member
May 25, 2011
332
14
Foglianise
Great! :D
Anyone tried it on Samsung Galaxy Tab 10.1 (P7500)?!?

HERE the way to use it on SGS2 (I9100), I didn't try it.
I'll try on SGT10.1, but there is a way to auto-mount devices on connect?
 
Last edited:

globaltrasher

Member
Nov 14, 2008
49
2
A couple of quick question, as I'm not sure about this, although "microSD" is mentioned in the first post...

1. Will this work for 64GB microSDXC expansion cards to be formatted as NTFS, usable and fully recognized? Or this is only for USB-OTG support for NTFS storage?

2. Does updated app (Helper) in the other thread take care of all the steps mentioned in original post when it comes to enabling microSDXC support mentioned above?

3. Has anyone successfully done this for Samsung Galaxy Note yet?

Sorry, if those are questions for obvious answers... :)

Thx.
 

shardul_seth

Senior Member
Jul 31, 2011
1,102
1,717
A couple of quick question, as I'm not sure about this, although "microSD" is mentioned in the first post...

1. Will this work for 64GB microSDXC expansion cards to be formatted as NTFS, usable and fully recognized? Or this is only for USB-OTG support for NTFS storage?

2. Does updated app (Helper) in the other thread take care of all the steps mentioned in original post when it comes to enabling microSDXC support mentioned above?

3. Has anyone successfully done this for Samsung Galaxy Note yet?

Sorry, if those are questions for obvious answers... :)

Thx.
1. Yes, just issue the commands on terminal
2. No
3. Not tried, but possible if kernel support
 

Top Liked Posts

  • There are no posts matching your filters.
  • 52
    I had a hard time searching for full NTFS read-write support for android. This thread is the fruit of that search..

    I am posting it here with the hope that it will be useful for many more users of android.

    Warning: I will take no responsibility for data loss or corruption that may occur on NTFS drives, though ntfs-3g has been known to be safe.

    Q. Why would someone need this?
    1. To support NTFS formatted partition(s) of USB-OTG mounted drives
    2. To support NTFS partition(s) in microSD card

    Q. What are requirements?
    1. Fuse driver fuse.ko (compiled for the ROM kernel sources)
    2. Latest ntfs-3g binary (see download below)
    3. arm powered rooted android device (including SONY, Samsung, Motorola, HTC etc devices)

    Q. Steps to get it working?
    1. Push fuse.ko to /system or /data, chmod 644, and insmod
    2. Push ntfs-3g to /system/xbin/, chmod 755
    3. Mount USB OTG device (See script below)
    For sdcard, only minor changes required!
    4. Unmount as usual with "busybox umount /path/to/mount/"

    Download
    ntfs-3g
    mount script

    Update: My USB OTG Helper app has been updated to include this and more. Check it out!!


    All-in-one for Sony Xperia 2011 devices -> Here
    All-in-one for Samsung Galaxy SII -> Here
    Reported working on Samsung Galaxy Note - link - thanks globalthrasher


    Touble-shooting!:
    For debugging..
    1. Download this script and extract to sdcard
    2. Connect your drive (pen drive, flash disk, powered HDD)
    3. Run the script with script manager
    4. Copy the output file from /sdcard/usb_otg_debug.txt and post here


    Technical details
    ---------------------------------------------------------------------------------------------
    As the ntfs driver in linux 2.6 kernel does not have write support, the only feasible way was ntfs-3g

    Steps:
    1. Fuse support (fuse.ko) to be compiled for the respective device from kernel source.
    2. The ntfs-3g module was compiled with codesourcery toolchain (arm-none-linux-gnueabi)
    Code:
    ./configure --enable-really-static -host=arm-none-linux-gnueabi
    make

    ntfs-3g: Main site | More details | Release History
    11
    NTFS Utils

    NTFS Utils reference:
    NTFS UTILITIES
    ==============

    The ntfsprogs includes utilities for doing all required tasks to NTFS
    partitions. In general, just run a utility without any command line
    options to display the version number and usage syntax.

    ntfsfix - Attempt to fix an NTFS partition and force Windows to check NTFS.

    mkntfs - Format a partition with the NTFS filesystem.

    ntfslabel - Display/change the label of an NTFS partition.

    ntfsundelete - Recover deleted files from an NTFS volume.

    ntfsresize - Resize NTFS volumes.

    ntfsclone - Efficiently create/restore an image of an NTFS partition.

    ntfscluster - Locate the owner of any given sector or cluster on an NTFS partition.

    ntfsinfo - Show some information about an NTFS partition or one of the files or directories within it.

    ntfsls - List information about files in a directory residing on an NTFS partition.

    ntfscat - Concatenate files and print their contents on the standard output.

    ntfscp - Overwrite files on an NTFS partition.
    5
    Hey guys,

    Just to inform you that my app is now in the play store.. So you will get update notifications :cowboy:
    And NTFS support is inbuilt :)
    https://play.google.com/store/apps/details?id=net.shajul.usbotg
    3
    Yes SOLVED

    has anyone gotten WRITE access to NTFS drive on the nexus5? i can only READ from it, can't copy from my nexus5 to the drive

    tried everything!

    Yes, the following works on 4.4.2

    • Stickmount app, it actually does the sensing and mounting
    • Follow Stickmount's instructions for coppying ntfs-3g to /sdcard, it copies that file for you into the $PATH so then the kernel can mount NTFS
    • The reason you get read-only NTFS by default is the kernel is playing safe, the last trick to get NTfs read WRITE is to make SELinux go into permissive mode, the simplest way to do this is install SE linux mode changer app and set it to permissive.
    • Then when you plug in your NTFS drive, Stickmount will sense, mount as ntfs as read-write

    This is wonderful, I now got a large USB drive I can move files between every platform in my set of 14 devices (including Windows, Linux of various flavors and all my Android devices). NTFS is the only common denominator with large file support. Ext3 is common to Android and Linux. FAT is common but some of my files >4GB.
    2
    Sorry for double post, but I wanted to communicate that I finally got rid of Blank SD card notification. All I had to do is go to Settings / Storage / Mount SD card... And voila, I got 64GB microSDXC card, formatted as NTFS recognized. I can copy 4GB+ files to it over Samba file transfer app and play the file on the phone just fine.
    I already have one script to execute on boot ("ntfs-3g /dev/block/mmcblk1p1 /mnt/sdcard/external_sd"). Only drawback left to resolve is how to get rid of having to go to Settings / Storage every time the phone boots up... Any script for that that could automatically take care of this problem?

    Confirmed working on AT&T Samsung Galaxy Note with Sauron RC7.1 [2.3.6] by DAGr8 (OC Kernel by Da_G).

    I will check USB OTG functionality once I get the cable in a few days...

    Excellent. Thanks a lot! Donation made - Transaction ID # 0AB924075H6975517

    :good:

    Update: Just to clarify... Before going to Settings/Storage/Mount SD Card the card was actually usable for copying files to and from it using ES Explorer (the script I executed took care of that). But for example, I could not switch Camera storage from Phone to SD Card. The option was grayed out. As soon as I mounted SD in Settings/Storage, the "Blank SD Card" notification disappeared and I could use it in stock Camera app.