[Sony Ericsson Xperia Neo, Pro] ciubexx:
workaround for my MSC issue

I figured it out a workaround in my case, for the issue detailed on previous page at post #9.

It is important to have your phone rooted!

I flashed with a clean firmware (4.1.B.0.587) my phone (MT15i), I rooted my phone and I placed a customized rom: [ROM]=- Xperia Ultimate HD™ 2.0.3 -= [ Stable like a Rock ] & [ Best User Interface ]

I opened the phone and I let it to install and configure all applications.

I rebooted twice to be sure all configurations are made properly.

I turned off my phone, I removed the SD card and I partitioned the card using my laptop card reader.

I partitioned using the MiniTool Partition Wizard Home Edition 7.6.1 on mine Windows 7 machine:

1. I deleted all partitions from my card (previously I had some partitions);

2. I created at the end of the card one primary partition with ext2 file system format; (previously I tested others formats ext3 and ext4, but seems to not be recognized these formats)

3. on the remaining space I created another primary partition with FAT32 file system format.

Like on below image:

I placed formated card into the phone and I turned on.

I modified the file: /system/etc/vold.fstab

I replaced:

dev_mount sdcard /mnt/sdcard auto /devices/platform/goldfish_mmc.0 /devices/platform/msm_sdcc.4/mmc_host/mmc0 /devices/platform/msm_sdcc.4/mmc_host/mmc1

with:

dev_mount sdcard /mnt/sdcard 1 /devices/platform/msm_sdcc.4/mmc_host/mmc1

Format is:

Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>

To found that solution I made some tests after each modification on /system/etc/vold.fstab I rebooted my phone. And I checked to see if the /mnt/sdcard is mounted properly.

I modified the file on PC and after each time I pushed modified file to the phone:

adb push vold.fstab /system/etc/vold.fstab

(you should have the terminal on the current folder where is your modified file)

Then, with my phone connected to PC I tried to mount the second partition to /data/sdext2/ folder.

Open a terminal and add below commands:

>adb shell
$su -

Your terminal should look like (this is in Windows):

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\Users\ciubex>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
shell@android:/ $ su -
su -
shell@android:/ #

This folder was not on my phone, so I created: #mkdir /data/sdext2/

On PC terminal I tried to mount the partition using the command:

mount -t ext2 -o rw /dev/block/mmcblk0p2 /data/sdext2

After each mount attempt you can check if the partition is mounted by using df command, the terminal should show like:

shell@android:/ $ df
df
Filesystem Size Used Free Blksize
/dev 169.9M 76.0K 169.9M 4096
/mnt/asec 169.9M 0.0K 169.9M 4096
/mnt/obb 169.9M 0.0K 169.9M 4096
/system 312.5M 310.7M 1.8M 4096
/data 380.0M 140.0M 240.0M 4096
/cache 101.5M 1.3M 100.2M 4096
/system/vendor 133.5M 92.1M 41.4M 4096
[b]/data/sdext2 1.4G 82.6M 1.3G 1024[/b]
shell@android:/ $

If your second partition is mounted properly, you can proceed to install Link2SD.

I installed Link2SD, I let the software to generate mount script /system/etc/install-recovery.sh.

I don't rebooted, but I modified generated file by removing the line:

I let only the mounting:

mount -t ext2 -o rw /dev/block/mmcblk0p2 /data/sdext2 1>>$LOG 2>>$LOG

Be careful to have an empty last line.

To exit from terminal, use commad: exit

After that I rebooted my phone.

Now I do not have any more problems with my latest created files or folders on the phone, when I connect the phone to PC using MSC protocol.

I attached an archive with modified files (vold.fstab and install-recovery.sh).