yashsingh1/xdaforums huggingface dataset:
[Sprint Samsung Galaxy S III] dimcorner:
I would love FM on this.

We have secured WiFi at work so no public devices on it.

AND I don't have unlimited data, so no streaming.
[Sprint Samsung Galaxy S III] jeffro23:
thanks for the update Mike. still patiently awaiting the results before I jump into my next phone.

Ill definitely be springing for the full featured Spirit with either the OneX or S3(if it works). I prefer the S3 due to upgradeable storage and battery, but will take the OneX otherwise. And yes, I listen to FM at the gym pretty much every day. either the local transmitted audio from gym tvs or local sports radio.
[Sprint Samsung Galaxy S III] stumanroo:
I would absolutely pay if somehow you got the FM Transmit to work so I could use this in my car!

I own a 2004 Volvo XC90 and 2006 Volvo S40 and my options for both of them is VERY small! I can buy a $400 MOST box for both of them and then completely lose any CD Players (I am fine with this...my wife will not be) or I can pay $600 a piece for Volvo to install a Bluetooth mod for both of them. Only other option is an FM Transmitter...and I would much rather see how this works and then pay a fat donation if it worked than pay $40+ on an FM Transmitter which may or may not work worth a ****!

So if you ever get it working and need a test dummy just shoot me a PM...I won't have my phone until next week but will be more than happy to give it a try if it happens!
[Sprint Samsung Galaxy S III] v8bait:
No FM transmitter works very well, especially the crappy ones that are made for car audio. But, lucky for you, that is not your only option. You can buy a cheap FM antenna modulator with an 8mm input or RCA inputs (whichever you prefer) and wire it into the antenna behind the radio. It basically is a passthrough but when you turn it on it hijacks 88.7MHz for whatever you have wired. Much better than the transmitters for car audio as you have much less interference, and they cost under $40, I think nice ones are around $25. For best sound quality the MOST bus is the best option, but you will find the FM Modulators are passable quality wise. I have yet to hear a transmitter I didn't want to chuck out the window.

+1 awaiting FM radio on the GS3. If it can be done, maybe donations are in order?
[Sprint Samsung Galaxy S III] stumanroo:
Already did that...wasn't a good result either!

Had to use a BMW Fiber Optic connector since there is no such thing as a Volvo connector and jump that in between the Volvo connectors...but here is where it all went bad...it screwed up the computer and I had to get it re-programmed...$289!!! At that point I wish I would have just paid for the MOST system to begin with.

For example on how technical my car radio is...I can look up my VIN # and change how the door locks work and the way warning lights flash in my vehicle all within the radio. It is actually the central brain control mechanism for the whole vehicle. So messing with it can get really expensive...really fast!!!
[Sprint Samsung Galaxy S III] mikereidis:
:)

I've been reading articles about the growing gap between manufacturer in-car audio/entertainment/navigation etc systems and smartphones, tablets etc.

Manufacturer systems are expensive, hard to change, and the principle is that they tend to stay with the car for 10+ years or whatever with no changes or upgrades.

OTOH, people expect new capabilities, power, UI etc. every year or two with their smart devices.

There are starting to be aftermarket systems powered by Android that can be installed. And "enthusiasts" are trying to build their own systems with tablets. But so far there are virtually no tablets with FM built in.

There are "use cases" I think among the young that would be nice to accommodate. They hop into a friends car and want to play music on their phone, into the car audio.

Wired connections can perform well, but are inconvenient and many systems don't have AUX inputs. Bluetooth could work well, but it can be expensive and hard to find. FM transmit to the car radio is a last resort, but there are still virtually no Android devices that can transmit FM.
[Sprint Samsung Galaxy S III] mikereidis:
I don't know if you've read a few pages back, before the silliness, but this is what we've been discussing.

I'm not sure that anyone has built a kernel for these devices yet and posted it. I haven't built a Linux kernel since 1998 but I'm trying to get back up to speed on the subject. A lot changes in 14 years. :)

