Как диагностировать телефон Android, который не работает должным образом, через автомобильный Bluetooth?

Я подключил телефон Android к автомобилю через bluetooth, чтобы совершать/принимать звонки.

Подключить устройство через bluetooth было просто. Однако звонить было непросто. Автомобиль сообщает, что телефон Android всегда не принимает сотовую связь и поэтому не будет звонить. Кроме того, головное устройство автомобиля (также известное как приемник ) показывает индикатор «нет приема» для сотового приема Android-устройства.

Звонки с устройства Android через аудиосистему автомобиля работают должным образом. Это также показывает, что устройство Android имеет достаточный уровень сотовой связи для совершения звонков.

Какие методы или приложения можно использовать для диагностики того, что идет не так? В идеале я хотел бы видеть, что устройство Android передает на транспортное средство, из-за чего транспортное средство думает, что устройство Android не принимает сигнал. Например, было бы полезно приложение, имитирующее головное устройство автомобиля (возможно, с дополнительной диагностикой).

Это может помочь - некоторые проблемы могут быть решены путем «перезагрузки» устройства (встроенными средствами или отключением обеих клемм аккумулятора на несколько минут, а затем подключением принудительного сброса). Аналогично очистке кеша . Даже если это не помогает. решить проблему, вы исключаете часть проблемы
@beeshyams Это не повредит, а может только помочь. Я попробую. Спасибо.

Ответы (1)

Вы можете выяснить, кто виноват, но, скорее всего, вы не сможете обойти это. Если на вашем телефоне установлена ​​версия Android 4.4 или более поздняя, ​​вы можете собирать журнал отслеживания Bluetooth HCI.

  1. Включить параметры разработчика Android
  2. Выключить Bluetooth
  3. В параметрах разработчика включите журнал отслеживания Bluetooth HCI.
  4. Включите Bluetooth
  5. Дождитесь установления связи с головным устройством автомобиля и попробуйте позвонить с головного устройства.
  6. Отключите журнал отслеживания Bluetooth HCI в параметрах разработчика. Не выключайте питание и не перезагружайте телефон до тех пор, пока файл журнала не будет скопирован или изучен.

Журнал называется btsnoop_hci.log и на разных моделях смартфонов может храниться в разных местах, например, /sdcard/btsnoop_hci.log.

Этот журнал имеет двоичный формат, и обычно для его анализа и просмотра требуется специальное программное обеспечение. Но в вашем случае можно использовать любой просмотрщик бинарных или шестнадцатеричных файлов с возможностью поиска по ASCII-строкам (даже Блокнот Windows, но в этом случае лог не должен быть слишком большим). Вы можете просмотреть его на телефоне или скопировать на ПК (напрямую или через ADB после включения отладки).

Имейте в виду, что этот журнал может содержать личные данные (например, записи телефонной книги и SMS), и его нельзя передавать ненадежным людям.

Откройте файл журнала с помощью средства просмотра файлов и найдите строку +CIND: вы можете найти две формы строк, например следующие:

+CIND:("обслуживание",(0,1)),("вызов",(0,1)),("настройка вызова",(0-3)),("удержание вызова",(0-2)) ,("сигнал",(0-5)),("бродить",(0,1)),("battchg",(0-5))

и

+СИНД:1,0,0,0,5,0,5

Первый предоставляется по запросу и содержит список индикаторов, которые телефон может сообщить, с возможными диапазонами значений. Пожалуйста, обратите внимание на порядок индикаторов, номер позиции в списке используется для сообщения состояния отдельных индикаторов. В этом случае «услуга» имеет номер 1, «вызов» номер 2 и т. д.

Вторая строка также предоставляется по запросу и содержит текущее состояние индикаторов.

Теперь вам нужно найти все строки +CIEV:. Телефон использует их для сообщения о состоянии отдельных индикаторов по собственной инициативе. Они имеют формат

+CIEV:INDICATOR_NUMBER,INDICATOR_VALUE

Для моего примера +CIND: строка +CIEV:7,4 означает, что значение заряда батареи равно 4 из 5, а +CIEV:1,0 означает отсутствие обслуживания. Найдя все значения, связанные с сервисом, сигналом и роумингом, вы можете быть уверены, правильно ли их передает телефон.

Возможно, головное устройство пытается набрать номер, поэтому также попытайтесь найти строки ATD (за которыми следует набранный номер телефона) и ATD> (за которым следует индекс в памяти телефона). В таком случае вы увидите сообщение ERROR или +CME ERROR:30 прямо под ним.

UPD: Кстати, если такое поведение наблюдается с единственной SIM-картой в телефоне с двумя или тремя слотами для SIM-карт, попробуйте вставить карту в другой слот.