yashsingh1/xdaforums huggingface dataset:
[Spirit FM] mikereidis:
Hi, :)

Can you point me to the ROM ?

If a Qualcomm chip is detected, Spirit2 does not test for model. So I think the FM driver is missing from the kernel.

I had the same problem on my Z1 (regular) and reported it. I am now running an AOSP ROM from here, but I would prefer to run CM or FXP: http://uploaded.net/f/dv4mt9

I don't know if/when jerpalea or whomever will fix this. Maybe I can try pushing the very simple patch for this.

If you send me a debug log I can verify. Tap the frequency button, enter the number 7 and tap "OK". After 20 seconds or so, press Send from your email client. This works even if the FM/app did not start properly, just hit Back or Cancel to get back to the main screen.
[Spirit FM] mikereidis:
I have attached my 150117 build of SpiritF / Free / Open but I'd guess it would do the same.

If you run adb shell getprop ro.product.device do you get something starting with "SERRANO", case insensitive ? If yes, Spirit2 should automatically try 11, 10, 9, 5, 1 in that order until one opens.

You can still manually change to 10, but the file needed is now /sdcard/spirit/aud_src .
[Spirit FM] mikereidis:
The S+ GT-I9001 is lucky that it works at all. Though I think I may update Spirit1 a bit so it will work on some Lollipop ROMs that it's not fully functional on.

Chances of Spirit2 on 9001 are extremely slim. It would probably require me to add analog audio functionality to Spirit2, followed later by some 9001 dev adding support for that phone using my Spirit2/Free open source.

So no chance I think. Even the MUCH more popular original Galaxy S GT-I9000 doesn't have any Lollipop ROM last I looked, and any chance seems rather doubtful. Spirit2 just barely supports GT-I9000, and I have seen very few Spirit2 sales on it.
[Spirit FM] :
Creating the spirit folder and putting aud_scr into it did the trick. This reduces the 'mic noise' a lot but it still is not gone completely. I tried some different numbers up to 20 but no luck. You might got an idea about how to completely remove that noise.

Anyways thanks a lot!

Regards.
[Spirit FM] georgios.evangelidis:
Thanks for the info. I understand that it makes no sense to support such old phones, although, I believe in the "if your phone works and serves you well, do not replace it" moto!. And this can be realized with developers like ADC and you. Thanks, again, for supporting FM radio in custom rom phones.
[Spirit FM] LazyT:
It's the latest nightly from the official cyanogenmod site.

In the adblog I see the following related to spiritfm

D/s2d......( 6418): Spirit FM Radio s2d utility version 2014, Dec 10
D/s2d......( 6418): Copyright (c) 2011-2014 Michael A. Reid. All rights reserved.
D/s2d......( 6418): Server mode argv [1]: -1
D/s2d......( 6418): Server mode curr_radio_device_int: -1
D/s2d......( 6419): daemon() ret: 0
D/s2d......( 6419): srv_len: 16 fam: 2 addr: 0x7f000001 port: 2122
D/s2d......( 6419): server_work Ready
[B]E/s2d......( 6419): Can't get lib_name for curr_radio_device_int: -1
E/s2d......( 6419): lib_load errno: 2
E/s2d......( 6419): tuner_init: -1[/B]

Thank you.
[Spirit FM] mikereidis:
This just shows the symptom, not the cause.

The cause is the same as for my Z1: CM12 kernel for some Sony's does not contain the needed FM driver. (Works fine on my Z though.)

I reported this issue with lots more detail here: http://xdaforums.com/xperia-z1/gene...nmod-12-nightlies-t3007118/page4#post58311573

I "worked around" this issue by flashing the AOSP 5.0 ROM kernel, but WiFi is broken on it.

https://github.com/DooMLoRD/android...er_kk-4.4.4/arch/arm/configs/honami_defconfig
[Spirit FM] enlildev:
I'm posting regarding the attempt to enable the fm radio on the OnePlus One at http://xdaforums.com/apps/spirit-fm/spiritfm-oneplus-one-t2866431/page3.

I know you have given up, but I only have one question. So basically what you are saying is that if someone managed to find a way to solder a wire that connected the fm antenna pins to the headphone jack and flashed the custom kernel Arrjaan made, then the OnePlus would have full fm capability using the Spirit app?
[Spirit FM] mikereidis:
It is completely infeasible to do that, unless jumper wires were built in on purpose, which is also extremely unlikely.

