yashsingh1/xdaforums huggingface dataset:
[Spirit FM] mikereidis:
Dec. 4 test release of Spirit FM Free: http://d-h.st/HDa

Not tested on anything but HTC OneX LTE and Sony Xperia Sola MT27i.

As part of the analysis of the AOSP proposed FM API & design of the coming Spirit2:

Unofficial support for some stock Sony 2012 devices. Transmit on CG2900 devices: U ST25i, Sola MT27i, Go ST27i, P LT22i.

FreeXperia and other AOSP ROMs not supported, but S4/S4+ devices may work rooted with OneX LTE etc support.

CG2900 (libfmradio.cg2900.so): U ST25i, Sola MT27i, Go ST27i, P LT22i

Broadcom proprietary (libfmradio.brcm-prop_rx.so): S LT26i, Acro S, Ion (Not sure about Xperia Miro, Tipo, J)

Qualcomm WCN3660 (libfmradio.sony-iris.so): T LT30p, TX LT29i, V LT25i

FM Transmit test mode: Ensure wired headset is plugged in and wrapped in a "long way" along the length of a test receiver antenna. (RF guys always warn about tx amps blown with no antenna, but power seems to be miniscule.) Set Debug-> FM Chip to "STE AFM TX" and restart Spirit. Can frequency be changed without restart ? There will likely be no audio.

Use seek down and seek up set different RDS data patterns.

FM Receive mode: either use automatic settings, or set Debug-> FM Chip to "STE AFM RX", set Audio-> Method to "Sony/STE/Android" and restart Spirit.
[Spirit FM] mikereidis:
Email:

Hi, I did some work with Arduino 3 years ago, but nothing recent.

I've read some about the Android Accessory Development Kit (ADK), but it seems to be a "ghost" product.

Here's a July post responding to a "1, 2, 3: profit" idea which sums up my hardware FM accessory thoughts for the last 2 years: http://xdaforums.com/showpost.php?p=29331874&postcount=4158

And a December post about the USB FM devices with Silicon Labs FM chips I've experimented with: http://xdaforums.com/showpost.php?p=34937408&postcount=4926

Si470x support in Spirit won't help you if your FM chip is controlled by an external MCU that isn't running Android. In theory you could create a V4L or Samsung style kernel driver that passed stuff to Arduino, but that's a crazy complex and fragile method.

Easiest route is the method in the December post, but you'll need a custom Android kernel, and will have a "USB OTG FM dongle" hanging on your phone.

Spirit2 will offer another route. FM chip and audio plugins will be create-able for any device that can be controlled from Android *.so library files, using NDK & C/C++.

Even an interface essentially as basic as On(), Off(), SetFrequency() could be usable, with it's limitations. Could even be done with Linux/Android shell scripts etc.

The Arduino sketch code is up to you. There's a link there to this code, and I'm pretty sure I saw some more comprehensive code in the past with Google searches: http://www.sparkfun.com/datasheets/BreakoutBoards/Si4703_Example.pde
[Spirit FM] DanielNL:
Y "Spirit FM Free" not listed on Google P(l)ay store ;) ? :(
[Spirit FM] minidou-77:
Only for xda users ;)
[Spirit FM] DanielNL:
But I am! :D
[Spirit FM] Quinny899:
Unless you're trolling, the apk is on this page, earlier on
[Spirit FM] DanielNL:
Not trolling xD xD LOOOL, just misunderstanding!

Is it this link u r talking about? http://d-h.st/HDa ? That doesn't look like an official download site like play store, where every app is checked for malware/virus... ;) :P

And I won't activate the 3rd party apps-installation on my smartphone, wanna keep the warranty...

And what does "CG2900" mean ? :)
[Spirit FM] CR5N:
Sell the smartphone! ;)
[Spirit FM] scutworker:
Firstly installing third party apps won't invalidate your warranty. If its malicious it might wipe your phone or steal your data, but not remove your warranty.

Take a look at this forum: loads of posts and lots of happy users. Not likely to be a malicious app is it?

If you're really worried, you can just buy the paid app from Play. If it doesn't work the developer Mike will give you a refund. He's good like that :)
[Spirit FM] chanchan126:
i wanna ask if you support n7105 note 2? i am in singapore by the way. :) thanks a lot :)
[Spirit FM] mikereidis:
No.

Nobody has proven it's possible. It may not be. I don't think anybody is sure it has the needed FM chip or not.