We need more than radio-iris-transport.ko, we also need radio-iris.ko which uses the transport driver. The radio-iris driver is normally built into the kernel (not a loadable .ko module), but not on these devices.

I've been looking at the default kernel build config files for these devices and most use "m2_att_defconfig":

SGH-T999 (T-Mobile)

SGH-I747M (Rogers / AT&T)

SGH-T999V (Canada Wind/Videotron)

Sprint's SPH-L710_NA uses "m2_spr_defconfig"

I haven't found the kernel code for Verizon SGH-I535 yet.

None of the above build the drivers.

My AT&T HTC OneX LTE with the same Qualcomm S4 SOC does build and use the drivers successfully. But the transport driver won't load and I'm not sure there's a way to force it. And we'll need the radio-iris driver anyway.

My speed in this investigation is limited, because I spend MANY hours every day dealing with customers on other phones. So any help I can get is great, especially while I don't have this device.
[Sprint Samsung Galaxy S III] Canoe Head:
Thanks for the info. It is in my interest to help anyway possible prior to this thurs return deadline for my phone :-).

My linux experience has been limited to recompile drivers for my mythtv fedora box, but getting to speed on android sdk env.

Other news of note.. I had online chat with samsung support asking which sgs3 support fm. I got indeterminite answer that fm support was decision of the carrier and to contact them. He would not name carriers or models that would support fm. (This imples fm present, but not 100% based on history.)

I immediately tried WIND T999V thinking fm would be present as no competing data pkgs or streaming offered by this carrier. No app present. This before discover/support spirit fm.
[Sprint Samsung Galaxy S III] jarnow94:
Are you sure he wasn't talking about the international variant?
[Sprint Samsung Galaxy S III] iTchill:
Application not installed ..on rooted stock rogers..
[Sprint Samsung Galaxy S III] Canoe Head:
Sorry, but my last post was asking customer support only about north american models/carriers. I do not believe there were any missunderstandings wrt i9300 et al.
[Sprint Samsung Galaxy S III] mikereidis:
I wouldn't draw any conclusions from what a support person says about more technical matters like this.

"decision of the carrier" may be a stock answer for FM or optional/carrier specific apps.

BTW, the T999V is sold by Videotron also, besides Wind/Mobilicity.

I think that Canadian carriers, especially the small ones, are much more likely to just use a "stock" software load that was commissioned by AT&T or other large carriers.

But we CAN note that Rogers provided the FM app for the LTE HTC OneX, while they didn't provide one for the LTE GS3.

If/when the LTE GS3 is released or announced for Europe & the UK etc, we may have a better idea if FM is possible. But it's such a small change to enable/disable the FM antenna that a Europe specific variant with one extra jumper or capacitor is feasible.

EDIT: Hmm, just reading now about a Korean version with the International version Exnyos quad-core SOC and LTE on a seperate chip. Perhaps Europe will get this as an LTE version. It might have the same si4709 FM chip as the i9300, or they might have used the space for their DMB TV chip.
[Sprint Samsung Galaxy S III] mikereidis:
I'll try to post some kernel modules to test with in the next few hours.

I'm building some kernels now and the output from "uname -a" is similar to what I need, I guess (uname -r ?).

Better yet, when I do a command like this, on the files from a Rogers I747M dump:

strings /lib/modules/scsi_wait_scan.ko

I see a vermagic line like this:

vermagic=3.0.8-20120523.225040-user SMP preempt mod_unload modversions ARMv7

When I do it on my built modules I see this:

vermagic=3.0.8 SMP preempt mod_unload modversions ARMv7

So I have to add this to EXTRAVERSION I guess: "-20120523.225040-user".

And, unless I could just binary patch a driver, I'd have to do that and do a seperate build for anyone with a different kernel for each specific carrier and their kernel builds.

OR, I could post the drivers with the kernel I built and you'd have to install my kernel.

