yashsingh1/xdaforums huggingface dataset:
[Spirit FM] mikereidis:
A little bit. You can always email me for the latest test packages.

Also, send me an email, and once I verify a purchase I can send you a personalized license file. This file will enable any package, including the free one, to have Light or Unlocked capabilities.

The email address or name are usually enough to verify a purchase, although occasionally I have to ask for more info. And yes, some people have tried to trick me, sometimes with a cancelled order.

The license file is "personalized" with the email address so posting it on the Internet means that person is also posting their email. AND I will find it sooner or later and disable it in future releases.
[Spirit FM] mikereidis:
Probably because you are using the Google Play May25 or an earlier version.

The free version June 13 is linked at the top of post 1 of this thread. With a license file it gains paid app capability. And/or email me for the latest version.

I'm behind by over a week now, but I really hope to get the latest version up on Play tonight, after some better testing.
[Spirit FM] mikereidis:
The workaround to enable speaker is to remove the headset plug by about 3 mm or 1/8".

Audio switches to speaker and the connection is good enough for the antenna function.

This problem doesn't happen on stock ICS ROMs for the Galaxy S2 or Note.

I'll find a better solution as soon as I can, but I've already spent at least 6 hours looking, and I tend to "time share" the time I spend on the "scores" (hundred+ ?) of known problems.
[Spirit FM] mikereidis:
Spirit supports both:

- Low level APIs that tend to require root/SU and can work on almost any ROM.

- High Level "OEM Proprietary" FM APIs that can work on stock, unrooted devices.

If there are sufficient amounts of the High Level "OEM Proprietary" FM API present in the framework file, Spirit can use these APIs, even on custom ROMs without Sense/Blur/TouchWiz etc.

The easiest way to use those APIs is to deny SU/root to Spirit and restart it. Or you can force their use, even with SU, by setting Debug->FM API to "OEM Proprietary".

In this case, SU isn't needed, although it improves the information I get with the debug logs.

Each of the APIs have their own advantages and limitations. For example, the Samsung API forces a requirement for the headset to be plugged in.
[Spirit FM] mikereidis:
June 15 Free: http://d-h.st/9Fa

Light and Unlocked also on Google Play.

Changes relative to June 13:

- Many new adjustments, fixes and workarounds.

- New Debug setting "External Volume". Automatically set to 15 for LG P500 on ICS, may be set to 1-20.

- New Debug settings "Unmute/Headset/Speaker Extra". Can solve issues when audio routing requires extra button presses.

Changes relative to last Google Play release May 25:

- Adjustments, fixes and workarounds.

- Revamp Audio->Method "Galaxy S ICS". Add Debug->Galaxy S with default = "Auto (Safer)".

- New Audio->Method's "qsd8250 Plus/ICS", "msm7x30 AscendII", "ZTE Blade2".

- Support for stock, unrooted HTC OneX and other recent TI devices using TI OEM FM API or new low level TIFM API.

- Support for preset name in Notification window, next to frequency.

- Partial support for User Interface->Station ID = "Name".

- TI OEM API for most recent devices does not force Bluetooth on now. Older devices such as HTC Legend still require BT on.

- Enhancements to Broadcom no bluetooth UART mode. May enable UART mode on resistant devices such as Dell Streak.

- Automate the loading of some Samsung FM kernel drivers for Galaxy S/S2/Note etc.

- New Debug setting "AM Mute Off" disables the Audio->Method mute function, while keeping other Mute functions. May be useful in cases where unmute is unsuccessful.

- Adjustments to Galaxy S2 and Note audio methods on stock ROMs.

- New Debug settings "Audio Focus" and "Mute kill mediaserver".

- New Debug setting "HCI Access". For devices using Broadcom or TI FM chips accessed at low level with HCI commands.

- New Debug setting "External Volume". Automatically set to 15 for LG P500 on ICS, may be set to 1-20.

- New Debug settings "Unmute/Headset/Speaker Extra". Can solve issues when audio routing requires extra button presses.

