[XPERIA X10 Android Development] SysGhost:
You might be reading this because you experienced the things I've experienced on three different X10i devices so far:

After rooting the phone according to instructions found here on XDA-Developers, the phones started to lock the SIM-card, to what it seems, on a random basis over and over.

Sometimes it can go days before it suddenly locks up, other times just minutes between the locking intervals.

There is a solution.

Some of you might already have solved this problem, unintentionally.

There was a post further down on the "X10 rooting guide" suggesting what apps to remove. One of the apps suggested there, are the cause of the this problem, and once removed it also removed the problem.

Remember: If you don't have problems, you don't need to fix it either. -"Don't fix what isn't broken."

Before you read on, keep in mind you are having root-access and can cause some "serious" damage to the system files if you execute the wrong commands.

I hereby declines any responsibility if you choose to follow this guide.

You execute the commands at your own risk.

I assume you got everything already set up for adb access. If not, read on: http://xdaforums.com/showthread.php?t=532719

The problem:

The Android OS uses parts of the SIMtoolkit (STK) to access the simcard in the phone.

Only one application/tool can connect to the simcard at a time, so any other application that needs access to the information on the SIM-card should to go through the STK.

However, there are a few "badly" written applications that doesn't go through the proper "channels" to access the SIM-card. They're often written to access the SIM-card directly. This causes a conflict, where STK is "smart" enough to move aside.

Every time an application or a tool connects to the SIM-card, the SIM-card resets and locks down again, requiring one to enter the PIN-code once again.

In the X10i's case, the "conflicting" application are Sony Ericsson's own "Backup and Restore" application.

The Android OS launches applications in a "prefetch" manner so they are available quickly once needed.

This causes "Backup and Restore" to get in between and "steal" the SIM-card connection every single time it's loaded, either by you, or by the Android OS itself.

This causes the SIM-card to reset and lock down every time the Android OS decides to unload "Backup and Restore" to free up memory.

Sony Ericssons developers should make the "Backup and Restore" app to go through Androids proper ways to access the SIM-card: via STK (SIMcard ToolKit) and not directly.

The solution: (Phone will reboot, save all data before proceeding)

Move/remove Sony Ericsson's application named "Backup and Restore".

There are better applications for backup available out there anyway, such as "Titanium Backup".

EDIT: As a user mentioned, further down among the posts here, it is possible to remove "Backup and Restore" with Titanium Backup. Just install Titanium Backup from the Android market, and then remove it from there:

1: Start Titanium Backup, accept root access.

2: Tap "Backup/Restore" at the top.

3: Scroll down and tap "Backup and Restore" in the list that appears.

4: Tap "Un-Install !"

5: Reboot the phone to clean out eventually remains of it in the phones memory. (Not necessary tho)

If the solution above isn't possible for some reason, follow these instructions: (Only if solution above fails)

The apk file is named: "semc-backup-rachael.apk". It's found in /system/app/

To move it out of harms way, execute the following commands in an adb-shell:

mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
mkdir /system/app/temp1
mv /system/app/semc-backup-rachael.apk /system/app/temp1/
reboot

Once the phone rebooted, the "Backup and Restore" app should be no more, and therefor less random SIM-card lockups. (You still have to unlock the SIM-card after reboot, doooh)

If everything seems to be working in order after the reboot, and the "Backup and Restore" application are gone, Proceed to "CleanUp" further down.

If things do fail, execute the following to restore it to the previous state:

Do not execute this unless you want to restore the previous state:

mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
mv /system/app/temp1/* /system/app/
reboot

The CleanUp:

To remove any leftovers after a successful reboot: (WARNING: Unless you have an external backup of the semc-backup-rachael.apk file, this will be irreversible )

mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
rm /system/app/temp1/*
rmdir /system/app/temp1
reboot