Eventually, a schematic will come out, if not already.
[Spirit FM] b.charles.gagne:
I own a Samsung galaxy s3 from Rogers (i747) rooted and on cyanogenmod can I help in anyway for development to this phone?

Envoyé depuis mon SAMSUNG-SGH-I747 avec Tapatalk
[Spirit FM] mikereidis:
No.

Rogers, and even Bell now, are using the same variants as the US carriers, with no FM.

The only way to "fight back" is with your wallet & refusing to buy FM castrated devices. If you can live without LTE, there are International variants, such as the GT-i9300. Stay away from GT-i9305 though.

For LTE, some devices are available that don't officially support FM, such as AT&T HTC OneX LTE, or the Rogers equivalent which supports FM officially.
[Spirit FM] mikereidis:
Email:

Hi, Probably not I'm afraid. :(

I was happy when I read of it months ago, as there are no readily available tablets over 5" with FM.

Then it seemed to be an Asian only product.

Now it seems there is a "Western variant" for sale with no FM app at least.

I don't support the Mediatek chipset, but feel free to try my free app: http://d-h.st/HDa

If the hardware is usable, you may be able to use an FM app from another Lenovo or Mediatek based device, but your A2107 may need to be rooted.

If you make any progress, please let me know.

Regards,

Mike.
[Spirit FM] Jay794:
I have the S3 international version but I can't seem to get the correct settings in order to get this app functional I just get no sound or just static
[Spirit FM] mikereidis:
Sometimes FM just breaks, due to headset jack usage, lightning or power surges.

And several people have SU issues.

Trouble-shooting guide here: http://xdaforums.com/showpost.php?p=31983151&postcount=4465
[Spirit FM] xmguy:
Greatly look forward to it Mike! I hope the Motorola Bionic will be on that list. :)
[Spirit FM] Lagkage:
Spirit FM seems to work fine on CM 10.1.

CM 10.1 can be found here: http://xdaforums.com/showthread.php?t=2036229
[Spirit FM] superlik:
That depends on the phone model? This thread isn't specialise to specific model.

Samsung galaxy s2 I9100G, Cyanogenmod 10 latest nightly, stock kernel, mixer theme
[Spirit FM] mikereidis:
Yes.

In general I think Spirit should work w/ CM10.1 for any device that works on CM10.

You never know what might change though, and audio is my biggest concern.

I've had one report that that this CM for GS2 is now needing the open source audio library friendly "Galaxy S2/Note ALSA" audio method: [ro.modversion]: [10-20121206-EXPERIMENTAL-i9100-vsync_sysfs-changmin]

And there are some audio issues reported I'm looking into now. EDIT: will probably post a fix later.
[Spirit FM] Lagkage:
I have tested the audio methods and there is no audio on "Galaxy S3/Note/S2_ICS," but setting it to "automatic" and "Galaxy S2/Note ALSA" gives audio.

I am using CM 10.1 on an I9100, which you can find here: http://xdaforums.com/showthread.php?t=2036229

Thanks for your work, and I would of course buy Spirit 2 when it comes out.
[Spirit FM] mikereidis:
Dec 10 Free: http://d-h.st/UwH

A new release will be on Google Play within the next 1-2 days I think. Email me if you're a customer and want corresponding Light or Unlocked before then.

- Audio improvements for Gt-i9100 CM10.1 Android 4.2.1, using the new open source audio libraries. Allows normal audio after using FM. Still some issues, such as audio notifications in speaker mode.

- Unlocked contains a test implementation of an Android / Spirit2 FM API service. This can be used to get RDS on HTC OneX LTE and other Qualcomm WCN3660 FM/combo chips, when using CM or other AOSP type ROMs that do not contain the Qualcomm high level FM API framework files.
[Spirit FM] mikereidis:
As expected.

I tried that ROM last night. The Dec10 test release of Spirit, linked in the post above, seems to fix the main problem of no normal audio after FM.
[Spirit FM] mikereidis:
A few more protections I forgot about:

- Anyone can post comments on Dev Host downloads, such as the 2 Spanish language ones here: http://d-h.st/PA6

I'd hope that any widely downloaded app containing malware would get appropriate comments.

- Android refuses to update apps that don't have the original apps signature. So if you know you have a legitimate version loaded, you shouldn't be able to update to a tampered version.

This problem bites people who try to update to or from a modified pirate version, signed by a pirate who doesn't have my private signing keys. Occasionally a pirate will "out" themselves here, or in email, by asking about this problem.

----