Unless you want to pay some specialist $5,000 to do it, LOL. Much cheaper to buy a new phone.
[Spirit FM] julz:
I can't seem to get Spirit 1 or 2 working on my HTC Sensation 3G. Tried on a 4.4.2 ROM and just flashed a CM12-based rom without any luck. Any suggestions? Error: No FM accessible

SU: 1 FM: BC2 SU:0 BT:3 HT:0 MO:BCU
[Spirit FM] mikereidis:
That's a 2011 phone ?

Spirit1 is the only chance, and it will only work on Android 4.4.x or earlier.

Spirit needs SU/root and doesn't have it.

Some ROMs require you to manually flash SuperSU.

Some have settings that need to be enabled, under Developer options.
[Spirit FM] waver1967:
both s2_141204 and sf_150117 not working on htc one s latest cm12 nightly.

s2_141204 used to work on my phone on cm11.
[Spirit FM] waver1967:
problem solved !

somehowe I lost root acces

fixed it and both are working again:D
[Spirit FM] mikereidis:
Great ! :)

Yeah, many Lollipop ROMs have a new procedure to enable root.

CM12 uses an internal SuperUser that needs to have at least "Apps" enabled in System Settings-> Developer. And to see Developer Settings, go to about and tap Build Number 7 times.

Other ROMs have to have SuperSU flashed.

Spirit2 should do more checking and provide usable error messages instead of the current "Hang at startup" reaction.
[Spirit FM] mikereidis:
Spirit2 150123 is available soon for beta testers on Play.

This test release has stability improvements, especially for Broadcom devices HTC One M7, LG G2, Sony Z2+.

Spirit Transmit is updated to 150123 as well, for all users on Play.

Attached is the Spirit2 Free / Open source build for 150123.
[Spirit FM] mikereidis:
Post here instead of emailing so that everyone can see the answers:

I have thought long and hard about this:

- Surprisingly to me, Spirit1 and Spirit2 sales are roughly split between them, and have been throughout much of 2014, on average. Even now... (one reason I am experimenting with Android 5 support in Spirit1, which works if SELinux is disabled.)

- No I won't be seeing income from Light versions. I actually re-introduced the Light version of Spirit1, AND the Open Spirit2 on Play for a few weeks in December. But I reversed course and refunded the few sales because I think it effectively lowered my income; some people went Light instead of Full I presume.

- The Spirit1 source code is a horrible abomination of precariously Jenga-like balanced blocks, connected with a brain spaghetti tangle of software duct-tapes of various colors, glues, strings and god knows what else.

So I am doing the world a favour by not releasing it. If somebody wants to dive in and add support for new devices, IMO it should be on the reasonably properly DESIGNED Spirit2.

I've worked with C "forever". But Spirit was my first Android app and Java code. Much has been learned since.

Spirit1 has I think at least twice the code of Spirit2. Support for MANY non-rooted stock FM APIs, as well as rooted low level APIs that are built from the ground up, pretty much. Support for Android 2.1 (still !?) to 4.4, and occasionally 5.0 with luck.

The code paths can be pretty convoluted; I can answer the questions about Spirit2 code posted on github, but trying to answer Spirit1 questions would be difficult: Would have to spending time analyzing code that makes you barf. Then suffer the embarrassment of explanation, LOL.

The Spirit1 code needs to be burnt out of existence. At this point, at almost 4 years old, there will be VERY few changes going forward. I have to concentrate on Spirit2, Spirit Transmit, and my audio apps (as FM seems in terminal decline now.)
[Spirit FM] dllud:
Spirit2 as Free Software, why not Spirit1 instead?

That sums it all up. Thanks for the explanation, I was quite curious about this.
[Spirit FM] mustasusi:
Hey Mike,

I just wanted to inform you that I injected my Note 3 with a new [MENTION=1108199]sacs[/MENTION] ROM here

http://xdaforums.com/note-3-sprint/development/rom-moars5port-t2836713

and was shocked to find this familiar icon in app drawer.View attachment 3129477

Yes, Note 3 has a native FM radio now. and it's Global. I may still need Spirit in Japan though.

It turns on, starts searching the dial, puts in favorites any receivable station and it's playing!

View attachment 3129478

There is a record button as well. Testing record..... AAAAAAAAnd it's MONO. Goddamn it Samsung!!!! Why do they keep doing it for god sake? I'm sure it's something with that mediarecorder thing. I realized recently it's not just mono, but it takes only the <LEFT channel and split it into 2, so you hear normally on both earpieces but certain details would be missing. Let's say for the sake of demonstration, if I take the Queens of the stone age's Songs for the dead [track 4] off the radio - I won't be able to hear the drums (or guitars because my personal FM TX is reversed) after the record. It's similar to the Note 2 now that I recall our conversation 2 years ago. Unlike there, it plays only from left earpiece to let you know right away it's wrong. Why did the prototype N7000 work just fine that way? *edit: the Galaxy S advance i9070 and S3 mini record stereo out of the box!

