Android 4.1 vs 4.4 & car head unit differencies

View previous topic View next topic Go down

Android 4.1 vs 4.4 & car head unit differencies

Post by Dmytro on Tue Jan 12, 2016 9:26 am

Hello,
Could you explain what is the difference between configurations of the environment and why I get different results?
For all cases I have the same car with BT head unit (handsfree + audio streaming both are enabled)
For all cases the Cyberon app version is the same.
Case1:
1. LG L3 Dual sim Android 4.1 JB (BlueZ BT stack)
2. Cyberon speed dial app.
3. Starting the Cyberon directly everything works like a sharm:
- Radio is muted.
- Head unit display shows beautiful icon with the invitation "Say voice command".
- Beep sound from Cyberon is played out via car speakers.
- Car mic works and after contact name detection display shows "Dialing number/contact ....."

Case2:
1. LG L'Fino Dual sim Android 4.4 KitKat BT4.0 (Bluedroid BT stack?)
2. Cyberon speed dial app.
3. Start of the Cyberon directly leads to nothing on the BT audio connection.
- Head unit continues to play radio.
- Beep sound from Cyberon is played out via phone speaker.
- Only the phone mic could be used for voice dialing.
- After contact name detection car display shows "Dialing number/contact ....." and the radio is muted.

Case3.
1. LG L'Fino Dual sim Android 4.4 KitKat BT4.0 (Bluedroid BT stack?)
2. Cyberon speed dial app. + SoundAbout (configured as suggested to use Cyberon)
3. Start of the SoundAbout Voice recognition
- Cyberon is called in few seconds
- Radio is muted but beep sound is played out via phone speaker!
- Head unit doesn't display any icons or messages. Just shows increment of time of the call.
- After contact name detection car display shows "Dialing number/contact ....." and regular call is being proceeded.

Questions:
1. How to get the perfect behavior like in Case1? (but with my Android 4.4 phone)
2. Is that a BT stack problem? Is it possible to send to the head unit a command meaning "Voice dialing is started" not only establish the correct sound routing. Could that be a part of HFP profile or whatever dedicated in the Android API?

I'm also a programmer but not Android one Smile Low level DSP C/C++ embedded electronics man.
I beleave I can do it myself but I'd better to pay you that money coz you're experienced here in java.
Best regards,
Dmytro.

Dmytro

Posts : 2
Join date : 2016-01-12

View user profile

Back to top Go down

Re: Android 4.1 vs 4.4 & car head unit differencies

Post by SoundAbout on Tue Jan 12, 2016 12:20 pm

In Case 3, is the car microphone used and does the reply come out of the car speakers?

There were a lot of changes to Bluetooth, as you can see in these posts.
In Case 1, Android 4.1, with Blue-Z was using the MAP protocol to communicate with the car radio. When the Bluetooth protocol changed, MAP went away.
Take a look at this:
https://code.google.com/p/android/issues/detail?id=58808&q=bluetooth%20map&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

These threads are probably related as well:
https://code.google.com/p/android/issues/detail?id=71852

http://forums.androidcentral.com/samsung-galaxy-s4/412099-no-sound-phone-calls-after-using-bluetooth.html
avatar
SoundAbout
Admin

Posts : 1492
Join date : 2013-04-26
Location : Boston, MA

View user profile http://soundabout.userboard.net/

Back to top Go down

Re: Android 4.1 vs 4.4 & car head unit differencies

Post by Dmytro on Tue Jan 12, 2016 1:07 pm

Yes. Correct.

What I found out is that voice recognition according to the HFP 1.5 can be started either from handsfree device or from the phone. See the HFP 1.5 documentation, it is easy to find in Google.
Chapters:
4.25.1 Voice Recognition Activation – HF Initiated
4.25.2 Voice Recognition Activation – AG Initiated
Our case is the second one. Phone initiates the voice recognition by "+BVRA: 1" command. My understanding is that it was supperted by BlueZ but isn't by Bluedroid.
I don't nkow if the digged code is correct but Bluedroid has:
case BTA_AG_HF_CMD_BVRA:
           / if feature not supported don't call callback, send ERROR. App will send OK /
           if (!(p_scb->features & BTA_AG_FEAT_VREC))
          {
               event = 0;
               bta_ag_send_error(p_scb, BTA_AG_ERR_OP_NOT_SUPPORTED);
           }
           break;
Bluedroid (Broadcom) says "We support HFP1.5" but ther code says "...not completely".
Awesome downgrading from BlueZ!. Maybe I'm wrong.
In its turn, in the Android API there is a function:
public boolean sendVendorSpecificResultCode (BluetoothDevice device, String command, String arg)
Added in API level 19
Sends a vendor-specific unsolicited result code to the headset.
The actual string to be sent is command + ": " + arg. For example, if command is VENDOR_RESULT_CODE_COMMAND_ANDROID and arg is "0", the string "+ANDROID: 0" will be sent.
I think, what if the phone will send "+BVRA: 1" prior to establishing the sound connection? Will it be HFP compliant scenario?
I you won't, I'll download Adroid SDK and check.
Why I'm so worry about it: My car doesn't have f..n button "start a call" or something like that. I'm able to initiate the voice recognition only from the phone.

Dmytro

Posts : 2
Join date : 2016-01-12

View user profile

Back to top Go down

Re: Android 4.1 vs 4.4 & car head unit differencies

Post by Sponsored content


Sponsored content


Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum