[APP] FM Radio for the Droid 2!!

slayher

Senior Member
Mar 27, 2010
310
1,270
0
Instuctions to get FM Radio on Droid2

1. Droid2 must be rooted. Remount the /system to RW

2. Unzip the archive, and use abd push to put the files in the appropriate folders.
cd system

a. adb push app/FMRadio.apk /system/app
b. adb push app/FMRadioService.apk /system/app
c. adb push bin/fmradioserver /system/bin
d. adb push lib/libFMRadio.so /system/lib
e. adb push lib/libfmradio_jni.so /system/lib
f. adb push lib/libfmradioplayer.so /system/lib

3. Remount /system to ro
4. Plug in headphones.
5. Run FMradio
6 ???
7. Profit!

For me, I live in a crappy radio area, so I was only able to pick up 2 stations. YMMV.

As always I will not be responsible for any damage, pregnancies, or missing items from your home.

Thanks!

Slayher
 

karnovaran

Senior Member
Jul 27, 2009
598
71
0
PDX
get a logcat

It sounds like either a permission issue, or one of the files didnt get pushed
Code:
roid.intent.action.HEADSET_PLUG
08-31 00:07:08.619  2097  2097 D JAVA:FMRadioPlayerService: HEADSET is pluged in
/out.
08-31 00:07:08.627  2097  2097 V JAVA:FMRadioPlayerService: handleMessage headse
t plug begin
08-31 00:07:08.627  2097  2097 V JAVA:FMRadioPlayerService: mHeadset = 1
08-31 00:07:08.627  2097  2097 V JAVA:FMRadioPlayerService: mIsHeadsetPlugged =
true
08-31 00:07:08.635  2097  2097 W JAVA:FMRadioPlayerService: Headset is pluged in
!
08-31 00:07:08.658  2090  2090 D FMRadioMain: Leave getDataFromDB()
08-31 00:07:08.666  2090  2090 D FMRadioMain: leave updateListView()
08-31 00:07:08.666  2090  2090 D FMRadioMain: onStart() called
08-31 00:07:08.666  2090  2090 W FMRadioMain: onServiceConnected::fmradio java s
ervice started
08-31 00:07:08.674  2097  2101 W JAVA:FMRadioPlayerService: IFMRadioPlayerServic
e.Stub : isPowerOn
08-31 00:07:08.674  2097  2101 D JAVA:FMRadioPlayerService: FMStateUNInit:isPowe
rOn(), return misPowerOn value to UI
08-31 00:07:08.791  2090  2090 W FMRadioMain: servie is ready popup a wait dialo
g
08-31 00:07:08.791  2090  2090 D FMDataProvider: set channel table: FM_Radio
08-31 00:07:08.807  2097  2097 D JAVA:FMRadioPlayerService: Received intent: com
.motorola.fmradio.bindservice.succeed
08-31 00:07:08.807  2097  2097 D JAVA:FMRadioPlayerService: bind service succeed

08-31 00:07:08.807  2097  2097 W JAVA:FMRadioPlayerService: Notice home to show
update current preset name on the notice bar.
08-31 00:07:08.830  2934  2934 E FMRadioService: onCreate() called***
08-31 00:07:08.853  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =0
08-31 00:07:08.861  2934  2934 V FMRadioService: onBind***
08-31 00:07:08.861  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.869  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =1
08-31 00:07:08.877  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.877  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =2
08-31 00:07:08.877  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.885  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =3
08-31 00:07:08.885  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =4
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =5
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =6
08-31 00:07:08.892  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.900  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =7
08-31 00:07:08.900  2934  2934 I FMRadio_Logs:  Enter JNI_OnLoad.....
08-31 00:07:08.900  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.900  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =8
08-31 00:07:08.900  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.908  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =9
08-31 00:07:08.908  2934  2934 D FMRadioPlayer: Looper = Looper.myLooper()!
08-31 00:07:08.916  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.916  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =10
08-31 00:07:08.924  2934  2934 I FMRadio_Logs: IN JNI fmradio_native_setup
08-31 00:07:08.924  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:08.924  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.924  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =11
08-31 00:07:08.924  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.924  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =0
08-31 00:07:08.932  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.932  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =1
08-31 00:07:08.932  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.939  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =2
08-31 00:07:08.939  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.939  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =3
08-31 00:07:08.939  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.939  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =4
08-31 00:07:08.947  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.947  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =5
08-31 00:07:08.955  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.955  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =6
08-31 00:07:08.955  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.978  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =0
08-31 00:07:08.978  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.978  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =1
08-31 00:07:08.978  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:08.986  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =2
08-31 00:07:09.002  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.002  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =3
08-31 00:07:09.018  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.018  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =4
08-31 00:07:09.033  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.033  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =5
08-31 00:07:09.041  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.064  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =0
08-31 00:07:09.072  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =1
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =2
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =3
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =4
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =5
08-31 00:07:09.080  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.088  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =6
08-31 00:07:09.088  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.088  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =7
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =8
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =9
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =10
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =11
08-31 00:07:09.096  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.103  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =0
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =1
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =2
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =3
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.111  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =4
08-31 00:07:09.119  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.119  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =5
08-31 00:07:09.119  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.127  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter, getVie
w(), position =6
08-31 00:07:09.127  2090  2090 D FMRadioMain: FMRadio ChannelListAdapter getview
, set gone
08-31 00:07:09.189  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:09.221  1243  1265 I ActivityManager: Displayed activity com.motorol
a.fmradio/.FMRadioMain: 816 ms (total 12066 ms)
08-31 00:07:09.924  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:10.088  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.119  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.135  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.150  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.166  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.182  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.197  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.213  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.229  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.244  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.260  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.275  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.291  2090  2090 D FMRadioMain ChannelListView: call onDraw
08-31 00:07:10.924  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:11.925  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:12.931  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:13.932  2934  2934 W FMRadio_Logs: FMRadioStackService not published
, waiting...
08-31 00:07:14.433  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:15.434  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:16.018  1602  1602 D dalvikvm: GC_EXPLICIT freed 897 objects / 53672
 bytes in 77ms