May I do something to the stock app or that Mediarecorder platform to make it understand there are 2 channels here, L+R? now take these goddamn 2 channels and combine them!. In other words - take it exactly as is and save to a file so I can recall later and enjoy the maximum.

As for Spirit...Well, it seems to be more complex in this ROM, although it's still 4.4.2, Spirit can no longer operate without sound either, the very same custom kernel that worked for me previously. It may complain for inaccessible FM all the time. Sometime I manage to get it in a minute, other times I have to struggle with it 5 mins or so, re-installing and force closing multiple times when it finally turns up and playing just like before. If I let the screen off it keeps playing in background, but soon as I wake it up - it will be gone (even quick glance silents it) and I have to go over with re-install\FC, who knows how much. As for now I'm yet to figure out a constant routine which would work for this very ROM. May update as quick as I settle it down.

I don't know how relevant this info is for you, if at all, but just so you know.

If you have any thoughts, I would appreciate if you can share.
[Spirit FM] trovas22:
not working lg g3

I have LG G3 D855P, I tried the first Kernel, optimized. Then i confirmed i have root, but spirit2 is still not working. I using resurrection remix 5.3.1
[Spirit FM] sdeft:
Hi mikereidis

Just want to report a problem. Spirit FM is breaking bluetooth functionality on G2 D802. If you are listening to a radio station and you switch on bluetooth sound in Spirit stops and bluetooth does not switch on. I tried different KitKat based ROMs like PAC, SlimKAT, etc. Is there a way to completely disable bluetooth functionality in Spirit. Is this problem caused by the libbt-hci.so which is included in Spirit ?. I noticed that this library is also included in all ROMs I tried but of different size.
[Spirit FM] mikereidis:
Spirit has had Bluetooth issues on Broadcom FM chips pretty much "forever", 3+ years now since Broadcom chip support was added.

It has always been bad to switch Bluetooth on or off while Spirit is running on Broadcom chips. I have wanted to make this more robust for a long time, but never get around to it.

This is because Broadcom chips use the same UART port for both FM and Bluetooth control.

When Bluetooth is off, Spirit communicates directly with the UART. Turn Bluetooth on, and Spirit and Bluetooth "fight" over the same port.

When Bluetooth is on, Spirit uses the libbt-hci.so shim to allow both Bluetooth and FM to run at the same time. Spirit2 recently added support for a new but similar libbt-vendor.so shim for all Lollipop ROMs, and perhaps some Kitkat ROMs (mostly GPE).

Unfortunately G2 has some special issues with libbt-vendor.so because of some really weird hack LG did, and the interaction with the way libbt-vendor works. But this is a Lollipop issue, avoidable at present by leaving Bluetooth off with a somewhat better fix/workaround to come.

So, no, there is really no way to turn "Interactions with Bluetooth" off, other than using Spirit1 on a stock based ROM with the Broadcom proprietary FM API.

Spirit1 has some related configuration that I hope to have in Spirit2 soon-ish. You can specific Debug-> HCI Access as UART, Shim or Auto. Auto is like Spirit2, it adjusts for BT on or off.

UART goes to UART, after first turning BT off if needed. Shim goes to shim, after turning BT on if needed.

It MAY be possible to have Spirit (and the system) recover from turning BT on or off while Spirit is running. This remains to be seen.

One "sad" aspect is that a relatively small number of sales are on Broadcom devices, and most are on Samsung devices using Silicon Labs chips (GS1/2/3/Note1/2).

And I spend MUCH more time trying to fix issues on Broadcom; Silicon Labs support was finished LONG ago and works well and needs virtually no fixes/maintenance. Broadcom requires a LOT of work virtually every Android release; see HCI Access options for how many options were added since Android 2.1.

So every time I spend a LOT of time on Broadcom issues, I consider all the financial support (vast majority) I get from (now rather old) Samsung flagship owners, and I figure it seems unfair to spend 30-50% of my time on Broadcom when it's only 10% of sales or so, and everybody is also waiting to see many more Spirit1 features on Spirit2, like many configuration options.
[Spirit FM] mikereidis:
I need more information than "not working".

You can send me a debug log from Spirit1 (Or Spirit2, but I still prefer Spirit1 for debug logs.)

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:
That is the NextRadio app, not a Samsung FM app, so swear at NextRadio, not Samsung.