- Motorola OEM API does not force Bluetooth on now.

- For some Motorola devices: switched back to using hcitool to load the TI chip.

- Logging enhancements.
[Spirit FM] groksteady:
Cheers for the update on Play. Was just about to try exporting settings to get them on the 613fr version, but this is simpler and better -- and I quite like having the UL icon! Danke sehr, sir!

sent from xda on a telephonic device
[Spirit FM] Mr Black'd:
Just dl June 13 version and I noticed that whenever the app starts bluetooth is automatically enabled. Is there a setting or sth do prevent it from happening?

Thanks in advance.
[Spirit FM] mikereidis:
[9.Jun.2012] NexusHD2-ICS-4.0.4-CM9-HWA V2.3 (Kernel: tytung_HWA_r3) ?

June 15 is the latest Spirit.

Recent ICS ROMs have Bluetooth running all the time, despite what you set it to. So "turning it on" at the Android level, only makes it look like it was turned on. It runs from boot.

This prevents Spirit's UART mode from working with Bluetooth off.

You could set Debug->HCI Access to UART and after a restart it should, in theory, force UART mode.

But that won't work because Bluetooth processes are "hogging" the UART.

I've tried manually killing the Bluetooth processes and writing "Off" to the UART power flag, and that worked for me, but it leaves Bluetooth unable to run until a reboot.

I've been considering putting a workaround in the app for this problem, but I can't make it automatic since it will break people's Bluetooth. So it would have to be a manual debug setting.
[Spirit FM] skwizod:
Running a AT&T HTC One X with cm9 ROM. Pressing the Power results in:

Error: Power (On stock Galaxy S/S2/S3/Note: Ensu...

SU: 2 Fm:SL Su:1 Bt:0 Ht:0 Mo:SLS

Settings>Audio>Method = HTC OneX

Any Suggestions?

Thanks!
[Spirit FM] pepemosca:
Hey, is there any way to decrease the lower volume?

The volume is too high compared to a media player like (Poweramp).

I have a Samsung Galaxy S II (GT-I9100 International) running CyanogenMod 9 NIGHTLY and Siyah kernel.

Thanks!
[Spirit FM] mikereidis:
The LTE version of the HTC One X, also known as the HTC One XL, uses a Qualcomm FM/combination chip.

I don't support that chip yet, except for some very limited and buggy support on Huawei Ideos X5/X6.

I bought the more popular International One X thinking it had the Qualcomm chip, but it turns out to have a TI WL1283 chip.

I will see if I can support the One S and the One XL within the next month or so, but I'd have to buy one to do so.
[Spirit FM] mikereidis:
You quoted a post about a workaround for a bug specific to Galaxy S, with the WM8994 audio chip. Galaxy S2 is different.

I'm running CM9 on my S2 and it seems OK, and there are no volume complaints. So perhaps there is something specific to that kernel.

I just downloaded it and will try it out.
[Spirit FM] pepemosca:
@mike, is not that it's imposible high... is just that it's high for my ears.

I mean, I would like to listen to the radio more quiet.

My question could be, is there any Debug option to reduce the volume?

Thanks!
[Spirit FM] skwizod:
Excellent. Thanks for the update. I plan to purchase to help fund development. Thanks for your contribution.
[Spirit FM] JeanCarloss:
Question

This App running in Motorola Razr? Thanks
[Spirit FM] mikereidis:
It hasn't in the past and I don't expect anyone to ever get FM working on the Razr.

BUT, I recently added support for the /dev/tifm API which appears supported on the stock GB ROM for Razr. So try it out and let me know.

At this point, all I'm looking for are RSSI signal strength numbers (at upper left) of 10 or more when tuned and a wired earphone is plugged in. Previous tests show 0 or negative values. I'm less optimistic that audio will work.

EDIT: XMGuy tried it and it hangs on "Please wait". Doesn't look good and never did anyway.
[Spirit FM] mikereidis:
I was about to say no, because the Si4709 FM chip only allows 15 volume values, but... :)

