NordicSemiconductor / IOS-nRF-Connect

Info page
https://nordicsemiconductor.github.io/IOS-nRF-Connect/
136 stars 32 forks source link

Button for "Write request" in a BLE service not responding #147

Closed carljohanlandin closed 6 months ago

carljohanlandin commented 6 months ago

I have a BLE application based on the peripheral_lbs sample running on a nrf52840dk. I have previously been able to use the iOS nrf connect app to send write requests to my device but after the app has been updated the write button in the BLE service is unresponsive.

I have confirmed that the problem is not in my application by using nrf connect desktop, from which it works sending the same write requests.

dinesharjani commented 6 months ago

I will make a fresh peripheral_lbs sample and run it on an nrf52840dk - thanks for specifying that info.

But, if you move over to Logs, can you see the write requests happening? Remember to enable all Debug Log Levels to check for this.

carljohanlandin commented 6 months ago

Hi Dinesh, Thanks for looking into it.

I have enabled the debug log level as well but still can’t see any log events related to writing after pushing the write button.

Best regards Carl-Johan

tis 20 feb. 2024 kl. 13:52 skrev Dinesh Harjani @.***>:

I will make a fresh peripheral_lbs sample and run it on an nrf52840dk - thanks for specifying that info.

But, if you move over to Logs, can you see the write requests happening? Remember to enable all Debug Log Levels to check for this.

— Reply to this email directly, view it on GitHub https://github.com/NordicSemiconductor/IOS-nRF-Connect/issues/147#issuecomment-1954153216, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJTPGHLY27LVHWC2ZQJGGZLYUSL7HAVCNFSM6AAAAABDRCK3M2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJUGE2TGMRRGY . You are receiving this because you authored the thread.Message ID: @.***>

dinesharjani commented 6 months ago

Which iPhone are we talking about?

carljohanlandin commented 6 months ago

iPhone 12 Pro

tis 20 feb. 2024 kl. 15:04 skrev Dinesh Harjani @.***>:

Which iPhone are we talking about?

— Reply to this email directly, view it on GitHub https://github.com/NordicSemiconductor/IOS-nRF-Connect/issues/147#issuecomment-1954283170, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJTPGHJIV7J5DZHEGS3JWE3YUSUNBAVCNFSM6AAAAABDRCK3M2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJUGI4DGMJXGA . You are receiving this because you authored the thread.Message ID: @.***>

dinesharjani commented 6 months ago

May I see a screenshot? Perhaps this allows me to have a better idea of what the issue might be. A screenshot of Device Details (Client), I assume this is where the issue is.

carljohanlandin commented 6 months ago

Sure, here is a screenshot of the client details.

Here are the logs after connection (both as text and csv)

‘’’text Turning On Scanner... Scanner On. Attempting to connect... cbCentralManager.connect() [Callback] centralManager(central, didConnect: peripheral) Connected. Discovering Services... peripheral.discoverServices(nil) [Callback] peripheral(peripheral, didDiscoverServices: nil) Discovered A48EBE1A-1A6B-47F7-91E1-9BD99288CE7B Services. Discovering Characteristics for A48EBE1A-1A6B-47F7-91E1-9BD99288CE7B... peripheral.discoverCharacteristics(nil, for: A48EBE1A-1A6B-47F7-91E1-9BD99288CE7B) [Callback] peripheral(peripheral, didDiscoverCharacteristicsFor: A48EBE1A-1A6B-47F7-91E1-9BD99288CE7B, error: nil) Discovering Descriptors for Characteristic C180304B-962E-4230-B060-F77A2F1693EA... peripheral.discoverDescriptors(for: C180304B-962E-4230-B060-F77A2F1693EA) [Callback] peripheral(peripheral, didDiscoverDescriptorsFor: C180304B-962E-4230-B060-F77A2F1693EA, error: nil) Discovered Characteristics C180304B-962E-4230-B060-F77A2F1693EA for Service A48EBE1A-1A6B-47F7-91E1-9BD99288CE7B. Characteristic C180304B-962E-4230-B060-F77A2F1693EA has no Descriptors. ‘’’