But I haven't tried booting these kernels, and haven't built any in a LONG time, so I'm not sure I'd want anyone trying to install one of my kernel builds.

I could perhaps boot one of these kernels on my AT&T OneX and see.
[Sprint Samsung Galaxy S III] mikereidis:
Here's the Rogers GT-I747M kernel and modules I built: http://d-h.st/CRi

The modules alone won't work unless "uname -r" gives you:

3.0.8-20120523.225040-user

They should work if you install the kernel in the ZIP file, but don't do any kernel installs unless you are very confident in what your doing.

I know nothing of how to install SGS3 kernels, or how easy it might be to recover from a bad kernel.

These modules should be placed appropriately, such as in /lib/modules or /system/lib/modules:

radio-iris-transport.ko

radio-iris.ko

I did:

chmod 644 /system/lib/modules/radio-iris*

and

chown 0:0 /system/lib/modules/radio-iris*

Then you could do:

insmod /system/lib/modules/radio-iris-transport.ko

insmod /system/lib/modules/radio-iris.ko

or perhaps the other way round. If you get "Exec format error", we can't go further with just modules, unless or until I build a kernel exactly matching or figure out the binary patching that would fix things. Or... find an Android insmod that gives a --force option.

If you're lucky enough to get both modules to load, next step is start fmconfig and see if the FM starts.
[Sprint Samsung Galaxy S III] ipnekgs:
Never mind
[Sprint Samsung Galaxy S III] kinwolf:
Thanks for the hard work! I'll read on safety precautions before loading a kernel like that and try it tomorrow
[Sprint Samsung Galaxy S III] Jimmyjoe:
Just want to let you guys know about the experience i had on launch day....

A samsung rep was at my local sprint store and was showing off his galaxy s 3 that he had so we could feel it without the security tether.. as i was looking at it, it was sprint branded and i asked him if the was the exaxt same phone as the one we would buy... he said yes and then i showed him the icon for fm radio on his phone..

He then said oh yeah... this was an early prototype of the phone.. it was on the sprint network , had the dual core chip, but only 1 gb of ram... so it w as s kind of an odd beast... anyways.. i thought you might like to know the s4 did have an fm radio at 1 time.

Keep up the hard work and lets just hope they just removed the software and not the hardware when they went to 2gb...
[Sprint Samsung Galaxy S III] jarnow94:
Interesting, since it was dual core it likely was the same processor that we have. I don't think they would have tampered with that part of the hardware after that prototype... I hope I'm right lol
[Sprint Samsung Galaxy S III] mikereidis:
My first thought was "this is very encouraging".

My second was that he was showing an I9300 and that "early prototype" was an excuse, or twisted sales talk for the earlier International mode.

I don't know Sprint's network. Is it CMDA ? Would it have to be the Qualcomm S4 in order to work (or at least not the Exnyos model) ? Was there some clear evidence that proved it was a dual core ?

But IF this is all true, then the design included enabling FM radio, so that is very encouraging. As mentioned though, just one different jumper or missing capacitor could make FM infeasible.
[Sprint Samsung Galaxy S III] jarnow94:
It's CDMA, so using the international version would be impossible.
[Sprint Samsung Galaxy S III] Jimmyjoe:
Yes I totally agree... there was no way for me to prove what he was telling me. He could say all day it was an S4 dual core, but it could have been a quad core. I had no way to validate.

Don't know... take it with a grain of salt... just trying to possibly help and add some excitement/momentum for something that would be awesome for this phone!
[Sprint Samsung Galaxy S III] rakeshchn:
Not sure if this helps, the HTC one S for t mobile US has the same SoC, support for same bands and also has FM radio. Any possibility of pulling required driver files from its firmware?

Sent from my SGH-T999
[Sprint Samsung Galaxy S III] mikereidis:
Thanks, appreciate it. :)

So it had the Sprint name on it, and you said it was on the Sprint network. Since that's CDMA, if it was clearly on Sprint for voice or 3g/4g then yes, I'd guess it was a Qualcomm SOC model.