I started messing around a bit and found there are ALSA control registers that can be poked. For example, from adb shell or a terminal app:

/data/data/com.mikersmicros.fm_unlock/files/ssd 4 2 27 50

Replace "unlock" with "li" for Light or "fr" for Free.

The last number is volume. Default is 75, max is 93 and around 50 is the quietest I think anyone would want. Values must be logarithmic I guess.

The 2nd last number is ALSA register. 27 = DAC Playback Volume. You could also use 1 for Master Volume or 45 for Headphone, but I'd guess these would lower other audio also.

I could add support using the new Debug->External Volume feature, which so far is only for msm7x30 (/dev/msm_snd) devices, probably from LG (P500).

There is also a free AlsaMixer app on Google Play that can make this a bit easier, and even apply certain settings on boot.
[Spirit FM] pepemosca:
Will this line modify the whole volume level? The call ringer, Poweramp, etc.

Or just will affect the volume for Spirit FM?

You mean this app: https://play.google.com/store/apps/details?id=com.skvalex.alsamixer

It would be great if it came with the App, I mean, if the setting is on the Debug area or so.

Thanks!
[Spirit FM] mikereidis:
I don't know yet. There are over 100 ALSA controls and I only looked at the first 28 and tried the first 14 volume controls so far.

I didn't expect a "DAC Playback" control to be for FM. Modern phone audio systems on high end devices are rather complicated. :)

Yes, that app. My ssd utility can do more or less what it does, AFAIK, but it's a command line utility and not a friendlier app.

I might at some time create equivalent functionality, perhaps with more friendly sliders and "radio buttons".

But if others create such apps, and if they are free, then it might be best for me to concentrate on FM specific stuff. There is no shortage of FM specific things for me to do.
[Spirit FM] mikereidis:
:)

In theory, there is at least partial low level support already, but it likely requires a rooted One S or One XL (Or One X AT&T or Rogers version, with the Qualcomm S4 SOC).

It might be useful if someone(s) with these devices could send me a debug log with Menu->Test->Email->Logs, especially if they are rooted.

I started adding high level support in the days before I got my One X and found it was a TI chip. Perhaps this weekend I can get this support into a testable state.
[Spirit FM] mikereidis:
June 17 Free test release for AT&T HTC One X, HTC One XL, HTC One S with Qualcomm FM chips & android.hardware.fm OEM API:

http://d-h.st/wCE

May also work on Huawei u8800/u9000 Ideos X5/X6 with the same family of Qualcomm FM chips.

Hardly tested at all on any other devices, but has small fixes for:

- Samsung Silicon Labs OEM API Alternate Frequency.

- Samsung GT-i5500 CM9 UART mode.

So unless you have one of the above, it may not be worth updating. There are other risky changes I won't document here.

For HTC One devices, this should be automatic, but it might help to set Debug->FM Chip to "QC V4L (HTC/u8800+)" and Audio->Method to HTC.

Working or not, if you have a device with a Qualcomm FM chip, please send me a debug log with Menu->Test->Email->Logs.
[Spirit FM] DevilTH:
Hi Mike,

I use your app with Samsung GT-i5500, but since update to your new version I only get FC. I have installed twice and also tried with deleted data. Unfortunately so I can´t send you logs because the app close before I can push the menu-> email logs button.

Greetings DevilTH
[Spirit FM] mikereidis:
Spirit June 15 ? Which ROM ?

I have the same phone, with an M but virtually identical. GT-i5500m.

It works fine for me, but it's currently running a CM9 port: http://madteam.co/forum/development-8/(de)-cyanogenmod-9-galaxy5-port/

I was running a stock derived "MAD ROM" recently with no problems or reports of crashing problems, but that was with releases before June 15.

IF we determined a setting that would prevent crashes, this is how you can set those settings, or send me a debug log:

- Clear the app data (System->Apps etc...)

- Start Spirit.

- At the intro screen press the Back key.

Now you should be at the main screen, but there's been no attempt to start the FM. You can send debug logs or change settings before hitting the power button.

