An unlocked phone (or tablet) means that you can put a SIM card inside from any mobile network

operator and
it will work. When it's locked, it will only work on one.

You might want to know if your phone is unlocked so you can sell it as such, so you can switch providers or use
a different SIM card when abroad for cheaper calls and texts. You might also want to know if one you're buying
is unlocked or not.

How to check whether your phone is unlocked

Buying a phone SIM-free means it's unlocked so you're sorted. However, buying one from a phone shop or a
network might mean that it's locked – although it's much less common now than it used to be.

If you have the phone on your person - whether it's an iPhone, Android, Windows Phone, BlackBerry or
something else - then the easiest thing to do to check whether your phone is unlocked is by trying different SIM
cards in it. Either borrow one from a friend or family member but it's pretty easy to get a free one. If the
alternative SIM card(s) work in your phone then it's unlocked.

You might not have the phone, so it's best to ask the seller – whether they are on eBay, a high street shop or a
network – whether the device will come unlocked.

You may find apps claiming to be able to tell you if your phone is unlocked but we would avoid using this
method as they can't necessarily be trusted. Simply trying different SIM cards is your best option.

What does flashing a cell phone mean?

The term is used to define several things, but usually, it means overwriting one of your phone's partitions with
an image you may have downloaded elsewhere, but it usually extends to installing many other things, such as
root or another OS in your phone.

Specifically, and in layman's terms, flashing your phone usually means you're doing one of the following:

 Installing a custom recovery (such as TeamWin - TWRP or ClockworkMod), which allows you to do
things like make a backup of any part of your phone, root your phone, install or flash zips containing a
custom operating system and many others

 Usually done after installing a custom recovery (and depending on the phone), the recovery allows you
to "flash" arbitrary files. One of these may be a file which "roots" your phone, allowing you to do many
things which are usually blocked because they require "Super user" permission. For instance, you'll be
able to manually uninstall applications that come pre-installed with your phone, use a tool like like
Nandroid Backup to perform a full backup of your phone, and many others.

 Installing a custom operating system (such as Cyanogen instead of Stock Android) in order to obtain a
customized experience; get rid of bloatware or any other reason. Usually done after installing a custom
recovery
 Restoring your phone to the stock firmware, in other words, make it as it was originally

Big Parts of a Mobile Cell Phone and Their Function:

1. Antenna Switch: It is found in the Network Section of a mobile phone Cell Phone Antenna Switchand
is made up of metal and non-metal. In GSM sets it is found in white color and in CDMA sets it is found
in golden metal.

Work: It searches network and passes forward after tuning.

Faults: If the Antenna Switch is faulty then there will be no network in the mobile phone.

2. P.F.O: It is found near the Antenna Switch in the Network Section of the PCB of Mobile Phone. It is
also called P.A (Power Amplifier) and Band Pass Filter.

Work: It filters and amplifies network frequency and selects the home network.

Faults: If the PFO is faulty then there will be no network in the mobile phone. If it gets short then the
mobile phone will get dead.

3. RF IC / Hagar / Network IC: This electronic component found near the PFO in the Network Section of
a Mobile Phone. It is also called RF signal processor.

Work: It works as transmitter and receiver of audio and radio waves according to the instruction from
the CPU.

Faults: If the RF IC is faulty then there will be problem with network in the mobile phone. Sometimes
the mobile phone can even get dead.

4. 26 MHz Crystal Oscillator: It is found near the PFO in the Network Section of a Mobile Phone. It is
also called Network Crystal. It is made up of metal.

Work: It creates frequency during outgoing calls.

Faults: If this crystal is faulty then there will be no outgoing call and no network in the mobile phone.

5. VCO: It is found near the Network IC in the Network Section of a Mobile

Work: It sends time, date and voltage to the RF IC / Hager and the CPU. It also creates frequency after
taking command from the CPU.

Faults: If it is faulty then there will be no network in the mobile phone and it will display “Call End” or
“Call Failed”.
6. RX Filter: It is found in the Network Section of a Mobile Phone.

Work: It filters frequency during incoming calls.

Faults: If it is faulty then there will network problem during incoming calls.

7. TX Filter: It is found in the Network Section of a Mobile Phone.

Work: It filters frequency during outgoing calls.

Faults: If it is faulty then there will network problem during outgoing calls.

8. ROM: It is found in the Power Section of a Mobile Phone. Work: It loads current operating program in
a Mobile Phone.

Faults: If ROM is faulty then there will software problem in the mobile phone and the set will get dead.

9. RAM: It is found in the Power Section of a Mobile Phone.

Work: It sends and receives commands of the operating program in a mobile phone.

Faults: If RAM is faulty then there will be software problem in the mobile phone and it will get
frequently get hanged and the set can even get dead.

10. Flash IC: It is found in the Power Section of a Mobile Phone. It is also called EEPROM IC, Memory
IC, RAM IC and ROM IC.

Work: Software of the mobile phone is installed in the Flash IC.

Faults: If Flash IC is faulty then the mobile phone will not work properly and it can even get dead.

11. Power IC: It is found in the Power Section of a Mobile Phone. There are many small components
mainly capacitor around this IC. RTC is near the Power IC.

Work: It takes power from the battery and supplies to all other parts of a mobile phone.

Faults: If Power IC is faulty then the set will get dead.

12. Charging IC: It is found in the Power Section near R22. Work: It takes current from the charger and
charges the battery.

Faults: If Charging IC is faulty then the set will not get charged. If the Charging IC is short then the set
will get dead.
13. RTC (Simple Silicon Crystal): It is Real Time Clock and is found in the Power Section near Power IC.
It is made up of either metal or non-metal. It is of long shape.

Work: It helps to run the date and time in a mobile phone.

Faults: If RTC is faulty then there will be no date or time in the mobile phone and the set can even get
dead.