But,... I'd guess you weren't able to verify if the FM app worked if you only saw the icon.
[Sprint Samsung Galaxy S III] mikereidis:
I'm more or less aware of that, but thanks for the reminder since I'd forgotten about the S.

It's still called "Qualcomm Snapdragon S4" although it's actually an MSM8260A, instead of the 8960 in most US LTE GS3s. It's the same chip in the T-Mobile SGH-T999 GS3, and the Canadian Wind/Mobilicity/Videotron SGH-T999V. It seems the only difference is in the modem though.

We have the drivers though, I posted them and a matching kernel on the previous page. The problem is that drivers need to exactly match the kernel for all their external references.

IF the T-Mobile HTC One S kernel precisely matched the T-Mobile GS3 kernel, then yes, the drivers should load. But I'm pretty sure there is at least one difference, since the radio-iris driver is likely embedded in the kernel as on the LTE HTC One X.

I've found that it's not simply the kernel version and name that must match exactly. It's also the "signature" of each function the driver calls. For example I run this and get 24 lines:

modprobe --dump-modversions drivers/media/radio/radio-iris-transport.ko

0x94c8457c	module_layout

0x6b76db2c	smd_read_avail

0x657d18d2	smd_read

...

Each of those 24 hex numbers must match exactly. I've read that drivers can be manually patched, but the signature matching has a reason, and that's to protect against API changes. Such changes will usually just result in a kernel crash when trying to "trick" the kernel.
[Sprint Samsung Galaxy S III] rakeshchn:
Oh I see. I am no developer mike, but I came across this tutorial to create custom kernels. May be you find it useful. Also are you considering working with some of the custom kernel developers to see if they can accomodate the drivers and we can test it out

http://www.xda-developers.com/android/step-by-step-tutorial-on-how-to-compile-kernels-from-source/
[Sprint Samsung Galaxy S III] jnadke:
It doesn't seem like we'll really be able to resolve this until the OneX / EVO LTE source is released.

There probably needs to be some registers turned on in the platform setup to fully enable the radio. We probably won't know what they are until we can analyze the source for a working device.

You said there were other devices with source using the S4 chip?
[Sprint Samsung Galaxy S III] mikereidis:
I think we have everything we need, as far as source.

Just need to change the existing kernel config file so that:

# CONFIG_RADIO_ADAPTERS is not set

changes to this:

CONFIG_RADIO_ADAPTERS=y

CONFIG_RADIO_IRIS=m

CONFIG_RADIO_IRIS_TRANSPORT=m

or this, to be compatible with the way the LTE OneX does it:

CONFIG_RADIO_ADAPTERS=y

CONFIG_RADIO_IRIS=y

CONFIG_RADIO_IRIS_TRANSPORT=m

I built an AT&T kernel and modules with the above changes. AFAIK, nobody has tried it, and I don't "blame" them because I'm not sure how exactly to install a kernel or if it will brick a device if you try.

Note how "funny" it is that these devices have an "fmconfig" utility, and related FM files when the carriers say they "don't support FM". Just need the darn drivers loaded, to test at least, IMO.
[Sprint Samsung Galaxy S III] mikereidis:
I was hoping you guys would bug the kernel devs for this. :)

OK, OK, I'll poke around...

IF we find that FM is usable, I will likely buy one eventually. I just ordered a GT-i9300 this morning.
[Sprint Samsung Galaxy S III] jnadke:
I'll build a Sprint kernel and test it tonight. I replied to the codeaurora post for my future reference.

If I get this working can I get your app for free for improving your sales :-P

(Note: I'm joking. I'm an engineer.)
[Sprint Samsung Galaxy S III] mikereidis:
I posted here for ktoonsez AT&T kernel: http://xdaforums.com/showpost.php?p=28515392&postcount=592

His thread has almost 600 posts in 63 hours, LOL.

Had to do a quote/refresh to see the joke comment. Regardless, anyone can email me if they want a test version. (But we need drivers working first.) There's a free app but it's rather basic.