‘’’csv 15:09:57,Scanner,verbose,Turning On Scanner... 15:09:57,Scanner,normal,Scanner On. 15:10:08,Connected Device,verbose,Attempting to connect... 15:10:08,Connected Device,debug,cbCentralManager.connect() 15:10:09,Connected Device,debug,[Callback] centralManager(central, didConnect: peripheral) 15:10:09,Connected Device,normal,Connected. 15:10:09,Connected Device,verbose,Discovering Services... 15:10:09,Connected Device,debug,peripheral.discoverServices(nil) 15:10:10,Connected Device,debug,[Callback] peripheral(peripheral, didDiscoverServices: nil) 15:10:10,Connected Device,normal,Discovered A48EBE1A-1A6B-47F7-91E1-9BD99288CE7B Services. 15:10:10,Connected Device,verbose,Discovering Characteristics for A48EBE1A-1A6B-47F7-91E1-9BD99288CE7B... 15:10:10,Connected Device,debug,peripheral.discoverCharacteristics(nil, for: A48EBE1A-1A6B-47F7-91E1-9BD99288CE7B) 15:10:10,Connected Device,debug,[Callback] peripheral(peripheral, didDiscoverCharacteristicsFor: A48EBE1A-1A6B-47F7-91E1-9BD99288CE7B, error: nil) 15:10:10,Connected Device,verbose,Discovering Descriptors for Characteristic C180304B-962E-4230-B060-F77A2F1693EA... 15:10:10,Connected Device,debug,peripheral.discoverDescriptors(for: C180304B-962E-4230-B060-F77A2F1693EA) 15:10:10,Connected Device,debug,[Callback] peripheral(peripheral, didDiscoverDescriptorsFor: C180304B-962E-4230-B060-F77A2F1693EA, error: nil) 15:10:10,Connected Device,normal,Discovered Characteristics C180304B-962E-4230-B060-F77A2F1693EA for Service A48EBE1A-1A6B-47F7-91E1-9BD99288CE7B. 15:10:10,Connected Device,normal,Characteristic C180304B-962E-4230-B060-F77A2F1693EA has no Descriptors. 15:12:38,Scanner,normal,Scanner Off. ‘’’

Carl-Johan

tis 20 feb. 2024 kl. 15:08 skrev Dinesh Harjani @.***>:

May I see a screenshot? Perhaps this allows me to have a better idea of what the issue might be. A screenshot of Device Details (Client), I assume this is where the issue is.

— Reply to this email directly, view it on GitHub https://github.com/NordicSemiconductor/IOS-nRF-Connect/issues/147#issuecomment-1954292687, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJTPGHKJ5CRZQTWFJE3P4XDYUSU7BAVCNFSM6AAAAABDRCK3M2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJUGI4TENRYG4 . You are receiving this because you authored the thread.Message ID: @.***>

dinesharjani commented 6 months ago

Unfortunately I can't see the screenshot. Neither via email nor GitHub comments :(

You may cover up the names / UUIDs of Services and so on. I just need to get a general idea of the state of the UI, and see the Buttons and in which cells / attributes they're visible / usable from.

carljohanlandin commented 6 months ago

image

Hope this works better

dinesharjani commented 6 months ago

Definitely better but unfortunately I cant see the buttons which are on the right side of the screen.

carljohanlandin commented 6 months ago

I realised I accidentally cropped the picture. Here it is again

image

dinesharjani commented 6 months ago

I see. I will do some testing tomorrow. But this screenshot is helpful - thank you.

carljohanlandin commented 6 months ago

Great, thanks for the help.

Best regards Carl-Johan

tis 20 feb. 2024 kl. 15:29 skrev Dinesh Harjani @.***>:

I see. I will do some testing tomorrow. But this screenshot is helpful - thank you.