Speaking of piracy, I continue to get about 2 debug log emails per day from people I never hear back from when I ask "under what name or email did you purchase?". LOL.

This is in addition to the dozen or so that are just a debug log, with no text added. Most of these are from popular Chinese domains and may just be people poking around in the test options, in a language (English) they don't understand too well. I'm sure I could graph the incredible rise in Chinese Android usage just by counting these emails.

----

And speaking of my precious secret keys, and hacking & such, I just received this email from accounts-noreply@google.com, the first such I've ever seen:

With my Google developer accounts & such, I'd guess some damage could be done if somebody was able to sign in as me. They still couldn't upload a modified release of the apps though, unless they got the private keys that only exist on my development PC and 2 USB keys.
[Spirit FM] Quinny899:
They couldn't upload a new version, but they could upload a malware loaded (free) version and have a virus put out under your name...
[Spirit FM] DanielNL:
LOL :D

Whut? o_O Oblast? Where is that? :P
[Spirit FM] mikereidis:
Thanks for your insight. :)

Hmm, yeah that's right. The worst scenario I can think is that Google would suspend my account, and that might prevent customers from getting updates or reloads. In some cases, devs have inexplicably waited months for account suspensions to get undone, and can require going to the media with the tale of woe.

I guess I'd just release updates free if my account had such problems.

I've been guilty of re-using my password on many sites, but I've now ensured my Google password is unique.
[Spirit FM] mikereidis:
Oblast is a country sub-division larger than a city, like state, province, prefecture, county or region.

Many of the former "Iron Curtain" countries are full of trained, intelligent computer people who find it hard to find work that pays decently. So many go to the "dark side". :)

I visited grandparents relatives in Slovakia & The Ukraine back in 1979, and have done a bit of related genealogy, so I'm familar with "OBlasts", and some equivalents in the UK, Portugal and even Finland.
[Spirit FM] denzel09:
Spirit works with nexus 7 3g?

Inviato dal mio Nexus 7 con Tapatalk 2
[Spirit FM] mikereidis:
No. Doesn't work with my WiFi N7.
[Spirit FM] denzel09:
In future you think it can work ?

Inviato dal mio Nexus 7 con Tapatalk 2
[Spirit FM] mikereidis:
No.

The hardware grounds/disables the FM antenna receive pin on the FM/combo chip module. Like every Nexus device, except the Nexus 1.
[Spirit FM] bigbop:
Just curious...how do you know the antenna rcv pin is grounded on the N7?
[Spirit FM] mikereidis:
Because all of the registers appears normal and setup proceeds without any errors. But with wired headset plugged in for an antenna, RSSI is always at or near 0 and there are no other signs of reception, such as RDS data.

Most (over 50%) Android phones don't support FM. Some have schematics available that show antenna pins grounded or not connected (and inside an RF shield).

I've seen this same RSSI behaviour on those phones that are known to not support FM, and whose schematics show castrated FM receive antenna pins.

I have a background in electronics, and this is the main thing the industry does when the designers are told "No FM".

If anyone thinks otherwise, they're free to spend their time figuring it out. Anything is possible, and I found once that older Motorola devices don't automatically load the FM firmware, and the symptoms were the same.

But I'm not going to waste large amounts of my time trying to figure out mostly impossible devices.
[Spirit FM] mikereidis:
December 11 is almost the same: http://d-h.st/mYw

Also on Play.

Some new customers are getting the infamous "Error 941" on Play. I presume this is a Google problem and will be fixed soon.
[Spirit FM] x-geo:
do you have support in xperia mini pro sk17i/a? in cyanogen is no fm radio
[Spirit FM] skezza:
Apologies if this has already been covered, with the new Spirit2, are we likely to see the Galaxy S be unsupported?
[Spirit FM] Lagkage:
For SGS see this: http://xdaforums.com/showpost.php?p=34687918&postcount=4910
[Spirit FM] mikereidis:
Thanks for posting that Lagkage.

---------

A point to make about Spirit2 device support. Spirit2 will use the proposed standard Android FM API. In fact, both service and client support for this API are already built into Spirit1. I'm doing this to learn the issues as Spirit2 is designed. Last night I successfully had 4 app instances (Free, Light, Unlocked & XL) simultaneously sharing the single FM API service built into Unlocked. 4 entries with active RDS in the notification window, LOL.