What codeaurora post are you speaking of ? URL ?

Thanks !
[Sprint Samsung Galaxy S III] mikereidis:
And for T-Mobile kernel by Romanbb:

http://xdaforums.com/showthread.php?p=28515963#post28515963

And Verizon by CMTeamEpic:

http://xdaforums.com/showpost.php?p=28519738&postcount=26

Any more and some people might get ticked I'm spamming or something.

If there's a decent kernel available elsewhere, feel free to ask the dev about this and point him to my ktoonsez AT&T kernel post: http://xdaforums.com/showpost.php?p=28515392&postcount=592
[Sprint Samsung Galaxy S III] mikereidis:
ktoonsez PM'd back asking: "...are you saying that the AT&T version has this radio interface?"

And my reply:

Yes. There's even an fmconfig utility, and other FM file(s) in /etc/, etc.

The MSM 8260A and 8960 SOCs have integrated WiFi, Bluetooth, and FM.

The AT&T HTC OneX LTE has the same 8960 SOC and FM works, unofficially. I have one and got it working even without root. In Canada ROGERS has official FM support.

Anyway, if we can just get the radio-iris and radio-iris-transport drivers loaded, we can see if it works. I think it's just a question of if the FM receive antenna pins are connected to the earphones or not.

If we get good RSSI signal strength at least, everything else is software I think.

I built my first 2 Linux kernels in 14 years (LOL) the other night, and posted it and the modules. But I don't have this device and it's not good to ask someone to try a kernel I built, and possibly brick or whatever.

So I (and a whole bunch) REALLY would like to see these modules/drivers built at least to test, by someone who knows what he's doing with kernels, and has the hardware.

Thanks !
[Sprint Samsung Galaxy S III] jrbaker624:
Im REALLY hopeing we can get this to work. That would be awesome
[Sprint Samsung Galaxy S III] mikereidis:
A refresh of testing instructions once we have a kernel with FM drivers:

You could use my app, the free version is here:http://d-h.st/fYv

But the stock AT&T ROM contains the fmconfig binary you should try first. Run this:

su

fmconfig

It will show commands and then a prompt:

fmconfig - FM V4L2 device configuration application

Usage:

<command> <opts..>

enable	Open and initialize FM Radio device

disable	Close FM Radio device

setfreq	<freq >	Set Frequency ex. setfreq 93500

getconfig	Get Current Configuration

seek	<up/down>	Seek <dir> ex. seek up

scan	<up/down>	Scan for list of stations ex. scan up

searchlist	Search a list of stations

quit	Quit application

>

Enter:

enable

and it will try to run /system/etc/init.qcom.fm.sh which will try to do this among other things:

insmod /system/lib/modules/radio-iris-transport.ko

There is an assumption that radio-iris is compiled into the kernel.

After a second or so you will hopefully see a sign of success like this:

>enable

Enabling FM ....

VIDIOC_QUERYCAP returns :0: version: 0

Driver Version(Same as ChipId): 0

qsoc_onpath = fm_qsoc_patches 0 0

init_success:1 after 0 seconds

emphasis	:0

spacing	:2

RDS system	:1

Band	:1

RdsOptions	:17

Cmd Status .... 0

To tune 88.5 MHz for example, enter this:

setfreq 88500

If it works and you have an earphone plugged in you may see updated RDS data like this:

SetFrequency Receiver entry freq = 88500

Cmd Status .... 0

>Pid = 5694

Ptype = 5

PS name HOLLY BY

Pid = 5694

Ptype = 5

PS name WEEZER

Pid = 5694

Ptype = 5

PS name ON LIVE

Pid = 5694

Ptype = 5