08-31 00:07:16.432  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:17.435  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:18.436  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:19.435  2934  2934 W FMRadio_Logs: FMRadioStackService not published
, waiting...
08-31 00:07:19.939  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:20.939  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:21.197  1888  1888 D dalvikvm: GC_EXPLICIT freed 3330 objects / 1989
76 bytes in 111ms
08-31 00:07:21.943  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:22.941  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:23.940  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:24.946  2934  2934 W FMRadio_Logs: FMRadioStackService not published
, waiting...
08-31 00:07:25.440  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:26.252  1365  1365 D dalvikvm: GC_EXPLICIT freed 287 objects / 13912
 bytes in 73ms
08-31 00:07:26.448  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:27.449  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:28.450  2934  2934 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:28.786  1243  1255 W ActivityManager: Timeout executing service: Ser
viceRecord{45ce3bc0 com.motorola.android.fmradio/.FMRadioService}
08-31 00:07:28.791  1243  1255 I Process : Sending signal. PID: 2934 SIG: 9
08-31 00:07:28.799  1243  1382 I ActivityManager: Process com.motorola.android.f
mradio (pid 2934) has died.
08-31 00:07:28.799  1243  1382 W ActivityManager: Scheduling restart of crashed
service com.motorola.android.fmradio/.FMRadioService in 5000ms
08-31 00:07:31.275  1402  1402 D dalvikvm: GC_EXPLICIT freed 820 objects / 89352
 bytes in 94ms
08-31 00:07:33.807  1243  1255 I ActivityManager: Start proc com.motorola.androi
d.fmradio for service com.motorola.android.fmradio/.FMRadioService: pid=2945 uid
=1000 gids={3003, 3002, 3001, 1015, 2001}
08-31 00:07:33.900  2945  2945 E FMRadioService: onCreate() called***
08-31 00:07:33.900  2945  2945 V FMRadioService: onBind***
08-31 00:07:33.908  2945  2945 I FMRadio_Logs:  Enter JNI_OnLoad.....
08-31 00:07:33.908  2945  2945 D FMRadioPlayer: Looper = Looper.myLooper()!
08-31 00:07:33.908  2945  2945 I FMRadio_Logs: IN JNI fmradio_native_setup
08-31 00:07:33.908  2945  2945 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:34.908  2945  2945 I ServiceManager: Waiting for sevice fmradio.stac
k...
08-31 00:07:35.913  2945  2945 I ServiceManager: Waiting for sevice fmradio.stac
k...
^C
C:\android-sdk-windows\android-sdk-windows\tools>
 

facelessuser

Senior Member
Jan 31, 2009
417
1
0
Someone should add to the instructions to make the permissions of the files that go into system/lib 644, and the file that goes into system/bin should be 755.

I just used the other lib files and binary files in the related folders as examples. People who are new to linux environments don't know much about permissions, so its always good to post for the new guys to understand as well.
 
Last edited:

karnovaran

Senior Member
Jul 27, 2009
598
71
0
PDX
Thanks facelessuser, it works perfectly now. Here are the extra commands if anyone else needs them:

adb shell
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
chmod 0644 /system/lib/libFMRadio.so
chmod 0644 /system/lib/libfmradio_jni.so
chmod 0644 /system/lib/libfmradioplayer.so
chmod 0755 /system/bin/fmradioserver
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
 