I hope Spirit2 will help to encourage chip and phone OEMs to support this ST-Ericsson proposed (and Sony used) standard Android FM API. In an ideal world, all phones would support this API. Just as most support the Android camera API, that allows anyone to build a camera app, that works on any phone, without messing around in the kernel.

I prefer to prepare Spirit for the future, and help shape the future, than worry at this time about supporting flagship devices from 3 years ago. Spirit1 is still there for "legacy devices" that are past the end of their official OEM updates.

This API has an open, documented method to create plugins for different FM chips and APIs. If anyone is interested enough, they could create these plugins and Spirit2 may then be able to support them, officially or not.

---------

I'm thinking I might add support in phases, starting with Galaxy S3 GT-I9300 & Note2 GT-N7100. Then adding Galaxy S2 GT-I9100 & Note GT-N7000 later.

Spirit2 will not initially come out with all the features of Spirit1. It will be a development in progress, with new code & architecture, pulling in and fixing bits of Spirit1 code as needed.

When Spirit2 problems/bugs are reported, I won't rush to fix them with hasty, messy workarounds. Spirit1 will continue to be the mature production quality(-ish) app, with many features, that I will continue to rush to patch when inevitable CM changes cause major conflicts.

These Samsung devices may be sufficient for Spirit2 for a while. The rest, we'll see. Currently no Broadcom FM chip devices are on the list, and I'm rethinking the TI based OneX, because there are few higher end TI based devices now.

That leaves the Qualcomm FM chip on Qualcomm S4/S4+ devices such as OneX LTE. On one hand, the Qualcomm SOCs chips are doing VERY well on high end devices, including Nexus 4, Motorola Razr HD/Max, Sony Xperia T & coming devices & HTC devices here now & coming. Based on stats and plans and rumors, the S4/S4+ etc SOCs are definitely a major factor in 2012-2013, and will be battling for the TOP SOC architecture spot with Samsung Exynos. (Nvidia, TI & the others are struggling for the last scraps of marketshare now.)

But sadly so far, the only such Qualcomm SOC devices that also can support FM are HTC One S/One X LTE/Evo 4G LTE. And their market-share is relatively small compared to Samsung Exynos. So I may wait until they are more available on devices supporting FM. Every important smartphone OEM is releasing high end devices with S4/S4+, but time will tell how many can support FM.
[Spirit FM] mikereidis:
I don't know about irony.

But free & fair competition is IMO a very good thing, and moves to support FM on other smartphone platforms may be a factor in Google slowly pushing FM through AOSP.

I don't follow MS Windows Phone much, but was under the impression it would ship with an FM API. I saw source code for a simple WP FM app many months ago. EDIT: I see WP7 supported FM, but MS hasn't supported it on WP8.

RIM Blackberry also has a published FM API, as does/did Nokia Meego on N700 I think.

And rumors (but no action) have persisted almost since the first iPhone that Apple would release software to unlock the FM hardware.

Even Mozilla Boot To Gecko, another Linux based environment, has a decent FM API under construction.

So things seem to finally be moving forward for this alleged "anachronistic old school analog over the air electromagnetic/photon audio & RDS communications protocol" we call FM or Frequency Modulation.

I think too many people assumed radio would quickly go the dying way of analog TV, and be replaced with omnipresent digital streaming. I think it's got at least 10-20 years more of good life left, and may never disappear entirely in any of our lifetimes.

Even our many so called digital radio schemes are analog at their core, and require modem modulation/de-modulation. DSPs may be digital, but are always surrounded by ADCs and DACs.

In many cases, it's very inefficient to convert back and forth analog & digital too many times. See what has happened with efforts to convert to digital HD radio. Like digital TV, signal is there or it isn't. Instead of a burst of "snow" or static, the sound kicks off for a while and may not return. Combine that with all the dead spots, and mobile usage from cars and such, and digital radio is dead. For now at least.
[Spirit FM] skezza:
Thanks for the confirmation mike, just wondering. This phone is getting a little old. I'm just too tight to improve :P yet!
[Spirit FM] xmguy:
To start I'm sorry to hear that Spirit2 will not support Motorola devices. I guess I have only Motorola/Verizon to thank for that.

Spirit is still kicking strong on my Bionic (albeit still having signal issues with speaker vs headphones, another day right).

As far as FM support on devices. I have a few HD Radio, Satellite Radios and other digital mediums. They all seem to have several CONS in common. 1; The latency in changing selection. i.e if I want to listen to a Clear Channel station I have to fire up iHeartRadio on my Razr HD and find the station. Now say I want to listen to my local country station. Well it's only on TuneIn. So it's app switching and just the delays in moving between station streams even in the same app.

