yashsingh1/xdaforums huggingface dataset:
[Spirit FM] mikereidis:
Spirit1 does not and will not explicitly support Android 5 Lollipop.

Spirit2 does FM over Bluetooth easily, because the audio is digital, so it works as well as any media player over Bluetooth.

Broadcom FM/combo chips have been a hassle, because the same HCI UART is used to control FM as well as Bluetooth, and we can't have Spirit and the Android Bluetooth HAL controlling the Broadcom chip at the same time.

Spirit2 supports only 3 Broadcom FM/combo chip FM->Audio "architectures":

- HTC One M7

- LG G2

- Sony Xperia Z2/Z3+

On all Android versions, Spirit2 controls Broadcom FM via the HCI "UART", but only when Bluetooth is off.

In JB and KitKat, when Bluetooth is on, Spirit2 controls Broadcom FM with a libbt-hci.so

"shim".

In Lollipop, libbt-hci seems no longer supported or used. I think a shim might be possible via libbt-vendor.so but I have not verified that yet.

There may also be some non-shim method Spirit2 can send FM HCI commands and get responses, while allowing the Android BT HAL to control the UART. I should look at how stock FM apps do this, but it might require a bunch of proprietary code not in AOSP.
[Spirit FM] BPaul:
[MENTION=3575078]mikereidis[/MENTION],

Yes on Lollipop now used libbt-vendor instead libbt-hci. So we wait for adding support libbt-vendor.
[Spirit FM] LeBourrin:
3296

Hi,

I bought Spirit2 KitKat: 141128_kitkat on the market and this version does not work either :( It's stuck on " please wait ..." And does the MENU button should open a menu? Because that do not.

I'm still on Omni KK and DorimanX kernel on my Galaxy S2
[Spirit FM] mikereidis:
Thanks for your support. :)

I'd flash the kernel myself, but my GS2 is running a Lollipop ROM and I don't wanna go back to KitKat. ;)

No, Google and OEMs have removed Menu Keys so I have tried to go with that. Bottom middle of Spirit2 has an alternative "Menu" button, but on GS2 it just shows Version and allows EQ and Cancel.

Email me mikereidis@gmail.com and I'll send you Spirit1 to send me a debug log from.

You can do this from Spirit2 also, but it just sends the result of the Android "bugreport" command, which is bigger and may take longer:

Tap the frequency button, enter the number 7 and tap "OK". After 20 seconds or so, press Send from your email client. (UI freezes during this time.)

No, Google and OEMs have removed Menu Keys so I have tried to go with that. Bottom middle of Spirit2 has an alternative "Menu" button, but on GS2 it just shows Version and allows EQ and Cancel.

If this is the kernel config file: https://github.com/dorimanx/Doriman...er-maliv3/arch/arm/configs/dorimanx_defconfig

It has:

CONFIG_FM_RADIO=y

CONFIG_FM_SI4709=m

I presume that's the Samsung Silicon Labs driver, and not the V4L driver.

Changing it to "CONFIG_FM_SI4709=y" may be better, "=m" makes it a module that needs to be loaded.

Spirit1 has about 5 different ways to load the module, LOL. But Spirit2 does not because pretty much all kernels in the last year at least did not use a module for FM; they were built right into the kernel.