14. CPU: It is found in the Power Section. It is also called MAD IC, RAP IC and UPP. It is the largest IC
on the PCB of a Mobile Phone and it looks different from all other ICs.

Work: It controls all sections of a mobile phone.

Faults: If CPU is faulty then the mobile phone will get dead.

15. Logic IC / UI IC: It is found in any section of a mobile phone. It has 20

pins or legs. It is also called UI IC and Interface IC.

Work: It controls Ringer, Vibrator and LED of a mobile phone.

Faults: If Logic IC / UI IC is faulty then Ringer, Vibrator and LED of mobile phone will not work
properly.

16. Audio IC: It is found in Power Section of a mobile phone. It is also called Cobba IC and Melody IC.

Work: It controls Speaker and Microphone of a mobile phone.

Faults: If Audio IC is faulty then Speaker and Microphone of a mobile phone will not work and the set
The Android Booting process
This document is intended to explain how the booting process runs.

Consider the following graph:
Step 1: Power On and System Startup

When we press the power button, the Boot ROM code starts executing from a pre-defined location which is
hardwired in ROM. It loads the Bootloader into RAM and starts executing.

Step 2: Bootloader

The bootloader is a small program which runs before Android does. This is NOT part of the Android operating
system. The bootloader is the place where manufacturer puts their locks and restrictions.

The bootloader executes in two stages. In the first stage it detects external RAM and loads a program which
helps in the second stage.

In the second stage, the bootloader setups the network, memory, etc, which requires to run kernel. The
bootloader is able to provide configuration parameters or inputs to the kernel for specific purposes.

The bootloader can be found at:

<android source>/bootable/bootloader/legacy/usbloader

This legacy loader contains 2 important files:

1. 1- Init.s :: Initializes stacks, zeros the BSS segments and call_main() in main.c

2. 2- Main.c :: Initializes hardware (clocks, board, keyboard, console) and creates linux tags.

Step 3: Kernel

The Android kernel starts in a similar way as the linux kernel. As the kernel launches, is starts to setup cache,
protected memory, scheduling and loads drivers. When the kernel finishes the system setup, it looks for “init” in
the system files.

What is the difference between the linux and android kernels?, here's a list of changes/addons that the Android
Project made to the Linux kernel:

 Binder: It is an Android specific interprocess communication mechanism and remote method invocation
system.

 ashmem: "Android Shared Memory". It is a new shared memory allocator, similar to POSIX SHM but
with a different behavior and sporting a simpler file-based API.
 pmem: "Process memory allocator": It is used to manage large (1-16+ MB) physically contigous regions
of memory shared between userspace and kernel drivers.

 logger: This is the kernel support for the logcat command.

 wakelocks: It is used for power management files. It holds the machine awake on a per-event basis until
wakelock is released.

 oom handling: It kills processes as available memory becomes low.

 alarm manager: It lets user space tell the kernel when it would like to wake up.

 RAM_CONSOLE: Allows to save kernel printk messages to a buffer in RAM, so that after a kernel
panic they can be viewed in the next kernel invocation.

 USB gadget driver for ADB

 yaffs2 flash filesystem

Step 4: init process

Init is the very first process, we can say it is a root process, or the grandfather of all processes. The init process
has two responsibilities.

1- Mounts directories like /sys , /dev or /proc

2- Runs init.rc script

 - The init process can be found at /init :: <android source>/system/core/init

 - Init.rc file can be found at :: <android source>/system/core/rootdir/

Android has specific format and rules for init.rc files. More information about this rules can be found in: What
is inside the init.rc and what is it used for.

At this stage, you can finally see the Android logo in your screen.
Step 5: Zygote and Dalvik

In Java, we know that a separate Virtual Machine instance will popup in memory for separate per app, but in the
case of Android, the VM should run as quick as possible for an app. But what happens if you have several apps
thus launching several instances of the Dalvik (VM)?, it would consume an immense amount of memory.

To overcome this problem, the Android OS has a system called “Zygote”. The Zygote enables code sharing
across the Dalvik VM, achieving a lower memory footprint and minimal startup time. Zygote is a virtual
machine process that starts at system boot. The Zygote preloads and initializes core library classes.

The Zygote loading process:

1. Load Zygote Init class:
<android source>/frameworks/base/core/java/com/android/internal/os/ZygoteInit.java

2. registerZygoteSocket() :: It registers a server socket for zygote command connections.

3. preloadClasses() :: Is a simple text file that contains a list of classes that need to be preloaded, you can
find the file at <android source>/framework/base

4. preloadResources() :: Everything that is included in the android.R file will be loaded with this method
(themes and layouts).

At this time, you can see the boot animation.

Step 6: System service

After the above steps are completed, Zygote launches the system services. The Zygote forks a new process to
launch the system services.

Core services:

 Starting power manager

 Creating the Activity Manager
 Starting telephony registry

 Starting package manager

 Set activity manager service as system process

 Starting context manager

 Starting system contact providers

 Starting battery service

 Starting alarm manager

 Starting sensor service

 Starting window manager

 Starting Bluetooth service

 Starting mount service

Other services:

 Starting status bar service

 Starting hardware service

 Starting NetStat service

 Starting connectivity service

 Starting Notification Manager

 Starting DeviceStorageMonitor service

 Starting Location Manager

 Starting Search Service
 Starting Clipboard Service

 Starting checkin service

 Starting Wallpaper service

 Starting Audio Service

 Starting HeadsetObserver

 Starting AdbSettingsObserver

Now we have finally completed the booting process (system service are up and running in memory).

Need to analyze the Android Bootup?

The logcat :: Use adb to get the booting process events from the logcat.

‘adb logcat –d –b events | grep “boot”

‘adb logcat –d | grep preload’