Then 2 a LOT of the stations on TuneIn and iHeartRadio are LOW QUALITY! Some with Bitrates at 32 Kbps MP3.

FM doesn't have that. Then as you said HD and Satellite radio (while Satellite is MUCH better) HD radio is poor to say the least. I have a portable HD radio that picks up HD here and there. Granted I'm 75+ miles from the transmitter.

But analog FM or AM isn't limited by this. Like in the old days of analog TV. If the signal was weak it meant you could still hear or see what was on TV or Radio. But might not be clear. With digital it's either there or not, on or off.

For that reason FM will always be strong. But for people like me where Radio/ FM and SW are almost a hobby it will be more. To the average jane/joe it's just more simple to have EVERY station just right there. No extra apps to download. No data plans to worry about going over. This is one of the reasons carriers want to make you use data more and more.

Take the new Droid DNA. It has NO external memory and only has 16 GBs of internal memory. HTCs responce as to why was there are enough cloud storage options out there that onboard memory isn't an issue. Until that uses more data than the plan allows. But then that's what all the carriers want anyway. To that end that is why FM isn't supported. The last phone to come from Verizon atleast with FM fully supported was the Droid X2. So the trend to moving people to data and more money spent is the goal.

But as long as people like you Mike are here to give a great app to use and liberate from these carrier and technical constraints. I welcome it. I wish you the best in the year to come. Thanks Mike for everything! :)
[Spirit FM] Rick O:
I want to record for listening later to BBC Radio 4 in the UK. This is talk radio not music.

Thanks for Spirit.
[Spirit FM] Dieselhorst:
Do you plan to support Galaxy S2 i9100g (TI OMAP chip) in Spirit 2?
[Spirit FM] ssauger:
Nexus 4

@mike

i post here again, since i don't know if you check the thread in the N4 Forum...

Mike i think i have good news about N4, i asked franciscofranco here for the needed drivers in the kernel. I don't know much about it but read what you posteted in the N4 FM thread. He will do it and since i own a Nexus 4 i will help you as much as i can.
[Spirit FM] mikereidis:
No, the device support list will be pretty small, especially in the first few months. And the list will be limited to devices I own or that are very similar in architecture.

9100g earned me about $91 in November, and that was after many months of "pent up" demand being released due to my newly supporting it. Can't buy a 9100g for anywhere near that price.
[Spirit FM] mikereidis:
Good to know. :)

For talk I imagine mono & a lower bitrate will be fine, while music recording will be stereo and at the highest bitrates.

I re-visited a revelation about digital audio last night that could make audio issues much easier.

If Spirit configures and continuously reads the FM audio data from a PCM/digital device (same as it would for recording), it may be able to play that digital audio exactly how streaming apps do.

I hope that most or all Spirit2 supported devices will be able to do this simultaneous record/digitize AND playback. Unfortunately many Android device audio system are single tasking; they can only do one thing at a time: playback OR record/digitize (except for phone calls at least). Restricting Spirit2 to recent higher end devices at least maximizes the chances of this working. I think the Qualcomm WCN3660 + S4/S4+ SOC architecture always uses digital audio, so it should be no problem.

This approach would make it SO much easier to support external apps to record, do visualizations, analyze the audio, and process it with DSPs for equalization or other effects, all using the same mechanisms as for non-FM music players. And Bluetooth support just flows naturally from this.

Spirit would only have to do the undocumented stuff associated with the PCM digitizing device, which will mostly be left alone by audio notifications and other audio challenges.

The downside would be somewhat higher battery consumption, but AFAICT very few people notice the battery draining effect of the current common Silent Loop in Spirit, and this would do about the same. An option for lower power analog bypass could be supported.

And as long as all FM audio is digitized, it shouldn't be too hard to enable Tivo/PVR (PAR actually) type functionality, so you could pause (not just mute) live radio. There could be impacts due to ongoing usage of flash storage however.
[Spirit FM] bigbop:
OK, fair enough. According the the available N7 schematics, the antenna pin is not connected. With the chip inside of a shield, you wouldn't get any usable signal. After my rear camera project in this forum, I plan on digging deeper into the gifts of the N7. I picked up 2 units with cracked touchscreens to play with. One of my skills is reverse-engineering hardware.

Can I assume that your app will work with the N7 if I'm able to get access to the antenna (at least RDS - the audio is another issue)?