I have been using this method for a while now and everything seemed to work. But for one of my device the method returns the error 0x3400. I wanted to know where the issue could come from. As it is working on other device, is it possible that it is a hardware error and how is it possible to recover?
I am using a legacy sdk (sdk 11).
Thank you for your answer.
The error code corresponds to "BLE_ERROR_GATTS_INVALID_ATTR_TYPE: Invalid attribute type(s) supplied, only characteristic values may be notified and indicated.", but not sure why you would only see this on one device. Do all of your devices run with the same FW?
yes all devices run with the same FW. However we have them running for a while (2-3 years) now and we did a lot of DFU. Would it be possible that this come from a corrupted flash?
It's possible that it's caused by corrupted flash, but I'm not sure how likely that is. Are you able to dump the flash on this particular device and compare it against the original FW image?
nrfjprog --memrd 0x0 --n <256/512 k bytes depedending on chip variant> > flash_readout.txt
Unfortunatly, the person that could do it is on away for the next two weeks. I can only access the usb connector or perform a firmware update for the moment. If you have any other solution that I could try, otherwise, I'll wait for my collegue to come back, and reach back to you.
I can't think of much else to try if you have access to the usb port, unfortunately. Maybe it's best to wait with the FA if you only have one failing unit. I guess a DFU might fix/mask the problem.