Input.accelerometer x,y,z always returning zero

Hi,
I am creating a simple game to achieve first person control on my android device HTC one M8. I started with joystick and could successfully move in FP. I tried in many ways with accelerometer but it seems Input.accelerometer x,y,z are always zero. I tried it on couple of other android devices but in vain. Player is in center of a room where camera is child of player. Fps is a component of player.

I am new to Unity, am I missing to add something as I could see unity games on my own device with First person control. I am using unity 4.6.2. Any help on this topic will be highly appreciated.

Here is the code I am trying, player is moving back

function Update()
{
var dir : Vector3 = Vector3.zero;
dir.x = Input.acceleration.x;
dir.z = Input.acceleration.z;
if (dir.sqrMagnitude > 1)
dir.Normalize();
dir *= Time.deltaTime;

if(Input.acceleration.x != 0){
	thisTransform.Translate (dir.x, dir.z, 0);
}else{
	dir.x = -0.01f;
	thisTransform.Translate (dir);
}   

}

Go to edit->project settings->player and make sure that Accelerometer Frequency in the Other Settings section isn’t set to “disabled”.