Hey guys,
I was just thinking about that nasty little problem with cyanogenmod and our legends and since there was no meaningfull advencment, we could put some money on it. I think from 5 to 10€ for each doner would be enough or what do you think? Of course the developer has to give us an account to send the money to.
I would just like to use the FM radio and since it is working on desire for some time now, why not on legend.
So who is ready to do it?
would support that idea.
It is already stated waaaaaaaaaaayyyy before. The FM radio WILL NOT WORK on the Legend because of it's alien architecture. Don't ask me, I don't know ****. But if you're do want to make a donation then you can donate to Ali Ba which has been the sole reason CM is running on the Legend.
This is a good idea.
Sent from my Legend using XDA App
rajasyaitan said:
It is already stated waaaaaaaaaaayyyy before. The FM radio WILL NOT WORK on the Legend because of it's alien architecture. Don't ask me, I don't know ****. But if you're do want to make a donation then you can donate to Ali Ba which has been the sole reason CM is running on the Legend.
Click to expand...
Click to collapse
here on this link http://forum.cyanogenmod.com/topic/8260-fm-radio-support-for-legend/ ale baba himself says it is possible but that he hasn't got the time for it. So it is possible we just need someone who will do it. But first of all we need more people.
I'd consider doing development on this. I was wondering why there was no FM Radio app on CM7, LOL.
At the very least I can commit to finding all the info I can gather on this issue. I have no (satisfactory) employment at present and want to break into the Android specific field.
I have 14 years experience in embedded Linux development, including lots of low level kernel stuff. In a previous life (more decades ago than I dare admit) I did electronics engineering stuff, and I still love the low level nuts and bolts.
I'm pretty new to Android however, got my first cellphone (ever!) 17 days ago, first Android phone 15 days ago, and my Legend yesterday.
I think I can learn quick, I'm CM7 nightly, S-Off, new radio one day after getting it, LOL.
So my point is I, and this project, could use help in areas of Android specific knowledge.
Does anyone know if the normal FM radio app I've used before is proprietary Google code ?
Are there any generic FM radio apps that would work if standard drivers existed ?
My quick research on this is that only a driver might be needed. A V4L (video 4 linux) driver, which I have already had some experience with.
But there DOES seem to be a V4L driver already for Linux for the TI WL1273 chip apparently used in the Legend, and apparently a number of other phones. So in theory, this job might be as easy as integrating an already written driver in to the CM kernel, as a kernel module or 2. There MIGHT be some copyright issues with any chip firmware though.
Alas, some comments indicate using such a driver might interfere with Bluetooth functionality.
Interesting stuff about the 1273 chip is that it may support an FM transmitter, and it supposedly supports WiFi N. But who knows if needed hardware support might not be on the PCBs.
^ wow! where have you been all our android lives, bro? link on the post above yours answers some, if not of all, of your questions & covers a lot, i guess. cheers!
maxq1 said:
^ wow! where have you been all our android lives, bro? link on the post above yours answers some, if not of all, of your questions & covers a lot, i guess. cheers!
Click to expand...
Click to collapse
Cheers...
I've been reading that there IS an FM Radio app integrated into CM now. It comes from MIUI, a chinese group of some sort that also makes an Android ROM.
The app apparently uses /dev/radio* which is the standard V4L radio interface. I have these also on my Hauuppage PVR boards I used for HTPC before I went completely digital for movies, tv, etc.
So yes, what we need is integration of a driver into CM kernel, but coding may be needed to fix bluetooth driver interference etc. And of course who knows what else might be needed.
I'm reading that FM is much more important to those without data to stream. Not all of us live in wireless data dense cities and countries.
Would be interesting to see what frequency range can be received and maybe transmitted.
Would be MOST cool to stream from video camera to transmitter for local "pirate TV" type functionality, LOL. Actually can't imagine ATSC or even NTSC (or PAL etc.) encoding possible, but wireless streaming will do the job...
@mikereidis
Thanks for joining in, great highly appreciated. If there is any time left it would be nice if you could look into the GPS problem with CM 7 it is currently not addressed.
Anyhow thanks for your participation and contribution.
BR, ojessie
@mikereidis
So are you going to try and port it?? If you will and you'll succeded then you will be the legend in Legend community!
Sent from my Legend using XDA App
ojessie said:
@mikereidis
Thanks for joining in, great highly appreciated. If there is any time left it would be nice if you could look into the GPS problem with CM 7 it is currently not addressed.
Anyhow thanks for your participation and contribution.
BR, ojessie
Click to expand...
Click to collapse
I can keep my eyes and ears open to GPS, but best to concentrate on one issue at a time.
What is the GPS issue ? I thought it didn't work on my phone after new ROM but within a few hours it was working OK for whatever reason. And now I see 2 metre accuracy compared to the minimum of 5 on my Optimus Chic.
qzem said:
@mikereidis
So are you going to try and port it??
Click to expand...
Click to collapse
I'll do whatever it takes.
The userspace FM Radio app shouldn't need any porting work AFAIK. It seems to already be in CM 6.1 ROMs for the Nexus One (any others?). So I'd guess installation would just need to be enabled for other phones.
The tricky part is getting a device driver working that creates a /dev/radio interface for the MUIU FM radio app to use. There IS already a Linux driver for the WL 1273 the Legend uses, but it might need some modifications to run on the Legend.
But there is some complicating factor regarding bluetooth drivers, so it may not be too straight forward. For initial testing at least the bluetooth drivers could be disabled.
What about HTC's kernel source. As I told in cyanogenmod forum the drivers should already be in HTC's kernel source. If the code is there it should be easy to put it into CM7 kernel and use HTC's FM Radio app. Or what do you think?
mikereidis said:
I can keep my eyes and ears open to GPS, but best to concentrate on one issue at a time.
What is the GPS issue ? I thought it didn't work on my phone after new ROM but within a few hours it was working OK for whatever reason. And now I see 2 metre accuracy compared to the minimum of 5 on my Optimus Chic.
Click to expand...
Click to collapse
Yeh, thats the problem. GPS is working on some devices and on others not and nobody knows why. As a matter of fact when I'm running CM 6.1 its working great. Flashing CM 7 no change to get it working. As mentioned others are reporting the same issue with CM 7 on some its working on others not.
ojessie said:
Yeh, thats the problem. GPS is working on some devices and on others not and nobody knows why. As a matter of fact when I'm running CM 6.1 its working great. Flashing CM 7 no change to get it working. As mentioned others are reporting the same issue with CM 7 on some its working on others not.
Click to expand...
Click to collapse
When I get tired of Google maps seeming to take forever to figure out my GPS location, I've downloaded and run the "GPS Test" and "GPS Status" apps. I did so and for some time the status color on one of those showed yellow, meaning no GPS fix, but power on.
Anyway sometime later it was working. One of those apps downloaded data to make cold starts work faster and that may have helped. A few things to try for anyone interested anyway.
ponchofiesta said:
What about HTC's kernel source. As I told in cyanogenmod forum the drivers should already be in HTC's kernel source. If the code is there it should be easy to put it into CM7 kernel and use HTC's FM Radio app. Or what do you think?
Click to expand...
Click to collapse
The problem with running the HTC FM radio app on CM is that it, like many other HTC apps, uses the HTC framework with Sense UI. So CM can't run it, although stock or modded Sense ROMs should be able to.
IMO right now the MIUI app is the way to go, and it's open source so anyone can modify/fork it.
Yeah I think a /dev/radio is likely in HTC source, but it's possible it's something different and/or kind of proprietary.
The Chip manufacturer, TI, and their partners who make RF modules based on the chips, DO have android /dev/radio drivers. So they are definitely out there somewhere.
I think, as usual that "In Theory" this should be a simple matter, in reality there is usually some problems to solve. Otherwise we'd have FM already in CM.
A few pointers:
TI 1273 has a few interfaces for communication. One of them being a (standard) serial via bluetooth, the other one I2C.
HTC did not use I2C because they already had to use the serial interface for bluetooth and it's a lot cheaper that way (that's what all manufacturers do, by the way). The wl1273 driver in the Linux kernel does have support for the FM capabilities, but unfortunately via I2C only.
So basically we already have all the drivers we need in place (tiwlan_drv, sdio), no kernel stuff needed. What's missing is valid documentation about how to enable radio, route it to the headphones, seek/tune, etc.
You could reverse engineer /system/bin/btipsd, which does bluetooth and FM communication in original HTC releases.
Once you are able to control FM stuff (with bluetooth turned on) write a nice summary and I'll ask cyanogen how to implement it. Won't be that hard, given the fact that currently all supported devices use the serial interface via bluetooth.
ali ba said:
The wl1273 driver in the Linux kernel does have support for the FM capabilities, but unfortunately via I2C only.
So basically we already have all the drivers we need in place (tiwlan_drv, sdio), no kernel stuff needed. What's missing is valid documentation about how to enable radio, route it to the headphones, seek/tune, etc.
You could reverse engineer /system/bin/btipsd, which does bluetooth and FM communication in original HTC releases.
Click to expand...
Click to collapse
Thanks ali ba ! Yes I know about cheap manus, I've worked for a few, LOL. Linux VOIP and security appliances mostly though.
By "The wl1273 driver in the Linux kernel" do you mean the TI provided W1273 driver in the CM7 ROM ? I had thought that driver was for WiFi only, or perhaps WiFi + Bluethooth. Or does my seeing an rfkill device mean FM radio is in there too ? Would it create a /dev/radio device ? There are some FM init BTS files that may enable FM.
My understanding is that the WL1273 WiFi driver in the mainline Linux kernel (not the Android kernel) is WiFi only. There's a guy from Nokia trying to get WL1273 FM radio only driver into main Linux kernel but not there yet. That driver will be separate from WiFi driver even though they may both have WL1273 in the name.
I've been finding some HCI commands usable with hcitool to do audio routing stuff at least. RevEng has been a specialty of mine, so I think if it can be done, I have a good chance.
Quickest route to a working FM radio on Legend is to find an existing app for another phone that works.
Phones with the WL1271/1273/1281/1283 chips include original Moto Droid, Droid 2, Droid X, Motorai, Nokia N800 (or N900?), N8 (?), B&N Nook Color.
There's a thread here on XDA about Droid 2 phones using the Droid X FM radio app with success. I tried that app but there seems to be some problem launching the fmradioserver.
I saw a logcat message that may indicate I need to "adb install" the APKs instead of just copying them to /system/app. I tried but got the error that indicates the UID does not match the signature. I guess that's not an issue on Droid 2 (or motorola phones in general?)
Does anyone know if/how to mod/repack an APK to avoid the UID signature issue ?
A few more of my findings for anyone interested. BTW should I or someone create a thread in the dev section at this point ?
As mentioned above a guy from Nokia is trying to get a V4L2/dev/radio driver for WL1273 into mainline Linux kernel. That driver could be integrated into our kernel, but it might take a bit of work. And as mentioned that driver is not in kernel yet and may have lots of changes still coming in the next several months at least.
But TI also has a driver, and it's meant for Android. I haven't been able to grab source code for that driver yet. I think TI driver references WL1283, the biggest baddest version with GPS too. But driver is supposed to work on all 4 variants, down to WL1271.
TI has a command line app for testing fm radio, I think called fmapp if memory serves. It's possible this test app could at least help with exploration.
Unlike the poor original Droid owners, we are lucky that we know our FM receive antenna is connected, since stock Legend has FM radio. But there seems to be a different pin for FM transmit so it's possible we will never be able to transmit FM more than a few inches. But Tx would just be a bonus, but a potentially wonderful bonus.
And, ya know, I'm not even sure if MIUI FM app works with /dev/radio. I was looking at some source and it seems to be hardcoded with Broadcom chip specific stuff.
Oh, and my understanding is that even if we ever managed to get Wireless N working (with a new or improved stack perhaps?), that it will likely kill batteries quickly enough to be effectively unusable. Would be interesting though.
Hi,
I am student from the Ruhr-university of Bochum, Germany, and I am working on my master thesis which is dealing with anti spoofing techniques for GPS. I already recognized, that I need to modify the Android GPS subsystem in order to be able to go on with my work as planned. So, I need more information about the GPS modules in the android devices (better: detailed information about one particular module). My aim is to get more GPS properties from the module than currently is given to the Android OS. In fact, I need to get information about the gps signals, like phase, signal strength, etc.
Can anybody help me with this? Where can I find information about any GPS module or is there any known project or hack which is able to get the signal properties?
best regards,
Tordred
I Think you are looking for this:
http://developer.android.com/guide/topics/location/strategies.html
http://developer.android.com/reference/android/location/LocationManager.html
http://developer.android.com/reference/android/location/GpsStatus.html
http://developer.android.com/reference/android/location/GpsSatellite.html
No, sorry. I am not looking for location related stuff. It is not the location I am interested in, it is the GPS signal itself. And this stuff is not supported by the original android implementation.
You can only get as much info as the GPS module is putting out.
The two protocols are NMEA-0183 and SiRF Binary protocol (if applicable).
Renate NST said:
You can only get as much info as the GPS module is putting out.
The two protocols are NMEA-0183 and SiRF Binary protocol (if applicable).
Click to expand...
Click to collapse
Thanks for your answer, I just took a deeper look on the SiRF protocol and it seems to be possible to get the data I need with this protocol. I saw that the Galaxy S2 has built in the SiRFStar IV chip. Does anybody know something about this chip? Is it a "uncut" chip in the Galaxy S2 and is it perhaps possible to "talk" to it using the protocol?
I don't do much with SiRF Binary; on a PC I use it to select the WAAS satellite.
Give it a try, just switch out of NMEA-0183 using the $PSRF100,0 message.
Renate NST said:
I don't do much with SiRF Binary; on a PC I use it to select the WAAS satellite.
Give it a try, just switch out of NMEA-0183 using the $PSRF100,0 message.
Click to expand...
Click to collapse
Now I have a Galaxy Nexus, which has also built in the sirfstarIV gps chip. I am trying to switch out of NMEA, but I am not very familiar with linux ans serial ports. I am trying to send the switch message via terminal to the gps chip, but it seems not be successful.
I already know, that the serial port is the ttyO0, as mentioned in the sirfgps.conf file. I tried to configure it with "setserial" and "stty" and I tried to send a message with "echo", but there is no response.
Can somebody explain to me how I use the serial port correctly?
First try to get the NMEA-0183 working.
The default spec baud is 4800.
You should be able to connect to the GPS chip and without issuing any commands receive NMEA sentences.
Hmm. For built-in chips you have to probably power it up somehow.
It seems the ttyO0 is not the serial port of the gps chip but the serial port of the kernel... I am getting an output using the microcom command, but I can not read it. I tried several baud rates, but it is always unreadable.
Sound like a cool project, but we cannot help you unless you specify exactly what device/model you are using. Its a Nexus I9250 or SGS2 I9100 ??? Is it branded by some other operator etc? Sometimes the best thing is to open the damn thing and see what's inside. (But the Nexus has been in some tear-downs/take-aparts, google it!)
Also have a look at:
"Accessing uart on Galaxy Nexus i9250"
Then you'll need the Service Manual with the schematics to figure out how the GPS is wired. On the I9100 its wired to the modem (BP/CP) and on the I9250 its wired to both AP and to the MUX... (You've got some reading to do...)
But you should be able to find the correct port from dmesg, logcat and the various *.rc scripts...
I tried to get a i9100 because of the sirf gps chip, but I got a i9250 with the ICS 4.04 Stock Rom, which has the same chip built in. I rooted the device using the NexusTool and installed busybox on it.
I have already read several threads to get an orientation how to get access to the serial ports and how to deal with the gps chip:
- [MOD/SETTINGS TWEAK] SiRF GPS on SGS2
- [A][SGS2][Serial] How to talk to the Modem with AT commands
- Accessing uart on Galaxy Nexus i9250
- The all-in-one Galaxy S2 Hack Pack
In order to get an output(or some kind of action in the gps chip) I wrote an app, which is trying to get a gps fix in an background service. So my phone is always trying to get a fix. When I now look into the dmesg or logcat output, there is no hint on gps. I read about those .rc scripts, but i can not find them on my device.
In the /vendor/sirfgps.conf I found the lines ...
Code:
UART_DRIVER = /dev/ttyO0
UART_BAUD_RATE = 2
...where 2 stands for 460800 Baud. I tried to connect to this port using the command
Code:
microcom -s 460800 /dev/ttyO0
with a terminal emulator app, but the output was not readable. I tried several other baud rates, but it is always unreadable.
What do you mean with "...the output was not readable.."??
Do you get anything? Can you post it.
If you get "something", then, you're either:
- using the wrong UART port
- the wrong baudrate, parity, stop bit settings etc.
- receiving data in some unknown format, possibly encrypted.
Please, post (on Pastie) your dmesg output (as it appears) immediately after bootup. And possibly a full debug logcat using the "Logcat Extereme" App, when turning on and off GPS.
Also you should not use apps for trying to read this data, as your app runs in VM which doesn't have full root FS access, regardless of SU. You first try getting data from a terminal session either from phone side (adb) or from PC (Realterm etc.) side.
Is this true?
Hello, i'm new here.
I'm wondering is it true that my Galaxy young gps module are :
1. Broadcom BC2075 (AGPS support chip)
2. Broadcom BC4751 (GPS receiver)
i'm using ES file exprorer on my rooted system and find glconfig2075.xml and glconfig4751.xml. in /etc/gps/ system folder. Nothing found in my cheap prerooted with no gps support tablet.
If this is true then there is some relief that it is kinda easy to find what my gps are in situ, rather than look out in the cloud via google.
It's still hazy to me, why is it that the same hardware but a software change from 10 minutes up to 5 seconds to receive satellite. Anywhere.
Android GPS Module
Renate NST said:
I don't do much with SiRF Binary; on a PC I use it to select the WAAS satellite.
Give it a try, just switch out of NMEA-0183 using the $PSRF100,0 message.
Click to expand...
Click to collapse
Hello
My Android phone those not have a GPS module on it and i need to install and GPS TEST
is there any APP that can help or do i need to get another phone am using a Techno W2
I have a new 2017 Subaru Impreza. I am using the latest official Lineage 14.1.
When I pair to the car for the first time Lineage says "Peer supports advanced feature Re-pair from peer to enable it."
The only supported services listed are "Phone Audio", "Media audio", & "Contact sharing"
Next to the connected device it keeps flashing (no phone audio) sporadically. It looks like it is dropping the connection and reconnecting.
My owners manual recommends that the phone support HFP 1.6, PBAP 1.1.1, MAP 1.0, PAN 1.0, DUN 1.1, SPP 1.1, A2DP 1.2, and AVRCP 1.4
The only suggestions I have found online are to delete the connection on the car radio and re-pair it. However, once I delete it on the car radio it removes it from Lineage.
My car radio has a PIN when I first set it to pair, but I never see that prompt on Lineage. I click the Subaru BT that shows up and then I see a prompt from Lineage to pair with a different PIN and then a confirmation on my car radio with that PIN.
It looks like someone posted the same issue on jira.lineageos.org/browse/BUGBASH-264
Thanks in advance for any help,
Etienne66
LineageOS version: 14.1-20170419-NIGHTLY-klte
I pulled out my old Samsung Galaxy S3 running CM11-20150831-SNAPSHOT-XNG3CA03FN-dlte and it paired up fine and the phone worked. I'm going to try and upgrade it to LineageOS 14.1 and see how it does. I guess if it works that might point the direction as something specific to the klte branch, but I have seen bug reports for other phones that are having a similar problem with the phone not working via HFP.
Thanks,
Etienne66
Alright I tried LineageOS 14.1-2017501-NIGHTLY-d2att on my old S3 and although I did get "Peer supports advanced feature Re-pair from peer to enable it.", the phone worked fine. I did not get that message with CM11. So the problem is definitely something to do with the klte build and not just a Lineage OS issue. I'm going to guess that it is a problem with the driver used for Bluetooth and that is why the problem shows up on other devices that probably use the same driver.
Oh... The bugs that seem to be related are BUGBASH-96, BUGBASH-264 & BUGBASH-308.
Thanks,
Etienne66
I found BUGBASH-308 is specifically for klte and mentions a change to /system/etc/init.qcom.bt.sh on the line "setprop ro.bluetooth.hfp.ver 1.7" to "setprop ro.bluetooth.hfp.ver 1.6", but Lineage OS does not appear to have this file.
I'm sure this is the problem with my car because it specifically says in the user manual that it supports up to HFP 1.6.
Does anyone know where Lineage OS moved this setting and how it can be changed?
Thanks,
Etienne66
BUGBASH-308 has been fixed and this problem is gone.
A big thanks goes to Kevin Haggerty
Thanks,
Etienne66