Things to try:

- Deny SU/root to the app and see if crashing stops.

- Set Audio->Method to None to see if crashing was happening in audio code.

- Set Debug->FM Chip to Emulator to prevent FM chip from being used.

This at least lets us localise the problem.

If you normally start with BT off, try starting with BT on. Or vice versa.
[Spirit FM] mikereidis:
Your log looks like it's showing the Broadcom OEM Proprietary API in action.

Perhaps psyke83 used the Broadcom proprietary BT stack this time in "GT-i5500 CM 7.2 RC 3 by psyke madforum" ?

If so, ensure Spirit has SU, and start with BT off to get the UART mode.

I'll get the ROM myself and try it out. It's the end of my working day now though.

EDIT: June 17 fixes a bug I saw on CM9 that prevented UART mode. I'll email you an Unlocked version to try.
[Spirit FM] Parrad11:
Using June 17 Free, it force closes in My U8800 using Aurora ICS.

From logcat:

...
D/fm_srvc ( 2300): file_get '/dev/radio0' : true
D/fm_srvc ( 2300): dhrdw_open fm_chip_cfg: 0
D/fm_srvc ( 2300): gp_hrdw_open fm_chip_cfg: 0
D/fm_srvc ( 2300): dhrdw_set success with orig_bt: false hrdw_hndl: 1
D/fm_srvc ( 2300): pwr_set: 1
D/fm_srvc ( 2300): svol_get_set new_svol: 9 curr_svol: -1 max_svol: 15
D/fm_srvc ( 2300): svol_set vol_idx: 9 bits16_vol: 38400
D/fm_srvc ( 2300): dhrdw_vol_set fd: 1 vol: 38400
D/fm_srvc ( 2300): qc_hrdw_vol_set fd: 1 vol: 38400
D/fm_srvc ( 2300): qc_hrdw_vol_set MaxVolume: 15
W/dalvikvm( 2300): threadid=12: thread exiting with uncaught exception (group=0x40c781f8)
E/AndroidRuntime( 2300): FATAL EXCEPTION: Poll
E/AndroidRuntime( 2300): java.lang.NoSuchMethodError: android.hardware.fmradio.FmReceiver.setVolume
E/AndroidRuntime( 2300):	at com.mikersmicros.fm_fr.fm_srvc.qc_hrdw_vol_set(Unknown Source)
E/AndroidRuntime( 2300):	at com.mikersmicros.fm_fr.fm_srvc.dhrdw_vol_set(Unknown Source)
E/AndroidRuntime( 2300):	at com.mikersmicros.fm_fr.fm_srvc.svol_set(Unknown Source)
E/AndroidRuntime( 2300):	at com.mikersmicros.fm_fr.fm_srvc.d(Unknown Source)
E/AndroidRuntime( 2300):	at com.mikersmicros.fm_fr.fm_srvc.pwr_on(Unknown Source)
E/AndroidRuntime( 2300):	at com.mikersmicros.fm_fr.fm_srvc.pwr_set(Unknown Source)
E/AndroidRuntime( 2300):	at com.mikersmicros.fm_fr.fm_srvc.P(Unknown Source)
E/AndroidRuntime( 2300):	at com.mikersmicros.fm_fr.fm_srvc.m(Unknown Source)
E/AndroidRuntime( 2300):	at com.mikersmicros.fm_fr.dh.run(Unknown Source)
E/AndroidRuntime( 2300):	at java.util.Timer$TimerImpl.run(Timer.java:284)
W/ActivityManager( 259): Force finishing activity com.mikersmicros.fm_fr/.fm_apln
D/fm_apln ( 2300): onPause
D/fm_apln ( 2300): onPause low_pwr_mode_set (true)
D/fm_srvc ( 2300): low_pwr_mode_set new: true old: false m_pwr_state: false hrdw_hndl: 1
D/fm_srvc ( 2300): low_pwr_mode_set rds bypass

