Project

General

Profile

Actions

Bug #14

closed

BLE : poc-service sometimes fails to reach fully operational state after reboot due to BLE transfert timeout

Added by Emmanuel Jubera [SAFT] almost 2 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
High
Assignee:
Valentin LEFEBVRE [IoT.bzh]
Target version:
Start date:
05/18/2022
Due date:
% Done:

0%

Estimated time:
Hardware platform:
Solidrun (aarch64)
OS Affects Version/s:
arz-1.0
OS Fix Version/s:
Labels:

Description

poc-service fails to reach fully operational state after power-on or reboot about 1 time out of 2.

Issues witnessed so far with 8 attempts are:

1) 2 times, ble-sensor unable to get data from BOSCH sensor (logs show "getting version" step is reached but nothing more).
2) 1 time, ble-sensor starts data streaming from BOSCH sensor to redis but nothing received on iPad (and no log showing data transmission to redis in journal)
3) 1 time, board unreachable via ethernet (datahub.local) after reboot

Logs for case 2:

Jun 22 13:12:08 localhost.localdomain afbd-ble-sensor-binding[464]:  INFO: [API ble-sensor] [connecting thread: ciss/POC] is connected [/builddir/build/BUILD/ble-sensor-binding-1.4.0+20210711+4+gc869082/src/ble-sensor-binding.c:105,connectingThread]
Jun 22 13:12:08 localhost.localdomain afbd-ble-sensor-binding[464]:  INFO: [API ble-sensor] [ble_gattlib_connect_async_cb: ciss/POC] Getting version ... [/builddir/build/BUILD/ble-sensor-binding-1.4.0+20210711+4+gc869082/src/ble-sensor-binding.c:108,connectingThread]
Jun 22 13:12:12 localhost.localdomain afbd-ble-sensor-binding[464]:  INFO: [API ble-sensor] [state sensor: ciss/POC] Starting the data streaming ... [/builddir/build/BUILD/ble-sensor-binding-1.4.0+20210711+4+gc869082/src/ble-sensor-binding.c:271,stateCB]
Jun 22 13:12:12 localhost.localdomain afbd-ble-sensor-binding[464]:  INFO: [API ble-sensor] [thread Streaming ciss/POC] setup Ciss [/builddir/build/BUILD/ble-sensor-binding-1.4.0+20210711+4+gc869082/src/plugins/ciss-bosh/ciss-bosh.c:605,monitorStreamingThread]
Jun 22 13:12:12 localhost.localdomain afbd-ble-sensor-binding[464]:  INFO: [API ble-sensor] [thread Streaming ciss/POC] start inert notif [/builddir/build/BUILD/ble-sensor-binding-1.4.0+20210711+4+gc869082/src/plugins/ciss-bosh/ciss-bosh.c:628,monitorStreamingThread]
Jun 22 13:14:00 localhost.localdomain poc-service[383]: HOOK: [req-000002:ble-sensor/ciss/POC] BEGIN uid=0=0 gid=0 pid=1089 label=System id=System
Jun 22 13:14:00 localhost.localdomain afbd-ble-sensor-binding[464]:  INFO: [API ble-sensor] calling verb: subscribe for sensor ciss/POC [/builddir/build/BUILD/ble-sensor-binding-1.4.0+20210711+4+gc869082/src/ble-sensor-glue.c:232,ble_glue_sensor_request]
Jun 22 13:14:00 localhost.localdomain poc-service[383]: HOOK: [req-000002:ble-sensor/ciss/POC] subscribe(ble-sensor/ciss/POC:3) -> 0
Jun 22 13:14:00 localhost.localdomain poc-service[383]: HOOK: [req-000002:ble-sensor/ciss/POC] subscribe(ble-sensor/ciss/POC/shock:4) -> 0
Jun 22 13:14:00 localhost.localdomain poc-service[383]: HOOK: [req-000002:ble-sensor/ciss/POC] reply[success: 0]
Jun 22 13:14:00 localhost.localdomain poc-service[383]: HOOK: [req-000002:ble-sensor/ciss/POC] END
Jun 22 13:16:10 localhost.localdomain poc-service[383]: HOOK: [req-000004:ble-sensor/ciss/POC] BEGIN uid=0=0 gid=0 pid=1089 label=System id=System
Jun 22 13:16:10 localhost.localdomain poc-service[383]: HOOK: [req-000004:ble-sensor/ciss/POC] unsubscribe(ble-sensor/ciss/POC:3) -> 0
Jun 22 13:16:10 localhost.localdomain poc-service[383]: HOOK: [req-000004:ble-sensor/ciss/POC] unsubscribe(ble-sensor/ciss/POC/shock:4) -> 0
Jun 22 13:16:10 localhost.localdomain afbd-ble-sensor-binding[464]:  INFO: [API ble-sensor] calling verb: unsubscribe for sensor ciss/POC [/builddir/build/BUILD/ble-sensor-binding-1.4.0+20210711+4+gc869082/src/ble-sensor-glue.c:232,ble_glue_sensor_request]
Jun 22 13:16:10 localhost.localdomain poc-service[383]: HOOK: [req-000004:ble-sensor/ciss/POC] reply[success: 0]
Jun 22 13:16:10 localhost.localdomain poc-service[383]: HOOK: [req-000004:ble-sensor/ciss/POC] END
Actions #1

