For newer devices (I don't know how to categorize them, maybe 2012 devices) it's easy to mount any filesystem in both R/W mood for Xperia series. But a little older devices (maybe all the others?) it's not so easy. Some support it partially and some don't (totally). My phone is Xperia Neo V and it doesn't seem to support that. Had a hard time to find this workaround but it's effective, FINALLY !!! :D
To mount NTFS in full support you need two things. A set of modules and the mount script. How to do that follows.
Pre-requisites:
1. Rooted device (you can find tutorials on that)
2. CWM installed (you can use X-Parts from Play Store
3. Script Manager
Steps:
1. First download
this file. It is the ntfs-3g modules set compiled for Android.
2. Copy the zip to your SD-Card, in a folder that you can easily recognize by name
3. Reboot into recovery, to do this first turn your phone off. Then power it up and wait for the Sony Logo. When it comes keep pressing the volume down key repeatedly (the key maybe different for another device, do a little Googling to know which).
4. Now you're in CWM (hopefully, you'll see screen with a list of things). Choose 'install zip from sdcard'. Choose the zip file from the sdcard. It will show some messages. If all goes well the last line should be something like "....done"
5. Now supposing the modules have been installed correctly copy this script and save it with the name "MountScript.sh" in your SD-card.
#!/system/bin/sh
#
# Mount USB OTG NTFS Storage device - shardul_seth@xda
# Mount point checking added by - tafhim
# load fuse support
if [ ! -e /system/lib/modules/fuse.ko ]; then
busybox echo -e "WARNING: fuse module not found!\nIs fuse built into kernel?"
else
insmod /system/lib/modules/fuse.ko
fi
# mount partitions
sdn=0
ls -l /dev/block/sd??
if [ $? -eq 0 ]; then
for sd in `ls /dev/block/sd??`; do
if [ -d "/sdcard/usb_drive_$sdn" ]; then
umount /sdcard/usb_drive_$sdn
rm -R /sdcard/usb_drive_$sdn
fi
if [ ! -d "/sdcard/usb_drive_$sdn" ]; then
mkdir /sdcard/usb_drive_$sdn
chmod 777 /sdcard/usb_drive_$sdn
ntfs-3g -o umask=0 $sd /sdcard/usb_drive_$sdn
if [ $? -ne 0 ]; then
busybox mount -o umask=0 $sd /sdcard/usb_drive_$sdn
echo "$sd mounted on /sdcard/usb_drive_$sdn"
else
echo "$sd (NTFS) mounted on /sdcard/usb_drive_$sdn"
fi
sdn=`expr $sdn + 1`
if [ ! -z $SM_VERSION ]; then echo showToastLong "$sdn Drives mounted!" >&$SM_GUIFD; fi
fi
done
else
echo "No drive found! Exiting.."
if [ ! -z $SM_VERSION ]; then echo showToastLong "No drive found! Exiting.." >&$SM_GUIFD; fi
exit 1
fi
exit 0
6. Connect your drive using the OTG cable.
7. If not installed download Script Manager from the Play Store. Run it and browse to the place where you saved the script. Select it
8. You don't have to change anything just select the "su" option that has an Android Skull (Pirate-ish) over it. Now select "Run" from the top-most menu.
9. If you see the message "1 drive mounted" or similar, you're done. Just go to the SD-card and drag down and you'll see the folder "usb_drive_0". If you have multiple partitions, all will be mounted.
You need to do all these only the first time. From later on, you only need to follow steps 6-9 only :)
For help on rooting / CWM Installation / etc head over to
XDA Developers Forum.
For help on using FlashTool in Linux read
this.
Xperia Neo V specific stuff:
Some nice kernels for Xperia Neo V are the
Suave Kernel, the
Super Stock Kernel and the
Alliance Kernel MOD.
You can download kernel
.562 and kernel
.587 for Xperia Neo V MT11i. You need these to root your device using
this method
The DooMLord rooting kit (windows) is available
here
The DooMLord rooting kit (linux) is available
here
The CWM Installer (windows) is available
here
X-Parts apk is available
here