PS name 885
[Sprint Samsung Galaxy S III] jrbaker624:
I will try it out is he building a stock kernal with the loaded drivers? I have the radio apk installed from the i9300 it just FC's right now
[Sprint Samsung Galaxy S III] zaventh:
I have a custom T999 kernel I can build these modules against. You'll have to flash it to use the new radio modules, though.
[Sprint Samsung Galaxy S III] mikereidis:
It's ktoonsez KT747 kernel. He started with the stock kernel source and is making various improvements.

I presume it can be flashed on stock, rooted devices.

The i9300 app can never work. It's written to the Samsung API specifically for Silicon Labs si4709 FM chips.

If you want to try apps besides mine, the one most likely to work is on the Rogers HTC OneX LTE stock ROM. But it likely has HTC specific dependencies.

Besides that, there is a build or 2 out there of the Code Aurora open source FM app, specifically for Qualcomm FM. Older versions of that app are what my app, the CM app and the older MIUI app are all originally derived from, LOL.
[Sprint Samsung Galaxy S III] mikereidis:
That would be great. You have a T999 to run it on too I presume ?

This would work on Canadian SGH-T999V too you think ?

In general, can a kernel built for one carrier work on other carriers ? They have differences in the config files. Perhaps a superset of all features might be universal.

This is my current list of config files and product names:

LTE GS3:

SGH-T999 (T-Mobile d2tmo) (MSM8260a instead of 8960. Same except no LTE on Radio).

SGH-T999V (Canada Wind/Mobilicity/Videotron d2can) - No LTE either.

SGH-I747M (Rogers)

SGH-I747 (AT&T d2att)

m2_att_defconfig

SPH-L710_NA (Sprint d2spr)

m2_spr_defconfig

SGH-I535 (Verizon d2vzw)

m2_vzw_defconfig

SCH-R530 (US Cellular d2usc)

m2_usc_defconfig ?

SC-06D (NTT DoCoMo)

m2_dcm_defconfig

South Korea Telecom ?

m2_skt_defconfig

Engineering variants:

m2_att_eng_defconfig

m2_dcm_eng_defconfig

m2_spr_eng_defconfig

m2_vzw_eng_defconfig

m2_skt_eng_defconfig
[Sprint Samsung Galaxy S III] zaventh:
Yes, I have a T999. They should be very similar, but a given kernel won't work on a different variant out of the box. I know the I747 requires a tiny tweak in the actual code beyond the config options. It is possible the FM radio modules could be portable from one kernel to the next, though, but it will just have to be tested.

-edit-

Just tested, fmconfig still won't enable. Trying something else.
[Sprint Samsung Galaxy S III] kinwolf:
Didn't have time to try custom kernel yet, it's the music summer festival here and it's eating all my free time :-P
[Sprint Samsung Galaxy S III] Canoe Head:
I assume that this (fmconfig failure) was with the radio-iris and radio-iris-transport modules loaded.

Note that kernel radio drivers also lists a radio-tavarua module as a "I2C controlled qualcomm fm radio".

Worth a try since no one has knowledge whether NA models use fm from external bcm4334 or msm8x60 for sgs3.

No sign of service manual for any S3 except for the i9300.
[Sprint Samsung Galaxy S III] jnadke:
There was a dissasembly of a T-Mobile unit on page 2.

Qualcomm says this about the 8960:

http://www.qualcomm.com/media/relea...ghly-integrated-connectivity-solution-superio

Which is interesting since the EVO LTE is the only other known 8960 that has FM radio, but it uses the WCN8660 chip.

http://www.techrepublic.com/blog/cr...s-differences-similarities-with-htc-one-x/646
[Sprint Samsung Galaxy S III] Canoe Head:
Point I was making was NA S3 has two fm radios.

Yes SOC can support wifi bt fm.

Same is true for the external bcm4334.

Stock i747m has files for the bcm4334

Anandtech.com. has s3 review between att and tmobile also stating bcm4334. (Also false statement all 5 na s3 use msm8960 soc, as some t999 reported to use non lte soc variant)

Http://www.anandtech.com/show/6022/samsung-galaxy-s-iii-review-att-and-tmobile-usa-variants/8#wifi