Stuff like this is why Spirit1 has 4 times the code of Spirit2, is unmaintable after 3.5 years, but is also more stable, and compatible among many ROMs going back to Gingerbread and before.
[Spirit FM] DWilso3:
I assume that the AT&T LG G3 (D850) is unsupported because AT&T sucks and removed the requisite hardware, yes?
[Spirit FM] mikereidis:
Sadly, correct. :(

Another waste of the FM part of an FM/WiFi/BT combo chip.

Same deal as with the G2: International and Sprint variants have FM, the others do not.
[Spirit FM] supermaxkato:
undo software block?

Mike,

I've read that Motorola Electrify M xt901 (US Cellullar) and Razr M xt907 (Verizon) had working stock fm radio with android 4.0 but broke on factory 4.1 update.

That means the hardware is there.

(I keep searching ebay but can't find one with 4.0 still).

So where would I need to start to undo what that update did to FM radio?

Glad to purchase spirit 1 or 2 if I can get it to work on this phone.

Thanks Mike!
[Spirit FM] mikereidis:
That's pretty much what everyone says, who asks me if I can enable FM on their impossible to FM enable phone. :)

I don't recall hearing about Electrify.

AFAIK, the only Razr that ever had a usable FM antenna connection was the x86 Razr I. Spirit1 worked on it on ICS 4.0.

Moto/VZN "fixed" that oversight in the JB 4.1 release.

AFAIK, nobody has ever been able to downgrade Razr I from JB back to ICS.
[Spirit FM] meekspace:
I have recently updated my Sony Xperia TX LT29i to android 4.3 build 92a1205. Since then i now have "clicking" when listening to fm and also recorded fm.

Any ideas?
[Spirit FM] mikereidis:
But you still hear the FM audio too ? Sound OK except for clicking ?

Rooted phone ?

Spirit1 or Spirit2 ?

You can send me a debug log from Spirit. Tap the frequency button, enter the number 7 and tap "OK". After 20 seconds or so, press Send from your email client.
[Spirit FM] meekspace:
Yep, can hear the fm very well. The sound is good except for the clicking. The same issue happens pre and post root. Ive dug up some old backup copies of both spirit 1 and 2 with similar results.

The clicking has varied over time. After upgrading the phone, I didnt like how it affected the app so I flashed the old software. I have just recently upgraded the phone again, and this time the clicking is not as bad.

It seems the clicking is linked to the audio. When there is silence, no clicking. When there is speech or music, clicking. The static between stations, lots of ckicking.
[Spirit FM] mikereidis:
The Free version here is the new Spirit2 Lollipop/Beta architecture, and may fix many audio problems (and create some new ones also): xdaforums.com/attachment.php?attachmentid=3037801&d=1417174330

And send me that debug log, preferably from Spirit1.
[Spirit FM] mervluk:
Mike FYI tried latest Spirit 1 (30 Nov) on XZ 4.4 modified stock rom. Is the new qualcomm access quite right? On both digital auto and sony z, the audio was hissy, almost unintelligible, even on strong signals, and volume control was erratic and no RDS. Not sure the exit was right either, as the old speech echo came back when I switched to Spirit 2. All cured by reverting to previous Spirit 1, and a clean reboot.

Spirit 2 beta is great; louder, clearer stereo, it just seems to work better with my rom audio mods. Working, Spirit 1 is like stock fm, as expected.
[Spirit FM] mikereidis:
Did you get Spirit1 1130 via the beta system or the normal way ? 1130 is setup for a 5% rollout, so only 1 in 20 users should see it at this point. I'm curious if beta users bypass the rollout percentage.

Did you try the 1120 beta ? It was the first beta since 0827. There are very few differences between 1120 and 1130; mostly MotoG detection and some messages about Lollipop.

And from 0827 to 1120 there are few differences: GT-I9070 speaker mode, and changing the port for digital audio on QCom devices, which might change digital audio for you.

Can you try setting all defaults in Spirit1 (including non-digital audio) and reboot ?
[Spirit FM] mervluk:
UPDATED No interference on Auto setting. Is that what you meant by default? (Haven't changed any other settings). Problems recur on digital setting. Volume control still erratic and no RDS on Auto though. Not a problem for me as I use Spirit 2 beta though, which has no problems.

Haven't used Spirit 1 for some time, so I assume I skipped the 1120 version. Last used the August version, which was the backup I reverted to. I don't think Play tells us whether the download is beta or normal, as far as I can tell. Spirit 2 gives a beta version pop up, Spirit 1 didn't.
[Spirit FM] vikraminside:
@OP

Did you post this link for valid license?

http://xdaforums.com/showthread.php?t=2961005

I reported it to [MENTION=2154886]moderator[/MENTION], just want to ensure my report is not a mistake.
[Spirit FM] mikereidis:
Thanks.

I did not post any link. I presume there was a link there that was scrubbed.

Piracy is a "fact of life", and piraters likely never pay for ANY apps, and license protection hurts legitimate customers, so I don't worry much about it.

XDA is the only place where I will bother to report such posts, but it will always be easy to find pirated apps by Google searches.

IMO, I don't sell apps so much, I sell support. "Steal" my apps and I don't care so much, steal my time and goodwill and I DO care. That's why I try to ensure emailers are legitimate customers.

:)
[Spirit FM] vrwmiaris1:
[MENTION=711091]MikeReid[/MENTION]es only pro versions of spirit 1 and 2 have a widget? I'm using the spirit 2 you post here but there's no widget
[Spirit FM] mikereidis:
Yes, that is correct. There is no widget in Spirit2 Free, or the now rather old Spirit1 Free.

Widget is not an essential feature to listening to FM radio.

I will add some paid version features as time goes by, but I need some income to keep working on Spirit 60+ hours a week.

The Spirit2 Free source is open so anyone with the time and skills can add features as they see fit.
[Spirit FM] mikereidis:
Spirit2 Open (previously "Spirit2 Free") in now on Google Play store, but only for Lollipop+ devices at this time: https://play.google.com/store/apps/details?id=fm.a2d.so

See the Play app description or the thread linked above for more info or source code.

The exact same app is attached to this post below. It is free as in "free beer" and can be incorporated into ROMs with no mods and with attribution required.

Naming of new variants is becoming confusing, I know. "Spirit2 Free" was changed to "Spirit2 Open" because I made it a paid app on Play and thus "Free" is misleading.

I set the price to roughly "a cup of coffee and maybe a donut" level instead of the "Big Mac meal" level of the regular Spirit1 and Spirit2, which some may think should be renamed as "SpiritX Pro" versions.

But the Free/Open app can be downloaded and used for free, so anyone purchasing on Play is paying to help the Spirit project a bit, and for convenient downloads of updates, though I'm not making any commitment to number of updates, frequency or end date etc.

At that level I can not offer refunds or email technical support. Post here on XDA and I will try to help out, but I won't have time to analyze debug logs or help in any depth.

Play store version is only for Lollipop+ at this time. For ICS-KitKat see http://xdaforums.com/attachment.php?attachmentid=3037801&d=1417174330 here: http://xdaforums.com/apps/spirit-fm/app-spirit2-free-source-real-fm-radio-t2951455

This is the new Spirit2 Open, identical to what is now on Play: http://xdaforums.com/attachment.php?attachmentid=3047459&d=1417692145
[Spirit FM] mikereidis:
"Spirit1 Light" is a resurrection of the "Old Spirit FM Lite": https://play.google.com/store/apps/details?id=com.mikersmicros.fm_li

It effectively supercedes the last September 18, 2013 of "Spirit Free" that can still be found here: http://d-h.st/H4x . It is current with the Spirit1 regular paid app, and offers more features than the old Free app, such as Presets.

The exact same app is attached to this post below. It is free as in "free beer" and can be incorporated into ROMs with no mods and with attribution required.

As with the new Spirit2 Open on Play, I set the price to roughly "a cup of coffee and maybe a donut" level instead of the "Big Mac meal" level of the regular Spirit1.

The Spirit1 Light app can be downloaded and used for free, so anyone purchasing on Play is paying to help the Spirit project a bit, and for convenient downloads of updates, though I'm not making any commitment to number of updates, frequency or end date etc.

At that level I can not offer refunds or email technical support. Post here on XDA and I will try to help out, but I won't have time to analyze debug logs or help in any depth.

This is the new Spirit1 Light, identical to what is now on Play, followed by the last official version of the old "Spirit Lite", dated December 27, 2013 (for anyone needing the older):
[Spirit FM] antonio89drop:
Hello.

Could you post a small file recorded by Radio Fm with LG G3?

Thanks.
[Spirit FM] 5n00p3r:
Hi [MENTION=3575078]mikereidis[/MENTION],

I bought your Spirit 1 in Play Store a few weeks ago and I just wanted to say thanks for your good work. I'm using it on my Samsung Galaxy Xcover 2 (GT-S7710) with Vanir AOSP (Kitkat 4.4.4). It's working even better than the stock FM app by Samsung. I just had to switch Audio Method to S2_ICS.

Greets

5n00p3r

Gesendet von meinem GT-S7710 mit Vanir ROM
[Spirit FM] Dnorris55:
Hey Mike,

Thanks for your work.

I discovered that Spirit2 now works on the alpha CM12 (Lollipop) built by jrior001.

http://xdaforums.com/one-x-att/help/cm-12-preview-qa-discussion-t2957852

on my HTC One X (AT&T) evita.

As you know, someone broke CM11 a year ago, and Spirit no longer worked on this phone.

Until now.

:)
[Spirit FM] mikereidis:
Great ! :)

