0

i have problem with xiaomi mi a1 and bluetooth radio of ford fiesta car.

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.

with the bt hci log i see that:

when phone connects bt to radio, the phone sends this info:

+CIND: 0,0,1,3,0,4,0

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

when the signal strength on the radio disappears and reset all (zero) the phone send this info:

+CIEV: 3,0 +CIEV: 4,0

3 = service, 0 = no service (previously was 1) 4 = signal, 0 = no signal (previously was 3)

but the phone in realty upgrade the signal strength from 3 to 4!!!!!

5
  • It is strange, it should send +CIEV:4,4. Can you view into logcat? It should contain sendDeviceStateChanged string with five indicator values.
    – hank15
    Oct 30, 2018 at 16:29
  • in the bt hci log i dont' find "sendDeviceStateChanged" string :-( Oct 31, 2018 at 16:04
  • my comment was not about HCI log, it was about Android system log. It can be viewed with Android apps (root is required), for example CatLog or Logcat Extreme or via USB cabel using adb logcat command (require to install drivers and adb to computer) link But this step for diagnostics only, not sure that it can help to fix the problem.
    – hank15
    Nov 1, 2018 at 13:31
  • ok, i use adb command: look here at 13:39:36.899 i read: HeadsetPhoneState: sendDeviceStateChanged. mSer vice=1 mIsSimStateLoaded=false mSignal=0 mRoam=0 mBatteryCharge=4 but on the phone the signal from 4 decreases to 3, not to 0!!! Nov 2, 2018 at 12:59
  • i found this android bug: android-review.googlesource.com/c/platform/packages/apps/… can help me with my problem? Nov 2, 2018 at 13:53

1 Answer 1

0

At first sight the source of the problem in your log is mIsSimStateLoaded=false.
The true value of the service indicator (1, available) is logged, but because of this SIM state equal to false HeadsetService sends 0 (not available) instead of 1.
The true value of the signal indicator is unknown, because of service=0 HeadsetService sends 0 instead of the true signal level indicator (this temporary 0 value is logged, in fact it is not mSignal value).
Possibly Android HeadsetService contains an error with mIsSimStateLoaded flag processing, because it can be cleared on every phone service loss, but set only on ICC_LOADED broadcast. If so it is strange because a lot of Android phones shoud have the similar problem.
Have you tried to reboot the smartphone before connecting to headunit?
Upd: Hmm, this SIM broadcast is sticky, than maybe this is bug by Xiaomi, not Android.

6
  • yes i try the reboot of the phone many times, also safe mode, but the bug stay, damn Nov 2, 2018 at 15:11
  • It's really fun and strange ... but I solved the problem: I put the SIM in slot 2 of the phone ... and now it does not make any more problems, it works perfectly! but I can not use micrsd now Nov 2, 2018 at 15:21
  • Always was curious how these HFP indicators work with two- or three- SIM phones, but have no time to investigate it. Mabe your phone has a choice what SIM card is primary?
    – hank15
    Nov 2, 2018 at 15:28
  • I use a single sim, I do not know how it works with 2 sim, but now I put the sim in the second slot and everything works as before when it was in the first slot Nov 2, 2018 at 15:36
  • The bug is with Android 9, not Xiaomi. The issue is widespread on many Pie devices, including my Nokia 6.1 plus and all Pixel devices, many samsungs, many OP.
    – Fazz1977
    May 3, 2019 at 3:34

You must log in to answer this question.

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