It force closes around here, so maybe the NoSuchMethodError for setVolume could be the cause?
[Spirit FM] DevilTH:
Yes this is the ROM I use. Spirit has allways SU and BT is also off. Your UL-Version has also FC´s. But thank you for your precious time... I need not every new version. The previous Jun15 works very well :D
[Spirit FM] mikereidis:
Oh, OK, so it's June 17 you have a problem with.

No big deal I guess, it's experimental for Qualcomm.
[Spirit FM] mikereidis:
You got it. :)

Yeah, the HTC implementation has a setVolume function, and I didn't put protection in for missing methods.

I'll try to get something out again within 12-24 hours, but I'm finished work for my "night".
[Spirit FM] pepemosca:
The bad thing about this method... it will decrease the volume of my whole OS and this OK for Poweramp but to high only for Spirit FM.

My suggestion will be a way to add this ssd line when I star the app and then set it back to default when I leave the Spirit FM.

Maybe the "suggestion" could it be... run a script when start Spirit FM and run a script when closing Spirit FM.
[Spirit FM] mikereidis:
This is possible.

It would be better to find a volume control specific to FM though.

BTW, "normally" the Audio->Volume Scale could be set to 50, to cut volume in half. But because the Si4709 FM chip only has 16 volume levels, it doesn't really help. It just reduces the levels to 8 and the lowest non-zero value is the same.
[Spirit FM] mikereidis:
I was too tired to remember, but...

If setVolume() is the only issue, you can enable "Debug->HW Vol Off" and it should never be called.

To prevent a startup crash, so you can set that setting:

- Clear the app data (System->Apps etc...)

- Start Spirit.

- At the intro screen press the Back key.

Now you should be at the main screen, but there's been no attempt to start the FM. You can send debug logs or change settings before hitting the power button.
[Spirit FM] pepemosca:
How do I help on this?

How do I look for the specific FM throughput?

Yup, it doesn't help at all.

Too bad :(
[Spirit FM] Victorino86:
Today I found the lack of an important feature (imho :D ). I was on the desirez with pyromod 2.0 (android 2.3.3.) and, with the screen off, I couldn't change the volume of the radio with the volume keys (pretty usefull when going from a noisy place to silence and viceversa)
[Spirit FM] mikereidis:
EDIT: I tried this on 4 different phone & ROM combinations and it worked on all, at least with my latest code.

I then tried v2.0.17, the last posted version, and it also works fine on my P500h with CM7. But I HAVE seen this issue some time ago.

Perhaps there is something different with your ROM and/or a configuration setting that might help. On CM7 I've had to disable a feature to prevent holding the volume from starting the music player.

If anyone else is seeing this, please post. Thanks !

To all: I'm hoping to have a new version ready within a few days. After some work with the very minimal devoid ROM on the P500, I've made mods that will likely enable a few more phones, and fix a no audio issue on some.

And the app should be easier to switch between modes, such as BT on or off, and should also more reliably auto-detect the best mode and required parameters, and be more informative about the ability or inability of the phone to work with the app. ;)
[Spirit FM] Victorino86:
Nice!

ATM re-installing everything (tried another rom) and going back to pyromod, for the Ideos still had not time to check it.
[Spirit FM] luca_v3r:
I have put ssd in /system/bin/ and sprt folder on root of sd card.

I have htc hd2 with NDT GINGER 2.3.4 V7.0.

Can confirm it works with 2017 version and sprt!

Thanks thanks thanks!

EDIT: I couldn't change the volume of the radio with the volume keys when phone is on lockscreen also speaker and automatic search seems doesn't work.
[Spirit FM] mikereidis:
Great ! Thanks for your report.

Wikipedia http://en.wikipedia.org/wiki/FM_broadcast says that in Italy there are stations on 50 KHz offsets. IE 100.00, 100.05, etc. Is that true ?

The code from the Code Aurora app also uses 50 KHz for Austria, Denmark, Germany, Greece, Ireland, Poland and Portugal too, as well as Japan in the "wide mode".

I'll see what I can do about lockscreen volume.

Seeking has been problematic. Another issue to attend to.