Send me a debug log and I will use the device name to make it automatic, and I'll get info that may help other XCover owners.

From Spirit1: Tap the frequency button, enter the number 7 and tap "OK". After 20 seconds or so, press Send from your email client.
[Spirit FM] mikereidis:
:)

Actually, the latest CM11 releases have a working FM driver again. The CM folk seem to have integrated the driver bug fix first seen on HTC One M8, and it works in the kernel without being a module.

My OneXL has been happily running Spirit2 Lollipop/beta on cm-12-20141127-UNOFFICIAL-evita.zip since November 27.
[Spirit FM] 5n00p3r:
[MENTION=3575078]mikereidis[/MENTION]:

Just sent you the debug log by email. I hope I could help you improve your great app.

Gesendet von meinem GT-S7710 mit Vanir ROM
[Spirit FM] soralz:
Hi I am using HOX+ and strangely I am getting signal in Spirit app but no sound output. Any idea why? EliteKernel, even tried on stock it doesn't work either, CM11 nightlies.
[Spirit FM] mikereidis:
I spent many hours trying to remotely figure FM audio out on HTC OneX+ with no good result on non-stock ROMs. Stock works fine using "HTC" method. As usual, I even reverse engineered the FM audio in the stock FM app and FM framework support as much as I could.

This is a very common problem with MANY phones I can not support. :(

Spirit supports MANY different FM APIs and FM chips, so the tuner part will work.

Spirit supports MANY different Audio-> Method settings, manual or usually automatic. But MANY methods is not enough because many MORE exist than I can support.

Basically there is some "magic" required to enable FM audio. If I have the phone and spend time on it, I can figure it out. It takes from a few hours to as much as 3-5 days in two cases. Making it work reliably without side effects can take a few days to forever.

There are a HUGE number of phones out there that have always had this problem, and always will. I can only afford to spend money and time on the most popular phones.

If anyone can figure out a phone/ROM's FM audio, I can, and have put the needed code in. Examples of this include LG P880. But it doesn't work too well and that's to be expected.

If Google had supported FM on Android, or had even just "blessed" an attempt to set FM Android API standards by ST-Ericsson a few years ago, this would not be an issue. But Google wants FM to die, and has for at least 5 years, because they make money on competing solutions for music and audio.
[Spirit FM] Khaled Neda:
Is there version for Samsung grand i9082/ lollipop custom rom
[Spirit FM] mikereidis:
No, and I don't expect one, unless it has a Qualcomm FM chip.

If Spirit1 works on Kitkat, it may work on Lol if SELinux is off and non-PIE exes are allowed.

Fastest way to know is to try. Feel free to test with the free versions.
[Spirit FM] Khaled Neda:
It was running fine in KitKat when I tried it on lollipop it disappear and close that when I make selinux permissive but I don't know non-PIE exes because I'm beginner, I tried most of spirit 2 versions but message says error unknown device. Please sir can you help me and grand community
[Spirit FM] mikereidis:
Please understand that I work very long hours and must devote the remainder to my family and home. I can only support the most popular devices among my supporters.

I am not a charity. All my food and housing expenses are paid by the people who buy my paid apps. I am thankful to them and I prioritize the most popular devices of sale.

There are 0 sales of Spirit1 on Galaxy Grand/DUOS/i9082. This is partly due to the fact that I disabled sales of this phone on Spirit1 in my developer console. I always consider re-enabling with good reports and at least one request to do so, but this has not happened for Galaxy Grand, and there are only a few emails I have regarding this device.

I DO see 12 sales on this phone for Spirit2, but 2 were cancelled leaving just 10. I am not sure why those 10 did not ask for a refund, but I see many sales on other incompatible devices, such as 44 unrefunded sales for GS5.
[Spirit FM] egemet:
Mike, I do not know if this has been adressed before, delving into 800+ pages frightens me. I am a customer for both Spirit FM versions and I try to run any on my LG G3 on Lollipop. Hardware says D855TR ( for Turkey ). Many updates with no result. But with your latest update 28.11.2014 for Spirit2 FM, finally I heard maybe half a second of tuned station. Before it was as dumb as vacuum. Each time I turn FM on, half a second, then silent. Is there a hope?
[Spirit FM] Khaled Neda:
I'm sorry for disturbance, you are right. your great app and big effort worth paying the money
[Spirit FM] mikereidis:
:)

