5

I connected an Android phone to a vehicle via bluetooth to make/receive calls.

Connecting the device via bluetooth was simple. Making calls, however, was a challenge. The vehicle reports that the Android phone is always without cell reception, and therefore will not place calls. Furthermore, the vehicle's head unit (aka receiver) shows a "no reception" indicator for the Android device's cell reception.

Placing calls from the Android device through the vehicle's audio system works as expected. This also shows that the Android device has ample cell reception to make calls.

What techniques or apps can be used to diagnose what is going wrong? Ideally, I would like to see what the Android device is transmitting to the vehicle that is causing the vehicle to think the Android device has no reception. For example, an app that simulates a vehicle's head unit (perhaps with added diagnostics) would be useful.

2
  • 1
    This may help - some problems may be resolved by "resetting* the unit ( by built in means or by disconnecting both battery terminals for a few minutes and then connecting forcing a hard reset). Akin to clearing cache. Even if this doesn't solve the problem, you are ruling out a part of the problem
    – beeshyams
    Commented Oct 31, 2016 at 10:13
  • @beeshyams That can't hurt, and can only help. I'll give it a try. Thanks. Commented Oct 31, 2016 at 21:57

1 Answer 1

3

You can investigate who is guilty, but most probably you will not be able to workaround it. If your phone has Android version 4.4 or later you can collect Bluetooth HCI snoop log.

  1. Enable Android Developer Options
  2. Turn Bluetooth off
  3. In Developer Options enable Bluetooth HCI snoop log
  4. Turn Bluetooth on
  5. Wait till connection with vehicle's head unit be established and try to make a call from head unit.
  6. Disable Bluetooth HCI snoop log in Developer Options. Do not turn off power or reboot the phone till log file be copied or studied.

The log has name btsnoop_hci.log and on different smartphone models it can be stored at different places, for example, /sdcard/btsnoop_hci.log.

This log has a binary format and commonly special software is required to parse and view it. But in your case any binary or hexadecimal file viewer with ASCII strings searching ability can be used (even Windows Notepad, but the log should not be too big in this case). You can view it on phone or copy to PC (directly, or via ADB after enable debugging).

Please keep in mind that this log can contain private data (e.g. phone book records and SMS) and should not be shared with untrusted people.

Open the log file using file viewer and serch for the string +CIND: You can find two form of strings like the following:

+CIND:("service",(0,1)),("call",(0,1)),("callsetup",(0-3)),("callheld",(0-2)),("signal",(0-5)),("roam",(0,1)),("battchg",(0-5))

and

+CIND:1,0,0,0,5,0,5

The first one provided by request and contain a list of indicators the phone can report with possible value ranges. Please pay attention to indicators order, a number of place in the list is used to report individual indicator states. In this case "service" has a number 1, "call" number 2 etc.

The second string is also provided by request and contains current indicators state.

Now you need to find all +CIEV: strings. The phone use them to report individual indicator states by its own initiative. They have the format

+CIEV:INDICATOR_NUMBER,INDICATOR_VALUE

For my +CIND: example, string +CIEV:7,4 means battery charge value is 4 of 5 and +CIEV:1,0 means no service. Finding all values related to service, signal and roaming you can be sure if the phone reports them correctly or not.

Possibly, the head unit attempts to dial, so also try to find strings ATD (followed by dialed phone number) and ATD> (followed by an index in the phone memory). In such case you will see the phone answer ERROR or +CME ERROR:30 just below it.

UPD: BTW if such behavior is observed with the only SIM-card in a phone with two or three SIM-card slots, try to put the card into another slot.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .