diff --git a/fmapp/res/values/arrays.xml b/fmapp/res/values/arrays.xml
index 2fbe0d2..3778be1 100644
--- a/fmapp/res/values/arrays.xml
+++ b/fmapp/res/values/arrays.xml
@@ -294,7 +294,7 @@
     <item>Australia (87.7MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>Austria (87.5MHz To 108.0MHz In  50 Khz Steps)</item>
     <item>Belgium (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
-    <item>Brazil (87.8MHz To 108.0MHz In 200 Khz Step)</item>
+    <item>Brazil (87.5MHz To 108.0MHz In 200 Khz Step)</item>
     <item>China (87.0MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>Czech (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>Denmark (87.5MHz To 108.0MHz In 50 Khz Steps)</item>
diff --git a/fmapp/src/com/codeaurora/fmradio/FMTransmitterConfigReceiver.java b/fmapp/src/com/codeaurora/fmradio/FMTransmitterConfigReceiver.java
index 2abd3ca..d64852a 100644
--- a/fmapp/src/com/codeaurora/fmradio/FMTransmitterConfigReceiver.java
+++ b/fmapp/src/com/codeaurora/fmradio/FMTransmitterConfigReceiver.java
@@ -36,6 +36,7 @@
 import android.util.Log;
 import android.os.SystemProperties;
 import java.io.FileReader;
+import java.io.File;
 import java.lang.String;
 
 
@@ -57,7 +58,12 @@
             if ("msm7630_surf".equals(SystemProperties.get("ro.board.platform"))) {
                 Log.d(TAG,"this is msm7630_surf");
                 try {
-                    socinfo_fd = new FileReader("/sys/devices/system/soc/soc0/build_id");
+                    File f = new File("/sys/devices/soc0/build_id");
+                    if (f.exists()) {
+                        socinfo_fd = new FileReader("/sys/devices/soc0/build_id");
+                    } else {
+                        socinfo_fd = new FileReader("/sys/devices/system/soc/soc0/build_id");
+                    }
                     socinfo_fd.read(socinfo,0,20);
                     socinfo_fd.close();
                 } catch(Exception e) {
diff --git a/fmapp2/res/values/arrays.xml b/fmapp2/res/values/arrays.xml
index 2fbe0d2..3778be1 100644
--- a/fmapp2/res/values/arrays.xml
+++ b/fmapp2/res/values/arrays.xml
@@ -294,7 +294,7 @@
     <item>Australia (87.7MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>Austria (87.5MHz To 108.0MHz In  50 Khz Steps)</item>
     <item>Belgium (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
-    <item>Brazil (87.8MHz To 108.0MHz In 200 Khz Step)</item>
+    <item>Brazil (87.5MHz To 108.0MHz In 200 Khz Step)</item>
     <item>China (87.0MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>Czech (87.5MHz To 108.0MHz In 100 Khz Steps)</item>
     <item>Denmark (87.5MHz To 108.0MHz In 50 Khz Steps)</item>
diff --git a/fmapp2/src/com/caf/fmradio/FMTransmitterConfigReceiver.java b/fmapp2/src/com/caf/fmradio/FMTransmitterConfigReceiver.java
index 4f15188..b20a57d 100644
--- a/fmapp2/src/com/caf/fmradio/FMTransmitterConfigReceiver.java
+++ b/fmapp2/src/com/caf/fmradio/FMTransmitterConfigReceiver.java
@@ -36,6 +36,7 @@
 import android.util.Log;
 import android.os.SystemProperties;
 import java.io.FileReader;
+import java.io.File;
 import java.lang.String;
 
 
@@ -57,7 +58,12 @@
             if ("msm7630_surf".equals(SystemProperties.get("ro.board.platform"))) {
                 Log.d(TAG,"this is msm7630_surf");
                 try {
-                    socinfo_fd = new FileReader("/sys/devices/system/soc/soc0/build_id");
+                    File f = new File("/sys/devices/soc0/build_id");
+                    if (f.exists()) {
+                        socinfo_fd = new FileReader("/sys/devices/soc0/build_id");
+                    } else {
+                        socinfo_fd = new FileReader("/sys/devices/system/soc/soc0/build_id");
+                    }
                     socinfo_fd.read(socinfo,0,20);
                     socinfo_fd.close();
                 } catch(Exception e) {