Yes, there is hope, but you may have to wait until I buy a D855 and make it officially supported. Work will still be required, even my HTC One M7 is giving me trouble with the Lollipop GPE vs the new Spirit2 audio architecture for Lollipop. This might even be related to G3 problems.

But... I am going to add some options to Spirit2 that might help fix G3 sooner.

Your request, several Lollipop failure reports, and some promising sales statistics I think MAY have pushed me over the edge to getting one.

I've cursed my G2 Sprint variant many times and have been hesitant to deal with LG again, but at least the G3 moves back to Qualcomm FM/combo chips, which are easier to support than Broadcom...

D855 seems to be available on EBay for $400 - $500 now ?
[Spirit FM] mikereidis:
Lollipop: HTC One M7 & M8 GPE with root:

- HTC One M8 Lollipop GPE seems to work fine with Spirit2 Lollipop/beta. :)

- HTC One M7 Lollipop GPE works with Spirit2 Lollipop/beta, BUT audio is clipped/distorted and bass heavy. Similar reports on LG G3 with stock Lollipop may be related.

I think the problem is that microphone pre-processing is applied, and I haven't found a way yet to turn it off, despite a few days of sleuthing.

Better news is a solution for FM over Bluetooth with Bluetooth on. This is not a problem on CM11, but is a problem on stock and GPE KitKat ROMs. I think this Lollipop GPE fix will work with KitKat as well.
[Spirit FM] crypt0kiddie:
So um does this work on the new Nexus 6 with L 5.0? The Google Apps Store says its compatible but I can't find any mention of this working on the N6.