NextRadio is part of the deal FM broadcasters have with Sprint (which I expect will fall apart any month now...)

I remember nothing about what is inside the Note3, so you can send me a debug log.

Tap the frequency button, enter the number 7 and tap "OK". After 20 seconds or so, press Send from your email client.
[Spirit FM] mustasusi:
Really? Is Emmis in charge for this too? My apologies to Samsung. Well, I appreciate Emmis for doing something GLOBAL this time.

I sent you twice. One as a standalone player - where FM is inaccessible and the other one is when Spirit actually playing radio.

Note that it writes SM-

G

900P as the device identifier, since it's a ported S5 ROM. Maybe that explains the complication in operation.

Now as I promised, a little update from what I am going through the recent week of trial and errors. There is a slight improvement. I managed to operate Spirit a few times without install\delete\re-install anything Just by killing the app until it works. watch this:

http://www35.zippyshare.com/v/xgpfdml5/file.html

It may be vary between 1 minute to 10(!), but I may look at all the screens I take more carefully to figure out a common nominator. On another attempt I was less lucky, if you are patient enough to look at:

http://www35.zippyshare.com/v/0510jwsv/file.html

Ironic when "Video Killed the Radio Stars" popped up upon success. For how many times I "killed" the radio task in order to run it properly.
[Spirit FM] Satir0:
LG G3 D855P - ROM Resurrection Remix 5.3.1

Debug Log Spitit1 Spirit2

Tanks!

View attachment bugreport.zip

View attachment sprt_debug.zip
[Spirit FM] sdeft:
Thanks for the detailed reply. At least now I know why the problem is there:). The annoying part is that if bluetooth is off and you run Spirit and then you want to switch bluetooth on, it will not come on. Have other users reported this too ?
[Spirit FM] Superchill11:
Turn off on Pull

Any way to include this in the spirit 2 full app? When I accidentally pull the headphones out, spirit defaults to playing static over the speaker. Also, when I put the headphone plug back in, I hear muffled sound over the headphones from the handset mic.

Thanks!
[Spirit FM] mikereidis:
:)

Turn off on headset pull is an option in Spirit1 that will be implemented in Spirit2.

I know everybody is anxious for more Spirit1 features, but I am so far continuing to favor bug, stability and efficiency issues, especially since the Lollipop/beta re-design.

Last night was the first since the re-design that I had all 13 test devices running 8 hours straight without a single error, reboot, Spirit2, Android system server or media server crash. Yeay ! :)

I will likely release this 150127 beta as a regular Lollipop release tomorrow.

Then I can try for a marathon of getting the easiest Spirit1 features into Spirit2. Simple but long needed stuff like deleting a preset, included.
[Spirit FM] mikereidis:
Yes, many people have reported this, ever since Broadcom FM chips were first supported over 3 years ago.

Back when HTC Broadcom devices like Nexus1, Desire, DesireHD were more popular than Samsungs.

Now that Spirit2 supports both old and new style Bluetooth shims. I think it should be feasible to allow Bluetooth power changes while FM is playing, by intercepting the commands and re-initializing things.

Now that I have some basic stability and efficiency issues apparently resolved in the new 150127 beta, I'll have more time to spend on features like this.
[Spirit FM] EpicSaga:
I am looking for the right spirit app that will work on my LG L90 Optimus D415. I tried SpiritF 2015_01_23_beta, but there is no sound.
[Spirit FM] mikereidis:
Kernel config shows iris drivers: https://github.com/ResurrectionRemi...p/arch/arm/configs/cyanogenmod_d855_defconfig

I see this first error in the kernel:

<3>[ 1.269858 / 01-01 00:00:01.260] iris_radio: Cannot open the command channel

Which comes from come here: https://github.com/ResurrectionRemi...op/drivers/media/radio/radio-iris-transport.c

This happens when the "APPS_FM" SMD channel can't be opened.

I don't know anymore than this at present, I really haven't looked much at Qualcomms' SMD IPC API. Code here shows APPS_FM: https://github.com/ResurrectionRemix/kernel_lge_g3/blob/lollipop/arch/arm/mach-msm/smd_tty.c

Maybe some config file somewhere.
[Spirit FM] mikereidis:
I presume Spirit1 is accessing the FM/combo chip via rooted low level UART. In this mode, you can't use Bluetooth.

The Bluetooth shims in Spirit can get around this, but on your device/ROM you need the new libbt-vendor.so shim that is only in Spirit2.