knoxx

Member
Aug 11, 2010
13
0
0
Jerz
Thanks facelessuser, it works perfectly now. Here are the extra commands if anyone else needs them:

adb shell
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
chmod 0644 /system/lib/libFMRadio.so
chmod 0644 /system/lib/libfmradio_jni.so
chmod 0644 /system/lib/libfmradioplayer.so
chmod 0755 /system/bin/fmradioserver
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
hey.. i dont work well with commands, but i was able to achieve root last night..
where do i extract the files to? all i get is adb: not found when trying to push the files.. any help is greatly appreciated ;]
 

karnovaran

Senior Member
Jul 27, 2009
598
71
0
PDX
hey.. i dont work well with commands, but i was able to achieve root last night..
where do i extract the files to? all i get is adb: not found when trying to push the files.. any help is greatly appreciated ;]
Extract the files and open up the system folder, where you'll have app, bin, and lib folders. Copy those 3 folders into your sdk tools folder. Then:

cd c:\wherever-your-sdk-tools-folder-is
adb devices
adb remount
adb push app/FMRadio.apk /system/app
adb push app/FMRadioService.apk /system/app
adb push bin/fmradioserver /system/bin
adb push lib/libFMRadio.so /system/lib
adb push lib/libfmradio_jni.so /system/lib
adb push lib/libfmradioplayer.so /system/lib
adb remount
adb shell
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
chmod 0644 /system/lib/libFMRadio.so
chmod 0644 /system/lib/libfmradio_jni.so
chmod 0644 /system/lib/libfmradioplayer.so
chmod 0755 /system/bin/fmradioserver
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
exit
 

djhcmd

Member
Oct 9, 2009
22
0
0
It does not seem that I have kept su privledges through the shell. If I adb remount I get operation not permitted and if I try and su while in a shell I get permission denied. Do we have to use the exploit everytime we want to have privledges through adb?

EDIT: If anyone else is having this problem, pay attention more (my issue) after you type su in the shell the first time back after rooting the phone will ask you to give adb SU privledges...click remember...issue solved.
 
Last edited:

jj702561

Senior Member
Aug 31, 2010
61
2
0
Texas
honestly i dont think that this could xmit because even if their is a transmitter inside the phone it doesn't seem to have a good enough antenna to receive radio from my porch... then there is the whole issue of what type of an amplifier.... maybe just an issue of a home brew external usb device... but im not holding my breath for someone to want this that badly
 

JonandRoid

Senior Member
Aug 31, 2010
238
11
0
Durham, NC
Is there any way to even open the app without having headphones plugged in? Seems kinda pointless if you don't have headphones...I don't even own a pair of headphones...never needed them....

Sent from my DROID2 using XDA App
 

facelessuser

Senior Member
Jan 31, 2009
417
1
0
Is there any way to even open the app without having headphones plugged in? Seems kinda pointless if you don't have headphones...I don't even own a pair of headphones...never needed them....

Sent from my DROID2 using XDA App
Any FM radio needs a sufficient antenna. Different frequency generally will need different size antennas. FM has longer wave lengths than cell signals, so it needs a bigger antenna. All cell phones that come with FM radios always use the headphone wire as the antenna. 3rd party radios for ipods are found sold on headphones by no coincident.

The app won't let you start it without a headphone because it would be pointless without it; the headphones are your antenna.
 

JonandRoid

Senior Member
Aug 31, 2010
238
11
0
Durham, NC
Oh okay, that makes sense...I used root explorer and just moved the files to their respective directories and it opens and everything seems to work but it just keeps having this loading screen. Something along the lines of processing ____ect. I don't remember what it said exactly but I can't get any radio signal at all even with the headphones plugged in..I'm not sure where I went wrong.

Sent from my DROID2 using XDA App
 

facelessuser

Senior Member
Jan 31, 2009
417
1
0
Oh okay, that makes sense...I used root explorer and just moved the files to their respective directories and it opens and everything seems to work but it just keeps having this loading screen. Something along the lines of processing ____ect. I don't remember what it said exactly but I can't get any radio signal at all even with the headphones plugged in..I'm not sure where I went wrong.

Sent from my DROID2 using XDA App
Permissions Permissions. These are very important in Linux based systems.

Code:
adb shell
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
chmod 0644 /system/lib/libFMRadio.so
chmod 0644 /system/lib/libfmradio_jni.so
chmod 0644 /system/lib/libfmradioplayer.so
chmod 0755 /system/bin/fmradioserver
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
You can also change the permissions in a root file explorer if you have one and are familiar with how to do it in the explorer.