Oh nevermind, I just saw the thread where you said Moto doesn't enable FM. Damn......

Nice looking app too!
[Spirit FM] mikereidis:
:)

I don't think there is any official confirmation yet. But it is EXTREMELY unlikely that Google did anything different this time.

There has never been a Nexus that officially supported FM, and I doubt there ever will be. (And Android One does not equal Nexus).

The original Nexus One was a slightly reworked HTC Desire and the FM antenna connection was left active. But it requires a custom kernel and root to get the audio part working.

I tested my Nexus Player and Nexus 9 and neither are capable of FM. (Nor either of my Nexus 7's of course.)

Basically, somebody needs to run Spirit1 on a rooted device with a kernel supporting the FM driver and send me a debug log. Spirit1 should APPEAR to work, but RSSI will be negative or around 0.

Google Play is pretty clueless about app compatibility. AFAIK, there is no Google blessed "FM Radio" attribute that I could specify as a requirement in Spirit, and there likely never will be one. (I should check Android One FM app to be sure, but there is no such documentation AFAICT last I looked.)

So for the most part, I can only go into Google Play developer console, decode the MANY thousands of code names for devices, and manually one by one disable the ones I know do not work. I'm sure I spent at least 50-100 hours trying to do this for Spirit1/Unlocked as well as Spirit1/Light. Some popular phones, like GS4/GS5 etc have dozens of different code names, and there is no secret decoder to figure out which might have FM and which don't.

There appears to be no way to only specify that Spirit1 or Spirit2 ONLY work on these 20 or 100 different phones. Disabling an app on a given device variant is a negative option. Google does this on purpose IMO because they make more money this way, and don't have to worry about it making them look bad, only the dev looks bad and has to deal with support, refunds and bad reviews.

I'd be happy just to have a "Needs SU" attribute for Android apps on Play, but Google will never support that either it appears.

I abandoned this as "silly work" and decided my customers would be better off if I spent that time developing. This is one reason there are many Spirit2 Play reviews that are rather bad*, because I did not do this for Spirit2, and because there are so many people who prefer to post reviews calling me a thief instead of emailing me for an order cancel, even after a popup message saying "Not compatible please email for refund". And too many people do not read app descriptions, though I do understand not everybody knows English.

*Spirit2 Play reviews that are rather bad: I wasn't reading reviews for a few years, for various reasons. I just went through all 80 or so for Spirit2 asking people with incapable devices to email me for a refund.

*Maybe I should at least disable popular devices, like GS4/GS5. I am surprised at the number of Spirit2 sales on these. And I hate to say it, but disabling them means my income gets even smaller than it is already. :( And some people are OK with supporting me with an app sale despite that their current phone can never support FM.
[Spirit FM] vikraminside:
Don't worry for incompatible devices review. They are as good as "Nothing". You can make sure Google displays " This app is incompatible with the device " for non compliant ones.

I also saw a mod to enable FM for non supported device here in XDA with some band enablement. You can redirect those users if required. You will be always supported for the good work you have done. Keep it going come up with another masterpiece to set the momentum going.

Sent from Moto God. Press THANKS if useful.
[Spirit FM] rhen84:
[MENTION=3575078]mikereidis[/MENTION]: Can you make an updated Free version?

Now only the paid version works on G300 with CM11. (maybe there are new drivers in the newer version)
[Spirit FM] alex_72gr:
The link is down could you please re-upload or send it in some other way please, because I am facing the same problem with my xperia L, please, please
[Spirit FM] mikereidis:
I updated Spirit1 Light on December 4 and made it free: http://xdaforums.com/showpost.php?p=57261804&postcount=8695

There is also now a free and open source Spirit2 "Light" now, for Spirit2 supported devices only of course: http://xdaforums.com/apps/spirit-fm/app-spirit2-free-source-real-fm-radio-t2951455
[Spirit FM] mikereidis:
I remove old versions from time to time when there are newer versions.

See the post right above this one for links to the latest free versions of Spirit1 and Spirit2.

The more functional versions on Play are pretty much matched with these free versions, except that the free and open source Spirit2 "Light" is the new Lollipop re-design, instead of the still more compatible Kitkat release only on Play.
[Spirit FM] alex_72gr:
Deleted