Will you please able to help fix this issue
Regards,
Shemin
Will you please able to help fix this issue
Regards,
Shemin
Hi Shemin,
What SDK are you using?
Could you provide the debug and sniffer log?
but using nrf connect app it s working .
What cannot work on your android device? Is your app? Please elaborate more on the detail.
-Amanda H.
Hi Amanda,
Sdk v 15 is using for ble nrf 52 series remote device , iam creating an android peripheral app for communicating with remote device.
I had created services and added it , then mtu accepting and negotiation ,then sending notifcations for enabling to remote device , then sending image data and image size, and display this image in remote device .
But here its till mtu negotiation is occuring, then tx octet and rx octet from peripheral and remote sides are different , and data packet length also different , as ble soft devices supports only data symmetric communication transfer , is this issue needs to be fixed from android app code of peripheral or c embedded code for remote ble soft device .
I am also attaching debug log response while communicating peripheral android app with remote ble device .
Response link : https://ibb.co/YbnpYD1
Hi Shemin,
From the debug log, I see the mtu exchange is completed and the data length is set to 244. Service UUID 0x1 not found.
Regarding the error "Service UUID 0x1 Not found", please make sure that you also use the same UUID BASE on both central and peripheral. I.e. the CUSTOM_SERVICE_UUID_BASE that is used on the peripheral, is also the same as the UUID base used on the central side(originally named LBS_UUID_BASE on the multilink central example).
-Amanda H.
Hi Amanda ,
Cleared the above said issues , the issue relies in data transfer between remote device and peripheral android app. We have connected to remote device ,discovered services , exhanged mtu negotiations , then after that data transfer is not able to done as soft devices only support symmetric data transfer , Here in my attached log image link , in center part , after data length updation to 251,
max_rx_octetes in remote device - 27 , max_tx_octetes in peripheral android app - 251
max_rx_time in remote device - 328, max_tx_octetes in peripheral android app - 2120 .
After communicated with our embedded team , max_rx_octet should match with max_tx_octet should be 27 , max_rx_time should match with max_tx_time should be 328 , then symmetric occur and data transfer will occur from soft devices.
As per Nrf Image Transfer Android App. Libraries , we cannot see anywhere matching these values or cannot change values in android sdk .
So Kindly check whether this issue can be fixed from nrf52 ble device embedded c library , will be able make symmetric data transfer with changes in c code .
As we are get stucked here , it will be very helpful for us if u can provide a workaround to fix this issue , also attaching here latest debugg logger from device here
Device Logger Link : https://ibb.co/JjRdSw4 .
Hope u are clear about the issue .
Hi Shemin,
If you are using the ble library for android you can look at this example https://github.com/NordicSemiconductor/Android-nRF-Toolbox/blob/acd2193c1a3763a1644a7ec8fb9a1045bc9b6ccc/app/src/main/java/no/nordicsemi/android/nrftoolbox/uart/UARTManager.java#L80
Here's the MTU request on the image transfer app https://github.com/NordicPlayground/Android-Image-Transfer-Demo/blob/a4e99507daae8388f1dfa79722a4c8c5c0b9a858/src/com/nordicsemi/ImageTransferDemo/ImageTransferService.java#L290
-Amanda H.
Hi Shemin,
If you are using the ble library for android you can look at this example https://github.com/NordicSemiconductor/Android-nRF-Toolbox/blob/acd2193c1a3763a1644a7ec8fb9a1045bc9b6ccc/app/src/main/java/no/nordicsemi/android/nrftoolbox/uart/UARTManager.java#L80
Here's the MTU request on the image transfer app https://github.com/NordicPlayground/Android-Image-Transfer-Demo/blob/a4e99507daae8388f1dfa79722a4c8c5c0b9a858/src/com/nordicsemi/ImageTransferDemo/ImageTransferService.java#L290
-Amanda H.