I saw the "speaker not working" problem on the devoid ROM on my LG P500h and have setup the code so it should work properly on more phones now. I'd bet the next version will fix this for you.
[Spirit FM] ssserpentine:
Any chance of getting it working on galaxy tab? We got a FM broadcomm chip too!
[Spirit FM] magnus48:
Same config and works too with hd2 miui 1-5-27 ; ) and the speaker is working too.:)
[Spirit FM] mackux:
I can't find this v2.0.17 version of spirit FM, latest on the market is 2.0.9 the same is on the first page of this thread.

I have desire with MIUI 1.5.27 rom and it doesn't work form me :( no sound at all
[Spirit FM] icke:
http://xdaforums.com/showpost.php?p=14234610&postcount=345
[Spirit FM] idkidk:
Hi,

mikereidis is already working for tab, but for now don't work, if you wanna try, use the 2017 version and post your logcat, more person with tab try app, more possibility we have to know if is possible to have FMradio on SGT... :D

TIA

Idk
[Spirit FM] Victorino86:
told ya 1 month ago :D
[Spirit FM] ackliph:
Same on mine. I just moved to MIUI and it looks like it is getting the stations, but it's not giving any sound. Not through headset nor speakers.
[Spirit FM] luca_v3r:
Yes, that's true.

I remember that automatic search and volume with lockscreen work's well in 2014 or 2012 version, but no headset sound for me.

However thank's you for let radio works without bluetooth service.
[Spirit FM] mikereidis:
:) Thanks. Been too busy developing to re-read my own thread and create an FAQ.
[Spirit FM] mikereidis:
Thanks icke. For anyone who just wants the link to v2.0.17 it's: http://www.mediafire.com/?qzpbd5iezfm167k
[Spirit FM] mikereidis:
As Idkidk has posted, we are TRYING to get it working on the Tab.

I think the antenna may not be connected so signals may be weak.

But the bigger problem is that analog audio does not seem to be hooked up, so our only hope is digital audio transfer which might or might not be possible.

Research is continuing...
[Spirit FM] mikereidis:
I will try to hurry up the release of the next version as it includes some audio fixes. Maybe in 12 hours or so.

For anyone, but especially anyone without sound, I would be interested to know if you have a library called libsnd.so. This library may be usable to switch audio on.

This command should tell you:

adb shell ls -l /system/lib/libsnd.so

Or you could use a File Mgr app to look for that file in /system/lib.

If your phone has a strings command, this command will tell us if the library has the function I want:

adb shell "strings /system/lib/libsnd.so | grep snd_set_device"

Thanks !
[Spirit FM] mackux:
unfortunately my system doesn't have libsnd.so

HTC DESIRE MIUI 1.5.27 beta 7

Tried latest v2.0.17 and there is signal and RDS data, but no sound
[Spirit FM] mikereidis:
Thanks. I'm starting to think libsnd.so is specific to LG phones like my P500.

I'm posting v2.0.18 now and I hope you can try it.

If the audio still isn't working, and you have adb shell or a terminal app available, you could also try the ssd utility. I'll post a link for the instructions for that.

I'm reasonably sure I'll be able to get audio working on the Desire eventually, although it might be easier if MIUI supported their own FM app om their ROM. AFAICT they switched back to the proprietary Broadcom BT stack for at least some of their GingerBread releases for some reason I assume makes sense to them.

There's another approach I can try with RPC calls to the sound system.
[Spirit FM] mikereidis:
Likely the only way I'll find the control is to experiment.

That's part of "reverse engineering" and it takes a lot of time, luck and/or skill.

I don't think you can help, except to test when and if I find a suitable control.

Alternatively, yes, we could adjust volume down at startup, and restore volume at mute and/or shutdown.
[Spirit FM] 0kti:
Working great with Samsung Galaxy S Plus

Method: qdsp5v2 Altern
[Spirit FM] cba1986:
No radio is keeping me out of CM9 for GS3. Do have plan to support it?
[Spirit FM] pepemosca:
Keep me posted.