I have no plans at present to retrofit it into Spirit1, but now that I think of it, you could probably use the Spirit2 shim with Spirit1. Maybe.

Getting Spirit1 to work with the Broadcom OEM (unrooted) API would allow Bluetooth on/off, but I'm not sure that's ever worked on the Sprint Note3. (4 ?)
[Spirit FM] mustasusi:
My main concern wasn't using Bluetooth while listening to the radio on Spirit. I couldn't do that either by going through that trick (It would mute the radio the moment it showed up). The Bluetooth is totally disabled, even when not using Spirit. Looks like it messed up something in ROM. I guess reflashing ROM would fix it (and disable Spirit again) but I hope there is a better alternative, with that said I finished listening to the radio and now I want Bluetooth back. What do I need to do? Any chance I can invoke this libbt into spirit1?
[Spirit FM] daniyal.dssb:
HELP

Can anyone tell me the link to the app in the attached screenshots please?
[Spirit FM] mikereidis:
Yes, Spirit1 or Spirit2 may have installed it's Bluetooth shim and that sometimes creates a problem.

Reflashing ROM (no wipe !) tends to fix this, but Spirit puts a recovery script to re-install it in /system/addon.d, so if the script works (Kitkat and prior), it gets re-installed.

In Spirit2 there is a menu option to remove or install the shim. (Menu is bottom, middle button.)

In Spirit1 you can select Menu-> Test-> BC -> BT Shim Remove (2nd from last).

Or from adb shell from a connected PC this can be done:

adb remount
adb shell
su
mount -o remount,rw /system
mv /system/lib/libbt-hcio.so /system/lib/libbt-hci.so

At present, Spirit1 only installs this shim when Debug-> HCI Access is explicitly set to Shim. But in the past it installed automatically if Bluetooth was on.

At present, Spirit2 only installs this shim when Bluetooth is on, but it also may have been more inclusive at some point.
[Spirit FM] mikereidis:
That is the Qualcomm FM Transmit app, that also comes with an FM Receive app.

Source code can be found on Qualcomm's Quicinc source code site.

I built this app myself, and modified it into Spirit Transmit: http://xdaforums.com/showthread.php?t=1059296&page=845#post55456171

But Spirit Transmit on Play is now based on Spirit2 and not the Qualcomm app.

If you just want an APK, it may be found on some ROMs, or somewhere on the web where someone has posted it.

FM Transmit can only work on a tiny handful of devices that were built with transmit enabled. Pretty much Xperia Z and Z1 generation devices.
[Spirit FM] mustasusi:
OK, I removed that shim from Spirit menu (is there any difference doing it from Spirit or ADB because I found the former one much more eligible?). I couldn't find it on Spirit2 menu - there is only EQ option there. I know because I've already purchased it to test on my Note2 I still own and also my HTCs. However, after I removed shim and re-flashed ROM, Bluetooth is working again, but Spirit isn't. This time I froze bluetooth using Titanium - still no joy. I flashed a custom kernel over, Spirit was working OK then, when I closed it and re-opened. That's when Spirit showed "-128" as reception and nothing was playing but that rumbling radiation noise. You can watch my videos if you don't remember what I'm talking about. It happened to me before when I was messing with HCI access and set it to "int hcitool". At least I know for sure how to permanently turn up Spirit with "-128" and no receiving nor playing anything but that noise:rolleyes:.

Now it's working after a bit of struggle as it crashed at screen wake up and next launch came that "-128", switched to int hcitool, closed, relaunched and it crashed immediately without letting me doing anything, leaving me with that noise. A few more relaunches and it finally showed up with -128, there I had the chance to change HCI back to UART. closed Spirit, relaunched and so far so good. And Bluetooth is frozen of course. I believe I can defrost Bluetooth using the same Titanium and use it when I'm done with radio. If you have a more convenient suggestion that would be nice. I could use The stock way which works fine along with Bluetooth on\off and no interruptions even if I send files. But it's not as great as Spirit in terms of functionality, playback and interface. The stereo on stock is sukcs, swinging all the time, even for strongest reception and stationary. This is OEM behavior, luckily Spirit has force stereo option that saves the day and Note3 is the first device I've seen supporting this which is superior!!!
[Spirit FM] daniyal.dssb:
[MENTION=3575078]mikereidis[/MENTION]

Can you please provide me with the link . I'm on the hunt since a month but am unable to find the link. Please give me the link. On my previous ROM this app was built-in and working perfectly fine but its not in my current ROM nor is spirit transmit working fine. Please give the link to full FM app which includes receiver and transmitter please