Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GoPro12 Paired Device not added to Whitelist #476

Open
mdb91 opened this issue Jan 28, 2024 · 3 comments
Open

GoPro12 Paired Device not added to Whitelist #476

mdb91 opened this issue Jan 28, 2024 · 3 comments
Assignees
Labels
bug Something isn't working requires firmware changes Requires Camera Firmware Changes

Comments

@mdb91
Copy link

mdb91 commented Jan 28, 2024

Components:

  • GoPro 12 (Version 02.00)
  • Python Tutorials (Windows 10, Python 3.10.11)
  • Custom BLE PCB (based off of C and Python SDK) using NRF52840 MCU

Description:
After I pair the GoPro12 with either the Windows PC running the Python tutorials, or my custom PCB project; I am unable to reconnect to the GoPro without putting the camera back into the pairing mode using the UI. I'm using Wireshark to see the packets, and when I try to reconnect (when not in camera pairing mode), the camera doesn't respond to the initial CONNECT_IND request from the client. After six timeouts, the client disconnects from the camera (as per BLE standard).

My question is what am I missing when I am pairing to the GoPro12? I don't think my client is being added to the camera's whitelist, but I am following the procedure listed in the BLE spec (connect, pair, discover, enable notifications).

When I query the Pairing State status (ID 19) of the camera after finishing pairing, I get a response of 0x01 (started), not 0x04 (completed). I modified Tutorial 4 BLE Queries - Poll Multiple Settings Value to request the Pairing State from the camera and received the same 0x01 (started) response [see screenshots].

I have had no issues with the other cameras I am testing (GoPro 9 and 10).

When I am pairing, the GoPro has the confirmation beep and I have checked it advertises correctly after a power cycle (using LightBlue and NRFConnect).

Supporting Info:
Python Tutorial Screenshots and Wireshark Trace:
GoPro BLE Python.zip

  • "Python_GoPro12_BLE_Connect_Pair_and_reconnect_attempt.PNG" - screenshot of Python Tutorial 1. Pairing was completed and then UI was exited and a new connection was attempted but failed.
  • "Python_GoPro12_BLE_Connect_sniffer_trace.pcapng" - Wireshark trace of Tutorial 1
  • "Python_GoPro12_Pair_State_Query.PNG" - screenshot of Tutorial 4 (modified to request Pairing State status) showing the pairing state is "Started".

NRF52 Wireshark Traces:
GoPro BLE NRF52.zip

  • "240128 - GoPro12_NRF52_Pairing_w_notification.pcapng" - Wireshark trace of pairing procedure with GoPro12 and NRF52. Note query for Pairing State at end shows status is "Started".
  • 240128 - GoPro12_NRF52_no_connection_response.pcapng" - Wireshark trace of NRF52 attempting to reconnect with GoPro12 after pairing and power cycling. The GoPro12 was not put into pairing mode.
@mdb91 mdb91 added the bug Something isn't working label Jan 28, 2024
@github-actions github-actions bot added the triage Needs to be reviewed and assigned label Jan 28, 2024
@mdb91
Copy link
Author

mdb91 commented Mar 15, 2024

As an update to this issue, I have successfully tested my NRF52840 project with a Hero 11 Black which worked as expected. This means the pairing issue is only with the Hero 12 cameras.

@tcamise-gpsw
Copy link
Collaborator

This does seem like a bug on the GoPro and is being investigated internally.

@tcamise-gpsw tcamise-gpsw added requires firmware changes Requires Camera Firmware Changes and removed triage Needs to be reviewed and assigned labels Apr 11, 2024
@tcamise-gpsw tcamise-gpsw self-assigned this Apr 11, 2024
@piratinskii
Copy link

As an update to this issue, I have successfully tested my NRF52840 project with a Hero 11 Black which worked as expected. This means the pairing issue is only with the Hero 12 cameras.

I have same issue with Hero 9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working requires firmware changes Requires Camera Firmware Changes
Projects
None yet
Development

No branches or pull requests

3 participants