Sono noti problemi di bluetooth LE con OSX 10.12.5 che provocano la perdita di dati di pacchetto?

1

PROBLEMA:

Quando due IMU inviano dati nello stesso momento e vengono ricevuti nello script di debug, nel log viene visualizzato solo un flusso di dati da un sensore IMU. Lo stesso script mostra i risultati attesi quando viene eseguito su altri sistemi.

VERSIONI:

Versioni hardware / firmware / software relative al mio laptop

  • OSX 10.12.5
  • Versione software Bluetooth Apple: 5.0.4f18
  • Produttore: Broadcom
  • Trasporto: USB
  • Chipset: 20702B0
  • Versione firmware: v137 c9260
  • Versione HCI: 4.0 (0x6)
  • Revisione HCI: 0x242C
  • Versione LMP: 4.0 (0x6)
  • LMP Subversion: 0x4189

Le versioni del software correlato dello script di test

  • Xcode 8.3
  • nodo v6.11.0
  • nobile 1.8.1

DETTAGLI:

Quanto sopra si riferisce a uno script di test che sto usando per eseguire il debug di un problema BLE. Lo script funge da dispositivo centrale che si connette ai sensori periferici BLE (IMU) che trasmettono i dati da un chip nordico bluetooth.

L'hardware non sembra essere il problema. Posso eseguire lo script di test con i risultati attesi su un numero di sistemi diversi in modo che sembri essere correlato alle versioni hardware / firmware / software del bluetooth sul mio laptop ma non riesco a trovare alcuna informazione correlata.

  • Ho eseguito test per dimostrare i risultati previsti in altri ambienti utilizzando le stesse versioni di node e lib.
  • Testato con la stessa versione di OSX e utilizzando anche la versione OSX diversa con i risultati previsti.
  • Testato su Android con una diversa app di osservazione dei pacchetti con risultati previsti.
  • Le 2 IMU sono state testate in modo indipendente e hanno confermato di funzionare.
  • Quando osservo un singolo IMU (non la coppia simultanea) sono in grado di osservare correttamente i dati.
  • Ho provato a riavviare la mia macchina senza alcun effetto.
  • Ho ripristinato il modulo Bluetooth e ho riavviato anche la mia macchina.
  • Ho osservato pacchetti BLE che utilizzano lo sniffer di pacchetti xcode e nemmeno i pacchetti previsti vengono visualizzati lì (cioè osservati in modo indipendente, quindi non sembra essere un problema nodo / nobile).
  • Ho anche provato a utilizzare diverse implementazioni linguistiche per connettermi al livello bluetooth OSX sul mio Mac ma non ci sono davvero librerie funzionanti che potrei trovare.
  • Non ho riscontrato altri problemi bluetooth o problemi BLE regolari che utilizzano la stessa macchina.

Fondamentalmente sono disperato e non so cos'altro provare o come eseguire il debug di questo problema.

Sto cercando idee che identificano il problema o le idee per aiutarmi a eseguire il debug del problema. Se qualcuno ha qualche informazione per favore fammelo sapere. Grazie mille!

    
posta brando 14.06.2017 - 10:53
fonte

1 risposta

0

Il problema della perdita di pacchetti era dovuto ai diversi intervalli di connessione minimi consentiti su diversi sistemi operativi e alla quantità di dati che la mia periferica stava tentando di emettere. A causa dei requisiti del progetto, abbiamo bisogno di un throughput piuttosto elevato. La mia valutazione originale di ottenere risultati positivi e negativi dallo stesso sistema operativo era errata a causa di alcune variabili confondenti. La stessa perdita di pacchetti si verificava su tutte le macchine mac che ho testato. Si è verificata una maggiore perdita di pacchetti usando os x vs usando ubuntu perché esiste un limite teorico sull'intervallo di connessione minimo di 20 ms per tutto il software Apple che si interfaccia con corebluetooth. Non sono sicuro se Ubuntu impone un limite simile ma stavo sicuramente osservando meno perdita di pacchetti usando Ubuntu. La mia impressione è che non ci sia un limite artificiale e che l'intervallo di connessione avrebbe potuto essere al minimo di 7.5ms, ma dovrò fare ancora qualche ricerca per capire cosa sia effettivamente il numero.

    
risposta data 20.06.2017 - 07:05
fonte

Leggi altre domande sui tag