— Reply to this email directly, view it on GitHub https://github.com/NordicSemiconductor/IOS-nRF-Connect/issues/147#issuecomment-1954335109, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJTPGHI3VEDHHSLIDEGZLW3YUSXMBAVCNFSM6AAAAABDRCK3M2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJUGMZTKMJQHE . You are receiving this because you authored the thread.Message ID: @.***>

dinesharjani commented 6 months ago

When you tap the Write button (arrow pointing up), do you get the Write Characteristic Dialog? And you can type in Data and then tap 'Write' ?

carljohanlandin commented 6 months ago

No, nothing happens. No dialog appears.

ons 21 feb. 2024 kl. 11:29 skrev Dinesh Harjani @.***>:

When you tap the Write button (arrow pointing up), do you get the Write Characteristic Dialog? And you can type in Data and then tap 'Write' ?

— Reply to this email directly, view it on GitHub https://github.com/NordicSemiconductor/IOS-nRF-Connect/issues/147#issuecomment-1956345477, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJTPGHK72EFAXDNROT6LYO3YUXEB7AVCNFSM6AAAAABDRCK3M2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJWGM2DKNBXG4 . You are receiving this because you authored the thread.Message ID: @.***>

dinesharjani commented 6 months ago

If you try to Write another Characteristic / another Device etc, does it work? Is it only for the particular Attribute / firmware you're writing or is it in general the Write Dialog doesn't show up for anything?

carljohanlandin commented 6 months ago

Just now I tried to flash the actual peripheral_lbs sample (instead of my own app built from it) and the same issue remains. However, I can interact with the read buttons. Enabling notifications for when the button is pressed and released works. Also reading the client charecteristic configuration attribute works. But both the “Blinky LED state” write button and the “Client characteristic configuration” write button is not responding. I can only see those buttons changing color as I hold my finger on them. But that’s it.

ons 21 feb. 2024 kl. 11:41 skrev Dinesh Harjani @.***>:

If you try to Write another Characteristic / another Device etc, does it work? Is it only for the particular Attribute / firmware you're writing or is it in general the Write Dialog doesn't show up for anything?

— Reply to this email directly, view it on GitHub https://github.com/NordicSemiconductor/IOS-nRF-Connect/issues/147#issuecomment-1956367016, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJTPGHJDQYDYPCKSRCWVIXLYUXFMZAVCNFSM6AAAAABDRCK3M2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJWGM3DOMBRGY . You are receiving this because you authored the thread.Message ID: @.***>

dinesharjani commented 6 months ago

Ok, I believe I see the issue. It's related to the Write Type, which looks like it's registered as 'Authenticated Signed Write'. I managed to cause it and reproduce it in the current version out in the App Store - Write Button is there but nothing happens no matter how much I tap it.

Can I send you a TestFlight beta link with a possible fix to your email address ?

carljohanlandin commented 6 months ago

Good catch:)

Sure, no problem.

ons 21 feb. 2024 kl. 13:12 skrev Dinesh Harjani @.***>:

Ok, I believe I see the issue. It's related to the Write Type, which looks like it's registered as 'Authenticated Signed Write'. I managed to cause it and reproduce it in the current version out in the App Store - Write Button is there but nothing happens no matter how much I tap it.

Can I send you a TestFlight beta link with a possible fix to your email address ?

— Reply to this email directly, view it on GitHub https://github.com/NordicSemiconductor/IOS-nRF-Connect/issues/147#issuecomment-1956519397, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJTPGHLSVQVIDJMAVWLDWCTYUXQEVAVCNFSM6AAAAABDRCK3M2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJWGUYTSMZZG4 . You are receiving this because you authored the thread.Message ID: @.***>

dinesharjani commented 6 months ago

@carljohanlandin I cannot see your emaiil because GitHub is protecting it.

Please write me to dinesh.harjani@nordicsemi.no with the email address of your Apple ID (or the Apple ID of the device where you want to test this) so I can add you to TestFlight

dinesharjani commented 6 months ago

Closing as this issue has been confirmed by @carljohanlandin as fixed for nRF Connect 2.7.6 (in Beta)