This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF Connect Desktop not showing BLE Notification but nRF Android does

Hi,

I'm trying to validate a device which uses VSP to communicate. It has a custom service with only 2 characteristics. 1 to Write (TX) and the other Notifies (RX).

When using the nRF Android app as a Client, I can Write and receive the notification with no issues. However, if I try with the nRF Connect Desktop version (using the dongle), it won't show me anything for the Notify characteristic.

The Log only shows this:

2020-01-06T17:45:56.310Z DEBUG 166 -> [00 9c 00 00 01 02 00 0d 00 00 00 04 00 01 10 04 04 e3 ] type: VENDOR_SPECIFIC reliable:yes seq#:6 ack#:7 payload_length:12 data_integrity:1 header_checksum:d3 err_code:0x0
2020-01-06T17:45:56.313Z DEBUG 163/ 0 <- [N/A] type: ACK reliable: no seq#:0 ack#:7 payload_length:0 data_integrity:0 err_code:0x0
2020-01-06T17:45:56.313Z DEBUG 164/ 0 <- [01 9c 00 00 00 00 ] type: VENDOR_SPECIFIC reliable:yes seq#:7 ack#:7 payload_length:6 data_integrity:1 header_checksum:93 err_code:0x0
2020-01-06T17:45:56.313Z DEBUG 167 -> [N/A] type: ACK reliable: no seq#:0 ack#:0 payload_length:0 data_integrity:0 err_code:0x0
2020-01-06T17:45:56.315Z DEBUG 165/ 0 <- [02 01 00 00 00 01 ] type: VENDOR_SPECIFIC reliable:yes seq#:0 ack#:7 payload_length:6 data_integrity:1 header_checksum:9a err_code:0x0
2020-01-06T17:45:56.315Z DEBUG 168 -> [N/A] type: ACK reliable: no seq#:0 ack#:1 payload_length:0 data_integrity:0 err_code:0x0
2020-01-06T17:45:56.316Z DEBUG EVT_TX_COMPLETE time:2020-01-06T17:45:56.315Z connHandle:0 count:1
2020-01-06T17:45:56.316Z INFO Attribute value written, handle: 0x0D, value (0x): 10-04-04-E3

What am I doing wrong? 

Appreciate any help!

Parents Reply Children
  • I did select "Byte Array" for iOS, I also choose this option in Android.

    I also tested with a cloned device on the phone and I see that notifications are shown in PC app. I just can't understand why it does not happen for the actual device. Are you aware of Android being any different?

  • Ok, it sounds like it might be something else that causes this discrepancy, and not that the write data is different. But I can't think of any explanations as to why it may work on Android, but not with the iPhone and PC app. 

    The command and response look to be some kind of TLV format so I assume there are more commands available. Do any of the other commands work?

  • Yes, there are several commands and already tried them. They all work in Android.

    Something else I am noticing, once I try the PC or iPhone version and then I try with the Android, I won't get anything. I would have to power restart the device. As if the PC/iOS is sending the device into some strange mode.

    So, some sequences:

    Power Restart -> Android = OK

    PR -> Android -> Android = OK

    PR -> Android -> PC = Not OK

    PR -> PC = Not OK

    PR -> iOS = Not OK

    PR -> PC -> Android = Not OK

    PR -> iOS -> Android = Not OK

  • I agree with you. It seems like the FW is getting into a bad state. It's also interesting to see that this bad state seems to be carried over to the next connection with the Android phone in the last two sequences. Had you tested this on different Android phones? Maybe it happens to work with one particular phone. Either way, I think this something you need to reach out to the FW developers to get help with.

Related