[Q] Bluetooth and Cars - Omni Q&A

There are some very old threads about this - but this is now, pretty certainly, a general stock android 4.3/4 problem with "older" car hands-free systems. My kit is a Galaxy Note with OmniROM right up to date. My car is an Opel/Vauxhall Zaphira with a Navi 900 onboard computer. However there are threads on many android forums complaining of the same symptoms for "pure" stock 4.3/4 devices (e.g. the Nexus range, including the Samsung Galaxy Nexus) and a variety of cars, and all describing the same workaround (and a few lamenting that Google haven't been very responsive in addressing the problem). The symptoms and workaround are:
The car recognizes and "partially" pairs with the phone
However, the contacts list and call lists are empty and the phone cannot be controlled from the car, neither for incoming calls nor for outgoing calls (dialing from the car interface always gives a failed message, while trying to receive or hangup from the interface just plain fails).
Calls using the phone work, and show up on the car interface, always as "Unknown" (not surprisingly - it doesn't have the contacts list)
HOWEVER if, after this "partial" pairing up, I make a 30-45 second call using just the phone itself, then, after the call has terminated, contacts and call lists are properly available through the car interface and the phone can be fully controlled from that interface (and, of course, the FIRST time this happens, I get the notification on the phone telling me the car wants this information, which, of course, I confirm)
A workaround like that can be scripted with something like "Tasker" and using, say, my voice mail number (with my provider here in France, plain fake number calls don't stay online long enough for the above to work).
But does ANYONE have any idea where to start looking for the root cause and possible solutions, or have any theories on those points?
EDIT:
Just to be clear - the workaround "make a call from the phone" trick has to be done every time the phone and car reconnect, not just the first time.

Had this happen in my ford the other day and it's sync system.
The fix for me was a not so visible notification upon establishing the Bluetooth pairing in the notification tray asking if I wanted to allow for my phonebook to be downloaded. Clicked yes and everything set up as normal.

Mgd_toronto said:
Had this happen in my ford the other day and it's sync system.
The fix for me was a not so visible notification upon establishing the Bluetooth pairing in the notification tray asking if I wanted to allow for my phonebook to be downloaded. Clicked yes and everything set up as normal.
Click to expand...
Click to collapse
I got that notification AFTER I had done the "make a call from the phone" trick, not before.
I should also point out that the "make a call from the phone" trick has to be done every time I want to reconnect to the phone to the car (while the notification only appeared the first time I did the trick - because subsequently the phone and the car "trust" each other).

Aside from maybe unpairing and trying to set it up again which I am certain something you've probably already tried; have you checked the cars firmware?
Could also try resetting your Vauxhall's system as well in case there is a gremlin in there causing a hang up with the sync.
Again with Fords sync I have had to do it a few times over the years when the systems been misbehaving with the Bluetooth and it fixed it.

Mgd_toronto said:
Aside from maybe unpairing and trying to set it up again which I am certain something you've probably already tried; have you checked the cars firmware?
Could also try resetting your Vauxhall's system as well in case there is a gremlin in there causing a hang up with the sync.
Again with Fords sync I have had to do it a few times over the years when the systems been misbehaving with the Bluetooth and it fixed it.
Click to expand...
Click to collapse
Indeed I did the resets. And yes, possibly, an upgrade of firmware MIGHT fix it, but these problems don't occur with Android 4.1.n (or, I, believe 4.2.n).
I've logged a bug with the OminROM developers, but would like some pointers so I myself can start looking at solutions and fixes.

Hmm... Unfortunately I don't know who to assign that JIRA bug to.
Problem is - none of us own vehicle headunits that we can reproduce/test this problem on. I used to have a Sony MEX-BT2500 (technically I still do...) but since I sold my old convertible it just sits and collects dust.

I would agree that this will be a difficult one to find. It reminds me of working with 802.11b/g with it's dozens of "pre-draft" variants that just didn't interoperate properly.
If you wanted to dig into this yourself, the first place I'd look is https://github.com/omnirom/android_external_bluetooth_bluedroid and its upstream and parallel variants. That is the code that generally handles the upper-level Bluetooth management functions.
Edit -- Also worth looking at https://source.android.com/devices/bluetooth.html if you want an overview of how Android implements Bluetooth.
The comments on commits there might also be worth reading through. For example
https://github.com/omnirom/android_...mmit/73ce8ab2ddd30cab6499d0062c46b3a16f9130a9
Fact is however, that the use of SDP features value for peer_features
is new since Android 4.2 and breaks existing good behavior on a BMW
2005/E46 car kit (navi professional). This kit never asks for AT+CHLD
and never via AT commands suggests it supports 3WAY (although it seems
to have the flag set via SDP).​
Not the same issue, but there might be clues of that nature in the commit messages.

Related

Looking for a specific program/piece of code

Hi,
I am currently looking for a piece of software that will do a specific job, or possibly a better solution to what I am trying to do. Let me give you a little bit of background...
I have got an O2 XDA Mini S, and a Parrot hands-free kit that does not support the A2DP bluetooth profile (only the handsfree profile). I am currently using TomTom 6 on my XDA with a bluetooth GPS unit. Everything works really nicely together, except I cannot get instructions from TomTom through my parrot (which is ultimately my goal).
The only way I can see of getting the TT instructions through my Parrot is to make use of the programs floating about that allow you to turn on and off redirection of sound through bluetooth. The idea I had was that if there was a program about (or maybe even write something myself) that would be able to signal when the sound coming out of the XDA exceeded and then dropped back below a threshold level, and then somehow link that into the bluetooth redirection programs, I could basically have any sound that is produced go through the Parrot only when they occur (including obviously the TT instructions).
Does anybody have any ideas on this? Any help would be greatly appreciated.
Thanks.
Point UI, a UI wrapper, has a feature similar to what you're describing. It's used just to save battery power by turning on BT only when an incoming call is detected, and then killing BT after the call is ended. I don't know if it's open source, but you might want to head over to their forums and see if you can find out how they did it.
You probably also want to haunt any TomTom forum sites (if any even exist).
As a final option, look into Mortscripts. People have done amazing tricks with Mortscripts, and this might be just the ticket. Mort haunts these boards, and may pipe in with an "I can (or cannot) do that with Mortscript" too...
I have a question, though. What's wrong with using the Wizard's built-in speakers for getting directions?
Myrddin Wyllt said:
I have a question, though. What's wrong with using the Wizard's built-in speakers for getting directions?
Click to expand...
Click to collapse
To be honest, it's not too bad through the speakers although if I have my radio on which I usually do, sometimes it can be a little bit hard to hear, and it would be nice to just have the radio mute while it gives me the directions.
It's more of a "want" than a "need" really.
Thanks very much for the info
Myrddin Wyllt said:
Point UI, a UI wrapper, has a feature similar to what you're describing. It's used just to save battery power by turning on BT only when an incoming call is detected, and then killing BT after the call is ended. I don't know if it's open source, but you might want to head over to their forums and see if you can find out how they did it.
Click to expand...
Click to collapse
It is quite easy for programs to detect when you're in a call - MortScript, I presume, probably can detect that quite easily as it's an overall Windows feature and will probably have a readily available part in the API.
The problem is not with turning the bluetooth on and off, it's actually detecting when TomTom is giving an instruction. To be honest I think I'll look into MortScript and if that can't do it then I'll probably just give up.
Detecting phone calls isn't that easy, and it's especially not easy to make a check in a simple procedural script language like MortScript (up to WM5, there's no way to check whether a call is active, you have to monitor all the time if a call is accepted or hung up).
Detecting sound output of another application is entirely impossible - at least for most applications. If the app opens the output channel only during output (which most don't because it takes valuable time and causes ugly "click" noises on some devices), one could maybe query the number of free output channels - but that would need a CPU hog monitoring all the time, or half of the message would be over until it's detected.
And even if that would work, there's simply no way to redirect output to a BT headset (except with A2DP). At least on most devices. Once there was a simple way to do that (you just had to open a virtual port, and as long as it's open, everything was redirected similar to the A2DP way nowadays), but most manufacturers didn't implement it, and nowadays it seems like no modern device supports it anymore. (Had it for test purposes in a MortPlayer beta, no user reported it works...)
So, to put it short: Currently it's impossble. Maybe WM8 might change that... (Few hope for WM7, it's proposed to have the same kernel as WM5 and WM6.x)

nissan bluetooth handsfree woes

ever since my G1 updated from 1.1 to 1.5, it has not been compatible with my nissan handsfree bluetooth system. i waited until another update, and now that i have my nexus one and it still doesn't work, i'm a little disappointed.
i am able to pair my phone to the car, but when i make or receive a call the car speakers shut off (as they should) but the audio comes out of the phone. i don't even know about whether or not the other people can hear me.
is this a known android issue? it may even be a nissan issue, but i'm sure it can be fixed within android (seeing as how my g1 used to do this). i'm 99% sure there's no easy way to update the nissan bluetooth firmware to help this.
anyone experiencing the same thing and is there some fix out there or some effort?
Well, I don't have a android device or nissan hands-free, but I do use a Touch Pro 2 with my sync equipped ford. Anyway, I had a very similar issue, and I had to go into the bluetooth manager and change a setting that had it default to audio over the hands-free device, rather than some other thing... It has worked great ever since then. Oh, I also learned that I had to answer the call using only the car's answer buttons otherwise if I hit answer on the device it would again send the audio only to the phone's speakers. Of course that seems logical, but my phone prior to that would allow me to answer and speak through the hands-free with either method of answering the phone.
At least it's something to look into.
Also, the phone I had before the TP2 required that I update my sync software before it would work. However, it wouldn't even pair before the update, so I don't think that's your issue. I don't know what the procedure is for updating your nissan firmware, but sync simply involves downloading a system version checker to a usb drive, plugging it into the car, return to computer and download available updates, and then return to car to install updates. I would guess nissan would have a similar method?
I realize we're dealing with two completely different systems here, but I figured I would chime in anyway since I had a very similar situation.
My Acura handsfree works like a charm. Perhaps you have too many contacts that are syncing?
awee man... I was hoping that there were no nissan/infiniti bt issues w/ this phone
I'll find out Saturday when I finally pick it up from the fedex place
rossiscatch said:
Well, I don't have a android device or nissan hands-free, but I do use a Touch Pro 2 with my sync equipped ford. Anyway, I had a very similar issue, and I had to go into the bluetooth manager and change a setting that had it default to audio over the hands-free device, rather than some other thing... It has worked great ever since then. Oh, I also learned that I had to answer the call using only the car's answer buttons otherwise if I hit answer on the device it would again send the audio only to the phone's speakers. Of course that seems logical, but my phone prior to that would allow me to answer and speak through the hands-free with either method of answering the phone.
At least it's something to look into.
Also, the phone I had before the TP2 required that I update my sync software before it would work. However, it wouldn't even pair before the update, so I don't think that's your issue. I don't know what the procedure is for updating your nissan firmware, but sync simply involves downloading a system version checker to a usb drive, plugging it into the car, return to computer and download available updates, and then return to car to install updates. I would guess nissan would have a similar method?
I realize we're dealing with two completely different systems here, but I figured I would chime in anyway since I had a very similar situation.
Click to expand...
Click to collapse
haha yeah, i don't have a "bluetooth settings manager" on my car, and i don't think i can update the firmware...which is ridiculous.
also, to the acura guy, my contacts aren't even syncing
niiiick said:
ever since my G1 updated from 1.1 to 1.5, it has not been compatible with my nissan handsfree bluetooth system. i waited until another update, and now that i have my nexus one and it still doesn't work, i'm a little disappointed.
i am able to pair my phone to the car, but when i make or receive a call the car speakers shut off (as they should) but the audio comes out of the phone. i don't even know about whether or not the other people can hear me.
is this a known android issue? it may even be a nissan issue, but i'm sure it can be fixed within android (seeing as how my g1 used to do this). i'm 99% sure there's no easy way to update the nissan bluetooth firmware to help this.
anyone experiencing the same thing and is there some fix out there or some effort?
Click to expand...
Click to collapse
I also just got an N1 and my Nissan handsfee bluetooth lets me voice-dial but the call doesn't get routed through the handsfree system. I have to take the phone out of my pocket and activate the speakerphone. Any solution would be much appreciated.
I don't have teh same system. Like the previous poster I use the N1 with my Ford Sync. If a call is initiated from the phone it starts out in "private" mode using my phone's speakers. If initiated from the car it uses the car's sound system. There's also an option in there allowing you to choose the default sound output of calls. I have the latest firmware installed.
That actually makes sense.. my previous phone always used the speakers which was a bit of a shock sometimes when I was sat in a car park wanting to make a quick call. Clearly it still has some rough edges on some cars.

Using Ford Sync with MyTouch 4G Genius Button

A friend of mine has been nursing an old BlackBerry 8700G for many years now. Last week he decided to put it out to pasture and picked up a MyTouch 4G (due, in part, to my glowing review of the device).
He's not happy.
Some of his issues are the usual complaints which can be handled with a quick tutorial and a few tweaks here and there.
The real problem, though, is integration with Microsoft Sync in his 2009 Ford Escape.
The aged BlackBerry worked pretty much as expected with Sync but the MT4G does not. Making and receiving phone calls seems to work just fine but the SMS messaging features of Sync do not appear to be compatible with the MT4G.
This shouldn't matter, though, right? The "Genius Button" lets you send and receive SMS messages via voice control. Unfortunately, while he and I had both assumed that the Sync system would let him access all of the voice control features of the Genius Button (including full voice-control of SMS messages), we were mistaken. Sync doesn't seem to provide any mechanism for triggering a phone's built-in voice recognition system, thereby rendering the Genius Button features completely useless.
Now, I've never used Sync myself so I'm holding out hope that there is some kind of trick or software update that will get his setup working the way he wants it to work. Anybody know something about this that I don't or is he pretty much screwed?
Shouldn't have bought a Ford...
Sorry had to say it
I have SYNC in my 2010 Mustang, and to my knowledge it doesn't have the ability to forward a call button command to the phone like most Bluetooth headsets do. SYNC is more of a "command center" rather than a glorified BT headset in a car stereo, so it pulls in data and info from a variety of sources and you use the voice and button commands to access and control it. You would likely have to tell the car "Bluetooth Streaming" and have the phone playback information for you (unfortunately, the microphone won't forward anything so the handsfree profile will just tie that up).
If he's really, totally, and COMPLETELY hung up on that and still wants Android, I've read on the SYNC forums that the DROID, DROID 2, and DROID X all support SMS transmission through SYNC, including reading and replying. Of course, this might be mitigated by Gingerbread since it's supposed to be getting a new BT stack from what I've read. You know, or not.
Please post questions in the Q&A section.
Question, do they actually have Sync working correctly with their devices? I have a MT4G and am trying to sync with my 2010 Ford F-150. The phone book starts to download and then quits half way through and then the bluetooth causes the phone to freeze up and gets completely screwy. My Vibrant and HD7 do great....the MT4G not so much.
cmerrifield said:
Question, do they actually have Sync working correctly with their devices? I have a MT4G and am trying to sync with my 2010 Ford F-150. The phone book starts to download and then quits half way through and then the bluetooth causes the phone to freeze up and gets completely screwy. My Vibrant and HD7 do great....the MT4G not so much.
Click to expand...
Click to collapse
Mine works fine. My G2 would act strange with my Mustang until I figured out I had to disable WiFi before getting in the car. I'm not sure if it's just WiFi, or the WiFi calling app hanging or resetting the radio, but after doing that my SYNC system would download the phonebook and stay connected the whole time. My mT4G doesn't require this.
Edit: Just thought of this, but I'm using WiFi N at 5GHz at home now with the mT4G, whereas I was on 2.4GHz with my G2 and had the issues. Normally you get different radios for different frequencies, so I wonder if that's the case here.

Problems with Bluetooth car kit? Try this

Ever since I got the EB13, and subsequently, the EC05 update to Froyo, Bluetooth has been consistently crashing when I connect to my Jetta TDI's car kit. After lots of frustration, I began to investigate, using aLogCat, and found out the following.
My TDI's Bluetooth interface supports phonebook transfers. The car's interface, however, does not. Still, when I first pair the device, I receive a request to allow the phonebook to transfer, which of course I accepted. I thought nothing of this, as this already happened in DI18, without any problems. However, as of EB13, after I *end* a phonecall, I'll get the triple-buzz, and the BT stack will crash. I have to shut off the BT radio (which takes about 1 minute, as it sits there trying to shut down) and then re-enable and reconnect.
After running aLogCat, I found, pre-crash, that EVERY time I got in my car, the phone attempts to transfer the *entire* phonebook. Every single time I get in. This seems rather unnecessary, and slow, as each entry takes about 0.5 to 0.75 seconds to sync. For hundreds of contacts, my phone is sitting there for what could be an hour or more, syncing. It makes sense, then, that after I hang up on a bluetooth-enabled call, which likely got in the way of the transfer, that a buggy BT stack implementation crashes when it tries to resume. I confirmed this with aLogCat, seeing "ihup() call received!" entries showing up every second or so, after the stack crash. So, I decided to experiment.
I unpaired my car's BT system, and re-paired. This time, instead of accepting the phonebook authorization (which I can't use anyway in my 2009 TDI), I denied the request. It popped up again, and I denied again. (Now, I just simply ignore it, and it goes away.) The result is that I have *never* lost my BT connectivity to the car after a phonecall since I started doing this. Obviously, Samsung has introduced a bug, but because most people's headsets don't support phonebook functionality, it hasn't shown up.
So, if you're having the "I just ended a call, my phone triple-buzzed, and now my headset has disconnected" problem, remove the pairing, and don't allow phonebook transfer. Hopefully this can be of some help to people.
Thank you! That triple buzz was really starting to get to me (to say nothing of how unsafe it is to fiddle with re-pairing on the highway), and I couldn't even figure out a starting point to troubleshoot. I use a Parrot Mki system that does support phonebook transfer, but I'll try deselecting "Always allow" the next time I'm in the car aster permitting at least one sync.
I could swear that I only started noticing this with the recent Froyo builds, but I wasn't certain enough about it.
Thanks again!

Bluetooth problem

Hello to everyone.
From when i bought it the op8pro has some problem with the bluetooth. Is like if the device can connect to one device only. I have a fossil 5 gen, one fiesta mk8 with android auto and the bluetooth headset but is like if the bluetooth has some problem to connect to two or one devices. For example every time my car doesnt connect to the phone automatically and today when i was to the gym my headset doesnt connect automatically too. My previous note 10 pro was able to connect without any problem... Someone has some problem with the bluetooth? Thanks
I have another problem. Every time that i enter in my car the device is connect to android auto but if i want to play an audio from whatsapp i have to tap a lot of time on the play botton.!!!???why
I see this same issue, I'd say 80-90% of the time (the other 10-20%, it "just works", which is truly odd, given the protocol).
For example, I use some bone-conducting open-air headphones, while cycling (long time road cyclist), and sometimes I want to connect my Garmin Edge 1030, to download a route, when I'm out.
Good luck, even upon returning, I'm often sitting in the garage, trying 20+ times (after shutting my headphones off, even), to try and download my ride-data, for the day. Sometimes it requires rebooting both devices, flushing the Bluetooth app-cache, and the Garmin app-cache, and then it'll work, that's perhaps 40% of the time.
For another 40%, it will NOT connect, what-so-ever, across multiple reboots and app-cache flushes, period (I tend to give up at around the 20+ attempt mark, depending).
The last 20%, it works, perfectly, as you'd expect, and as my OP7 Pro did, I can't recall a single BT connectivity issue, with it, either solo (Garmin) or with headphones concurrently.
I've filed bugs with OP (along with NUMEROUS other radio bugs, like the fact you can't connect to a 5G-mobile signal, if you're connected to a WiFi signal, on the INO2025 model, bug filed, trace-logs submitted, including pointing out log-lines where the radio(s) fail).
Unfortunately, with the Bluetooth issues, it will not repro, if I use the OP debug-mode, which is how they want to receive logs (and how I've submitted many bugs, previously), so I'm at a loss, short of finding a hardware Bluetooth debug module (I used to work on h/w and s/w boundary driver stuff, so I've used a h/w BT debugger before, but not for some years, and have no access to one, currently).
OP seems to just ignore the bugs, at that point, when I can't provide the logs, they pretty much abandon the bug-thread, so I'm not sure how they're going to get some of these resolved (I've noted that the debug-mode seems to introduce some latency, or similar, that prevents repro, no response to that, what-so-ever).
I have reset the radio-stack, a couple of times, and did one full factory-reset (shortly after getting the phone, about 1 month back now), with no real change in results, for reference.
I feel like I'm back in the late-90's, when Bluetooth was super-flaky. on most devices, in the 1.x and 2.x days.
Not exactly a "flagship phone experience", or even a decent budget phone Bluetooth experience, for this day and age...
I'm open to ideas on how to debug further, I'm really more of a storage and display guy, and memory-management, in terms of the bulk of my dev/debug skills, communication protocols were something I did on the fringe, of sorts, when they overlapped, or similar.

Categories

Resources