Updated by Emmanuel Jubera [SAFT] almost 2 years ago

Note: BOSCH sensor is connected to SolidSense board USB so it is powered off/on each time the board gets rebooted.

Final states witnessed so far for 15 attempts are:

1) 4 times OK.
2) 8 times, ble-sensor unable to get data from BOSCH sensor (logs show "getting version" step is reached but nothing more).
3) 1 time, ble-sensor starts data streaming from BOSCH sensor to redis but nothing received on iPad (logs show "Start inert notif")
4) 1 time, ble-sensor fails to connect to BOSCH sensor (connect: Device or resource busy)
5) 1 time, board unreachable via ethernet (datahub.local) after reboot

No successful attempt with new board so far...

Actions #2

Updated by Valentin LEFEBVRE [IoT.bzh] almost 2 years ago

  • Status changed from New to In Progress
Actions #3

Updated by Yann Bodéré almost 2 years ago

  • Priority changed from Normal to High
Actions #4

Updated by Stephane Desneux [IoT.bzh] almost 2 years ago

  • Assignee changed from Vincent Rubiolo to Valentin LEFEBVRE [IoT.bzh]
Actions #5

Updated by Pierre Marzin almost 2 years ago

  • Subject changed from poc-service sometimes fails to reach fully operational state after reboot to BLE : poc-service sometimes fails to reach fully operational state after reboot due to BLE transfert timeout
Actions #6

Updated by Pierre Marzin almost 2 years ago

Last discovery:

  • The IoT.BZH board has a i.MX8MN Quad Core : using this version, the Gattlib is working better and the BLE communication between redpesk and the BOSCH sensor works well.
  • The SAFT board has a i.MX8MN Single Core : using this version, the Gattlib is working badly. The BLE communication stuck and the Gattlib does not succeed to talk with the BOSCH sensor.

==> Need to investigate why the Gattlib is not working well using one CPU Core
==> Need to ask if SAFT could get a Linux BLE lib from BOSCH
==> Need to think about a backup : sending an i.MX8MN Quad Core board to SAFT could be a plan B (do not need any SW change)

Actions #7

Updated by Vincent Rubiolo almost 2 years ago

  • Status changed from In Progress to Resolved

Emmanuel reports that the new CISS binding is much more stable and usable than the previous one and that it fixes all issues seen.

In agreement with Emmanuel, we are closing this ticket.

Actions #8

Updated by Vincent Rubiolo almost 2 years ago

  • Status changed from Resolved to Closed
Actions #9

Updated by Sebastien Douheret [IoT.bzh] over 1 year ago

  • OS Affects Version/s arz-1.0.0 added
Actions #10

Updated by Sebastien Douheret [IoT.bzh] over 1 year ago

  • OS Affects Version/s arz-1.0 added
  • OS Affects Version/s deleted (arz-1.0.0)
Actions

Also available in: Atom PDF