Verifica e debug

Per verificare ed eseguire il debug dello stack Bluetooth, utilizzare gli strumenti forniti nei test AOSP e Bluetooth Special Interest Group (SIG).

Testare e verificare

Per testare lo stack Bluetooth, AOSP fornisce un mix di test unitari, test CTS e strumenti per Bluetooth Profile Tuning Suite.

Test unitari in AOSP

AOSP include test funzionali e unitari per lo stack Bluetooth predefinito. Questi test si trovano in /packages/modules/Bluetooth/system/test/ . Per eseguire i test AOSP, procedere come segue:

  1. Arresta il runtime Android:
    adb shell stop
  2. Dalla directory test, esegui il file eseguibile della shell e includi le opzioni se desideri eseguire un test o una suite di test specifici:
    ./run_unit_tests.sh TEST_GROUP_NAME TEST_NAME OPTIONS
  3. Al termine dei test, riattivare il runtime Android:
    adb shell start

L'elenco dei nomi dei test è disponibile in /packages/modules/Bluetooth/system/test/README.md .

Suite di test per le comunicazioni Android

Android Comms Test Suite (ACTS) esegue test automatizzati di stack di connettività, come Wi-Fi, Bluetooth e servizi cellulari. Lo strumento di test richiede adb e python e può essere trovato in tools/test/connectivity/acts .

I test ACTS per Bluetooth e Bluetooth Low Energy si trovano rispettivamente in tools/test/connectivity/acts_tests/tests/google/bt/ e tools/test/connectivity/acts_tests/tests/google/ble/ .

Suite di ottimizzazione del profilo

Bluetooth SIG fornisce Bluetooth Profile Tuning Suite (PTS), uno strumento di test per l'interoperabilità di protocolli e profili. Per ulteriori informazioni, consultare il sito Bluetooth Profile Tuning Suite .

AOSP fornisce strumenti aggiuntivi per integrare Bluetooth PTS. Questi strumenti si trovano in tools/test/connectivity/acts_tests/tests/google/bt/pts/ .

Prove CTS

La Compatibility Test Suite (CTS) include test per lo stack Bluetooth. Questi si trovano in cts/apps/CtsVerifier/src/com/android/cts/verifier/bluetooth .

Opzioni di debug

AOSP fornisce diversi metodi di debug dello stack Bluetooth di un dispositivo, inclusi registri e segnalazioni di bug. Questi metodi potrebbero non funzionare per problemi che non possono essere riprodotti o per problemi audio, che possono essere influenzati da più parti della piattaforma e del dispositivo.

Debug con segnalazioni di bug

Per verificare lo stato del servizio Bluetooth utilizzando dumpsys , utilizzare il seguente comando:

adb shell dumpsys bluetooth_manager

Per impostazione predefinita, tutti i messaggi di registro sono di livello di traccia 2. Per saperne di più sui livelli di registrazione e modificare i livelli di registrazione per diversi profili, cercare in system/bt/conf/bt_stack.conf .

Per estrarre i log di snoop dalla segnalazione di bug, utilizzare lo script btsnooz .

  1. Ottieni btsnooz.py .
  2. Estrai la versione testuale della segnalazione di bug.
  3. Esegui btsnooz.py sulla versione testuale della segnalazione di bug:
    btsnooz.py BUG_REPORT.txt > BTSNOOP.log

Debug con i log

In Android 4.4 e versioni successive, puoi raccogliere manualmente i log BTSnoop, che assomigliano al formato snoop in RFC 1761. Questi log acquisiscono i pacchetti HCI (Host Controller Interface). Per la maggior parte dei dispositivi Android, i registri vengono archiviati in data/misc/bluetooth/logs .

Per motivi di privacy, BTSnoop sempre attivo e "in memoria" registra solo informazioni ed eventi non personali. Per registrare tutti i dati, l'utente deve abilitare lo snoop Bluetooth HCI procedendo come segue:

  1. Abilita le opzioni sviluppatore sul dispositivo.
  2. Nel menu Opzioni sviluppatore , attiva l'interruttore Abilita registro snoop Bluetooth HCI .
  3. Riavviare il Bluetooth affinché la registrazione abbia effetto.