streetpea / chiaki-ng

Next-Generation of Chiaki (the open-source remote play client for PlayStation)
https://streetpea.github.io/chiaki-ng/
GNU Affero General Public License v3.0
1.14k stars 74 forks source link

[BUG] Remote Play via PSN failing at data connection #333

Closed Adagium42 closed 4 months ago

Adagium42 commented 5 months ago

Describe the bug After solving #328 with this build, I faced a new issue when I was trying to connect to my PS5 console. Chiaki4Deck was able to wake up the console and asked my profile user's PIN, but was unable to get image or control it. I was testing in another network from the same ISP. I can connect in this remote network with Android official PS Remote Play app, and I can use both PS Remote Play and Chiaki on my home local network.

Debug Log Here's the log, I [REDACTED] every id and some things I don't know if it's necessary to identify the issue:

$ flatpak run io.github.streetpea.Chiaki4deck
chiaki.gui: [libplacebo] Initialized libplacebo v6.338.0-70-gc320f61e-dirty (API v342)
chiaki.gui: [libplacebo] Spent 64,616 ms enumerating instance extensions
chiaki.gui: [libplacebo] Creating vulkan instance with extensions:
chiaki.gui: [libplacebo]     VK_KHR_get_physical_device_properties2
chiaki.gui: [libplacebo]     VK_KHR_surface
chiaki.gui: [libplacebo]     VK_EXT_swapchain_colorspace
chiaki.gui: [libplacebo]     VK_KHR_external_memory_capabilities
chiaki.gui: [libplacebo]     VK_KHR_external_semaphore_capabilities
chiaki.gui: [libplacebo]     VK_KHR_get_surface_capabilities2
chiaki.gui: [libplacebo]     VK_KHR_portability_enumeration
chiaki.gui: [libplacebo]     VK_KHR_wayland_surface
chiaki.gui: [libplacebo]     VK_KHR_surface
chiaki.gui: [libplacebo] Probing for vulkan devices:
MESA-INTEL: warning: Ivy Bridge Vulkan support is incomplete
chiaki.gui: [libplacebo]     GPU 0: Intel(R) HD Graphics 4000 (IVB GT2) v1.2.274 (integrated)
chiaki.gui: [libplacebo]            uuid: [REDACTED]
chiaki.gui: [libplacebo]     GPU 1: llvmpipe (LLVM 17.0.6, 256 bits) v1.3.274 (software)
chiaki.gui: [libplacebo]            uuid: [REDACTED]
chiaki.gui: [libplacebo] Vulkan device properties:
chiaki.gui: [libplacebo]     Device Name: Intel(R) HD Graphics 4000 (IVB GT2)
chiaki.gui: [libplacebo]     Device ID: 8086:166
chiaki.gui: [libplacebo]     Device UUID: [REDACTED]
chiaki.gui: [libplacebo]     Driver version: 6000006
chiaki.gui: [libplacebo]     API version: 1.2.274
chiaki.gui: [libplacebo] Creating vulkan device with extensions:
chiaki.gui: [libplacebo]     VK_KHR_swapchain
chiaki.gui: [libplacebo]     VK_KHR_push_descriptor
chiaki.gui: [libplacebo]     VK_KHR_external_memory_fd
chiaki.gui: [libplacebo]     VK_EXT_external_memory_dma_buf
chiaki.gui: [libplacebo]     VK_EXT_external_memory_host
chiaki.gui: [libplacebo]     VK_KHR_external_semaphore_fd
chiaki.gui: [libplacebo]     VK_EXT_pci_bus_info
chiaki.gui: [libplacebo]     VK_EXT_image_drm_format_modifier
chiaki.gui: [libplacebo]     VK_KHR_synchronization2
chiaki.gui: [libplacebo] Memory heaps supported by device:
chiaki.gui: [libplacebo]     0: flags 0x1 size 1536M
chiaki.gui: [libplacebo] Memory summary:     0 used     0 res     0 alloc, efficiency 100,00%, utilization 100,00%, max page:   96M
chiaki.gui: [libplacebo] shaderc SPIR-V version 1.6 rev 1
chiaki.gui: [libplacebo] Initialized SPIR-V compiler 'shaderc'
MESA-INTEL: warning: ../src/intel/vulkan_hasvk/anv_formats.c:783: FINISHME: support more multi-planar formats with DRM modifiers
chiaki.gui: [libplacebo] GPU information:
chiaki.gui: [libplacebo]     GLSL version: 450 (vulkan)
chiaki.gui: [libplacebo]       max_shmem_size:            65536
chiaki.gui: [libplacebo]       max_group_threads:         1024
chiaki.gui: [libplacebo]       max_group_size[0]:         1024
chiaki.gui: [libplacebo]       max_group_size[1]:         1024
chiaki.gui: [libplacebo]       max_group_size[2]:         1024
chiaki.gui: [libplacebo]       subgroup_size:             0
chiaki.gui: [libplacebo]       min_gather_offset:         -32
chiaki.gui: [libplacebo]       max_gather_offset:         31
chiaki.gui: [libplacebo]     Limits:
chiaki.gui: [libplacebo]       thread_safe:               1
chiaki.gui: [libplacebo]       callbacks:                 1
chiaki.gui: [libplacebo]       max_buf_size:              1610612736
chiaki.gui: [libplacebo]       max_ubo_size:              134217728
chiaki.gui: [libplacebo]       max_ssbo_size:             1073741824
chiaki.gui: [libplacebo]       max_vbo_size:              1610612736
chiaki.gui: [libplacebo]       max_mapped_size:           1610612736
chiaki.gui: [libplacebo]       max_buffer_texels:         134217728
chiaki.gui: [libplacebo]       align_host_ptr:            4096
chiaki.gui: [libplacebo]       host_cached:               1
chiaki.gui: [libplacebo]       max_tex_1d_dim:            16384
chiaki.gui: [libplacebo]       max_tex_2d_dim:            8192
chiaki.gui: [libplacebo]       max_tex_3d_dim:            2048
chiaki.gui: [libplacebo]       blittable_1d_3d:           1
chiaki.gui: [libplacebo]       buf_transfer:              1
chiaki.gui: [libplacebo]       align_tex_xfer_pitch:      128
chiaki.gui: [libplacebo]       align_tex_xfer_offset:     128
chiaki.gui: [libplacebo]       max_variable_comps:        0
chiaki.gui: [libplacebo]       max_constants:             18446744073709551615
chiaki.gui: [libplacebo]       max_pushc_size:            128
chiaki.gui: [libplacebo]       align_vertex_stride:       1
chiaki.gui: [libplacebo]       max_dispatch[0]:           65535
chiaki.gui: [libplacebo]       max_dispatch[1]:           65535
chiaki.gui: [libplacebo]       max_dispatch[2]:           65535
chiaki.gui: [libplacebo]       fragment_queues:           1
chiaki.gui: [libplacebo]       compute_queues:            1
chiaki.gui: [libplacebo]     External API interop:
chiaki.gui: [libplacebo]       UUID: [REDACTED]
chiaki.gui: [libplacebo]       PCI: 0000:00:02:0
chiaki.gui: [libplacebo]       buf export caps: 0x9
chiaki.gui: [libplacebo]       buf import caps: 0x19
chiaki.gui: [libplacebo]       tex export caps: 0x9
chiaki.gui: [libplacebo]       tex import caps: 0x9
chiaki.gui: [libplacebo]       sync export caps: 0x1
chiaki.gui: [libplacebo]       sync import caps: 0x0
chiaki.gui: Updated PSN hosts
chiaki.gui: [libplacebo] Available surface configurations:
chiaki.gui: [libplacebo]     0: VK_FORMAT_R5G6B5_UNORM_PACK16            VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
chiaki.gui: [libplacebo]     1: VK_FORMAT_B8G8R8A8_SRGB                  VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
chiaki.gui: [libplacebo]     2: VK_FORMAT_B8G8R8A8_UNORM                 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
chiaki.gui: [libplacebo]     3: VK_FORMAT_R8G8B8A8_SRGB                  VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
chiaki.gui: [libplacebo]     4: VK_FORMAT_R8G8B8A8_UNORM                 VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
chiaki.gui: [libplacebo]     5: VK_FORMAT_A2R10G10B10_UNORM_PACK32       VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
chiaki.gui: [libplacebo]     6: VK_FORMAT_R16G16B16A16_SFLOAT            VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
chiaki.gui: [libplacebo] Picked surface configuration 5: VK_FORMAT_A2R10G10B10_UNORM_PACK32 + VK_COLOR_SPACE_SRGB_NONLINEAR_KHR
chiaki.gui: [libplacebo] Requested alpha compositing mode: VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR
chiaki.gui: [libplacebo] Requested surface transform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
chiaki.gui: [libplacebo] Requested image count: 2 (min 4 max 0)
chiaki.gui: [libplacebo] Requested image size: 1280x696 (min 1x1 < cur -1x-1 < max 8192x8192)
chiaki.gui: [libplacebo] (Re)creating swapchain of size 1280x696
chiaki.gui: [libplacebo] (Re)creating 1280x696x0 texture with format rgba8: unknown
chiaki.gui: [libplacebo] Allocating 14467072 memory of type 0x1 (id 0) in heap 0: unknown
chiaki.gui: [libplacebo] Spent 0,012 ms allocating slab
chiaki.gui: [libplacebo] vertex shader source:
chiaki.gui: [libplacebo] [  1] #version 450
chiaki.gui: [libplacebo] [  2] #extension GL_ARB_texture_gather : enable
chiaki.gui: [libplacebo] [  3] layout(std430, push_constant) uniform PushC {
chiaki.gui: [libplacebo] [  4]     layout(offset=0) mat3 _5;
chiaki.gui: [libplacebo] [  5]     layout(offset=48) mat3 _6;
chiaki.gui: [libplacebo] [  6] };
chiaki.gui: [libplacebo] [  7] layout(constant_id=0) const float _3 = 1; 
chiaki.gui: [libplacebo] [  8] layout(constant_id=1) const float _4 = 1; 
chiaki.gui: [libplacebo] [  9] layout(constant_id=2) const float _7 = 1; 
chiaki.gui: [libplacebo] [ 10] layout(constant_id=3) const float _8 = 1; 
chiaki.gui: [libplacebo] [ 11] layout(binding=0) uniform  sampler2D _2;
chiaki.gui: [libplacebo] [ 12] layout(location=0) in vec2 _d;
chiaki.gui: [libplacebo] [ 13] layout(location=1) in vec2 _e;
chiaki.gui: [libplacebo] [ 14] layout(location=1) out vec2 _b;
chiaki.gui: [libplacebo] [ 15] void main() {
chiaki.gui: [libplacebo] [ 16] vec2 va_pos = _d; 
chiaki.gui: [libplacebo] [ 17] gl_Position = vec4(va_pos, 0.0, 1.0); 
chiaki.gui: [libplacebo] [ 18] _b = _e;
chiaki.gui: [libplacebo] [ 19] }
chiaki.gui: [libplacebo] fragment shader source:
chiaki.gui: [libplacebo] [  1] #version 450
chiaki.gui: [libplacebo] [  2] #extension GL_ARB_texture_gather : enable
chiaki.gui: [libplacebo] [  3] layout(std430, push_constant) uniform PushC {
chiaki.gui: [libplacebo] [  4]     layout(offset=0) mat3 _5;
chiaki.gui: [libplacebo] [  5]     layout(offset=48) mat3 _6;
chiaki.gui: [libplacebo] [  6] };
chiaki.gui: [libplacebo] [  7] layout(constant_id=0) const float _3 = 1; 
chiaki.gui: [libplacebo] [  8] layout(constant_id=1) const float _4 = 1; 
chiaki.gui: [libplacebo] [  9] layout(constant_id=2) const float _7 = 1; 
chiaki.gui: [libplacebo] [ 10] layout(constant_id=3) const float _8 = 1; 
chiaki.gui: [libplacebo] [ 11] layout(binding=0) uniform  sampler2D _2;
chiaki.gui: [libplacebo] [ 12] layout(location=1) in vec2 _b;
chiaki.gui: [libplacebo] [ 13] layout(location=0) out vec4 out_color;
chiaki.gui: [libplacebo] [ 14] #define pos _a
chiaki.gui: [libplacebo] [ 15] #define coord _b
chiaki.gui: [libplacebo] [ 16] 
chiaki.gui: [libplacebo] [ 17] vec4 _1() {
chiaki.gui: [libplacebo] [ 18] // overlay 
chiaki.gui: [libplacebo] [ 19] vec4 color = textureLod(_2, coord, 0.0); 
chiaki.gui: [libplacebo] [ 20] // pl_shader_decode_color 
chiaki.gui: [libplacebo] [ 21] { 
chiaki.gui: [libplacebo] [ 22] }
chiaki.gui: [libplacebo] [ 23] // pl_shader_color_map 
chiaki.gui: [libplacebo] [ 24] {                      
chiaki.gui: [libplacebo] [ 25] // pl_shader_linearize           
chiaki.gui: [libplacebo] [ 26] color.rgb = max(color.rgb, 0.0); 
chiaki.gui: [libplacebo] [ 27] color.rgb = mix(color.rgb * vec3(1.0/12.92),               
chiaki.gui: [libplacebo] [ 28]                 pow((color.rgb + vec3(0.055))/vec3(1.055), 
chiaki.gui: [libplacebo] [ 29]                     vec3(2.4)),                            
chiaki.gui: [libplacebo] [ 30]                 lessThan(vec3(0.04045), color.rgb));       
chiaki.gui: [libplacebo] [ 31] color.rgb = _4 * color.rgb + vec3(_3); 
chiaki.gui: [libplacebo] [ 32] // pl_shader_delinearize 
chiaki.gui: [libplacebo] [ 33] color.rgb = max(color.rgb, 0.0); 
chiaki.gui: [libplacebo] [ 34] color.rgb = pow(_8 * color.rgb, vec3(1.0/2.4)) - vec3(_7); 
chiaki.gui: [libplacebo] [ 35] }
chiaki.gui: [libplacebo] [ 36] // pl_shader_encode_color 
chiaki.gui: [libplacebo] [ 37] { 
chiaki.gui: [libplacebo] [ 38] color.rgb *= vec3(color.a); 
chiaki.gui: [libplacebo] [ 39] }
chiaki.gui: [libplacebo] [ 40] vec4 _9 = color;                 
chiaki.gui: [libplacebo] [ 41] color = vec4(0.0, 0.0, 0.0, 1.0); 
chiaki.gui: [libplacebo] [ 42] color[0] = _9[0]; 
chiaki.gui: [libplacebo] [ 43] color[1] = _9[1]; 
chiaki.gui: [libplacebo] [ 44] color[2] = _9[2]; 
chiaki.gui: [libplacebo] [ 45] color[3] = _9[3]; 
chiaki.gui: [libplacebo] [ 46] color.a = _9.a; 
chiaki.gui: [libplacebo] [ 47] return color;
chiaki.gui: [libplacebo] [ 48] }
chiaki.gui: [libplacebo] [ 49] 
chiaki.gui: [libplacebo] [ 50] void main() {
chiaki.gui: [libplacebo] [ 51] out_color = _1();
chiaki.gui: [libplacebo] [ 52] }
chiaki.gui: [libplacebo] Specialization constant values:
chiaki.gui: [libplacebo]   constant_id=0: 0,001000
chiaki.gui: [libplacebo]   constant_id=1: 0,999000
chiaki.gui: [libplacebo]   constant_id=2: 0,059585
chiaki.gui: [libplacebo]   constant_id=3: 1,149015
chiaki.gui: [libplacebo] Re-using cached SPIR-V object 0x81045ea02363ccb6
chiaki.gui: [libplacebo] Re-using cached SPIR-V object 0x2635b3a80d6db59d
chiaki.gui: [libplacebo] Spent 0,019 ms compiling shader
chiaki.gui: [libplacebo] Spent 0,059 ms creating pipeline
chiaki.gui: [libplacebo] Pass statistics: size 0, SPIR-V: vert 0 frag 0 comp 0
chiaki.gui: [libplacebo] Allocating 261888 memory of type 0xf (id 1) in heap 0: ../src/gpu/utils.c:1160
chiaki.gui: [libplacebo] Spent 0,035 ms allocating slab
chiaki.gui: [libplacebo] Requested alpha compositing mode: VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR
chiaki.gui: [libplacebo] Requested surface transform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
chiaki.gui: [libplacebo] Requested image count: 4 (min 4 max 0)
chiaki.gui: [libplacebo] Requested image size: 1366x698 (min 1x1 < cur -1x-1 < max 8192x8192)
chiaki.gui: [libplacebo] (Re)creating swapchain of size 1366x698
chiaki.gui: [libplacebo] (Re)creating 1366x698x0 texture with format rgba8: unknown
chiaki.gui: [libplacebo] Allocating 15548416 memory of type 0x1 (id 0) in heap 0: unknown
chiaki.gui: [libplacebo] Spent 0,010 ms allocating slab
chiaki.gui: [libplacebo] Garbage collected slab of size   13M from pool 0
chiaki.gui: [libplacebo] Freeing slab of size   13M
[I] Logging to file /home/adagium/.var/app/io.github.streetpea.Chiaki4deck/data/Chiaki/Chiaki/log/chiaki_session_2024-05-14_18-56-22-916916.log
[I] Chiaki Version 1.7.0
[V] Holepunch session state: 0 = [ ]
[I] ChiakiOpusEncoder initialized
Could not connect to Steam Deck...Steam Deck native gyro & haptics offline
[I] Steam Deck not found ... Steam Deck native features disabled

[D] [libplacebo] Requested alpha compositing mode: VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR
[D] [libplacebo] Requested surface transform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
[D] [libplacebo] Requested image count: 4 (min 4 max 0)
[D] [libplacebo] Requested image size: 1920x1080 (min 1x1 < cur -1x-1 < max 8192x8192)
[D] [libplacebo] (Re)creating swapchain of size 1920x1080
[D] [libplacebo] (Re)creating 1920x1080x0 texture with format rgba8: unknown
[D] [libplacebo] Allocating 33505280 memory of type 0x1 (id 0) in heap 0: unknown
[D] [libplacebo] Spent 0,019 ms allocating slab
[D] [libplacebo] Requested alpha compositing mode: VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR
[D] [libplacebo] Requested surface transform: VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR
[D] [libplacebo] Requested image count: 4 (min 4 max 0)
[D] [libplacebo] Requested image size: 1366x698 (min 1x1 < cur -1x-1 < max 8192x8192)
[D] [libplacebo] (Re)creating swapchain of size 1366x698
[D] [libplacebo] (Re)creating 1366x698x0 texture with format rgba8: unknown
[D] [libplacebo] Garbage collected slab of size   31M from pool 0
[D] [libplacebo] Freeing slab of size   31M
[V] chiaki_holepunch_session_create: Created websocket thread
[V] chiaki_holepunch_session_create: Waiting for websocket to open...
[V] websocket_thread_func: Connected to push notification WebSocket wss://[REDACTED].playstation.net/np/pushNotification
[V] Holepunch session state: 1 = [ ✅WS_OPEN ]
[V] http_create_session: Sending JSON:
{"remotePlaySessions":[{"members":[{"accountId":"me","deviceUniqueId":"me","platform":"me","pushContexts":[{"pushContextId":"[REDACTED]"}]}]}]}
[V] websocket_thread_func: PING.
[V] websocket_thread_func: Received WebSocket frame of length 0 with flags 64
[V] websocket_thread_func: Received PONG.
[V] websocket_thread_func: Received WebSocket frame of length 742 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 742 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:members:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"REMOTE_PLAY"
        }
      },
      "members":[
        {
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "joinTimestamp":1715723785031,
          "onlineId":"[REDACTED]",
          "platform":"REMOTE_PLAY"
        }
      ],
      "sessionId":"[REDACTED]"
    }
  },
  "contexts":[
    {
      "contextId":"[REDACTED]",
      "sequenceNumber":2
    }
  ]
}
[V] Received notification of type 2
[V] websocket_thread_func: Received WebSocket frame of length 554 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 554 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:remotePlaySession:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"REMOTE_PLAY"
        }
      },
      "sessionId":"[REDACTED]"
    }
  },
  "contexts":[
    {
      "contextId":"[REDACTED]",
      "sequenceNumber":1
    }
  ]
}
[V] Received notification of type 1
[V] http_create_session: Received JSON:
{"remotePlaySessions":[{"sessionId":"[REDACTED]","members":[{"accountId":"[REDACTED]","platform":"REMOTE_PLAY","deviceUniqueId":"[REDACTED]"}]}]}
[V] chiaki_holepunch_session_create: Sent holepunch session creation request
[V] wait_for_notification: Found notification of type 2
[V] chiaki_holepunch_session_create: Client joined.
[V] Holepunch session state: 9 = [ ✅WS_OPEN ✅CLIENT_JOINED ]
[V] wait_for_notification: Found notification of type 1
[V] chiaki_holepunch_session_create: Holepunch session created.
[V] Holepunch session state: 11 = [ ✅WS_OPEN ✅CREATED ✅CLIENT_JOINED ]
[I] >> Created session
[I] Duid: [REDACTED]
[V] chiaki_holepunch_session_start: Starting holepunch session [REDACTED] for device [REDACTED]
[V] http_start_session: Sending JSON:
{"commandDetail":{"commandType":"remotePlay","duid":"[REDACTED]","messageDestination":"SQS","parameters":{"initialParams":"{\"accountId\":[REDACTED],\"roomId\":0,\"sessionId\":\"[REDACTED]\",\"clientType\":\"Windows\",\"data1\":\"[REDACTED]",\"data2\":\"[REDACTED]\"}"},"platform":"PS5"}}
[V] http_start_session: Received JSON:
{"commandId":"[REDACTED]"}
[V] Holepunch session state: 27 = [ ✅WS_OPEN ✅CREATED ✅CLIENT_JOINED ✅DATA_SENT ]
[V] websocket_thread_func: Received WebSocket frame of length 768 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 768 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:members:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "members":[
        {
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "joinTimestamp":[REDACTED],
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      ],
      "sessionId":"[REDACTED]"
    }
  },
  "contexts":[
    {
      "contextId":"[REDACTED]",
      "sequenceNumber":3
    }
  ]
}
[V] Received notification of type 2
[V] wait_for_notification: Found notification of type 2
[V] Holepunch session state: 59 = [ ✅WS_OPEN ✅CREATED ✅CLIENT_JOINED ✅DATA_SENT ✅CONSOLE_JOINED ]
[V] websocket_thread_func: Received WebSocket frame of length 529 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 529 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:customData1:updated",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customData1":"UGVZazcwcW5WZy9FNldLaHlTS1JXdz09",
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "sessionId":"[REDACTED]"
    }
  }
}
[V] Received notification of type 8
[V] wait_for_notification: Found notification of type 8
[V] Holepunch session state: 123 = [ ✅WS_OPEN ✅CREATED ✅CLIENT_JOINED ✅DATA_SENT ✅CONSOLE_JOINED ✅CUSTOMDATA1_RECEIVED ]
[I] >> Started session
[V] websocket_thread_func: Received WebSocket frame of length 1225 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 1225 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:sessionMessage:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "sessionId":"[REDACTED]",
      "sessionMessage":{
        "channel":"remote_play:1",
        "payload":"ver=1.0, type=text, body={\"action\":\"OFFER\",\"reqId\":9,\"error\":0,\"connRequest\":{\"sid\":36977,\"peerSid\":0,\"skey\":\"[REDACTED]\",\"natType\":2,\"candidate\":[{\"type\":\"STATIC\",\"addr\":\"[REDACTED]\",\"mappedAddr\":\"0.0.0.0\",\"port\":9303,\"mappedPort\":0},{\"type\":\"STATIC\",\"addr\":\"192.168.0.30\",\"mappedAddr\":\"0.0.0.0\",\"port\":9303,\"mappedPort\":0},{\"type\":\"LOCAL\",\"addr\":\"192.168.1.10\",\"mappedAddr\":\"0.0.0.0\",\"port\":9303,\"mappedPort\":0}],\"defaultRouteMacAddr\":\"[REDACTED]\",\"localPeerAddr\":{\"accountId\":\"[REDACTED]\",\"platform\":\"PROSPERO\"},\"localHashedId\":\"[REDACTED]"}}"
      }
    }
  }
}
[V] Received notification of type 16
[V] wait_for_notification: Found notification of type 16
[V] Message to send: {"channel":"remote_play:1","payload":"ver=1.0, type=text, body={\"action\":\"RESULT\",\"reqId\":9,\"error\":0,\"connRequest\":{}}","to":[{"accountId":"[REDACTED]","deviceUniqueId":"[REDACTED]","platform":"PS5"}]}
[I] Failed to discover internet gateway via UPnP: err=0
[V] -----------------CONNECTION REQUEST---------------------
[V] sid: 36900
[V] peer_sid: 36977
[V] skey: [REDACTED]
[V] nat type 2
[V] local hashed id [REDACTED]
[V] Message to send: {"channel":"remote_play:1","payload":"ver=1.0, type=text, body={\"action\":\"OFFER\",\"reqId\":1,\"error\":0,\"connRequest\":{\"sid\":36900,\"peerSid\":36977,\"skey\":\"[REDACTED]",\"natType\":2,\"candidate\":[{\"type\":\"STATIC\",\"addr\":\"[REDACTED]\",\"mappedAddr\":\"0.0.0.0\",\"port\":54599,\"mappedPort\":0},{\"type\":\"LOCAL\",\"addr\":\"10.0.0.136\",\"mappedAddr\":\"0.0.0.0\",\"port\":54599,\"mappedPort\":0}],\"defaultRouteMacAddr\":\"\",\"localPeerAddr\":{\"accountId\":\"[REDACTED]\",\"platform\":\"REMOTE_PLAY\"},\"localHashedId\":\"[REDACTED]"}}","to":[{"accountId":"[REDACTED]","deviceUniqueId":"[REDACTED]","platform":"PS5"}]}
[V] wait_for_notification: Found notification of type 16
[V] Ignoring holepunch session message with action 1
[V] websocket_thread_func: PING.
[V] websocket_thread_func: Received WebSocket frame of length 1225 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 1225 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:sessionMessage:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "sessionId":"[REDACTED]",
      "sessionMessage":{
        "channel":"remote_play:1",
        "payload":"ver=1.0, type=text, body={\"action\":\"OFFER\",\"reqId\":9,\"error\":0,\"connRequest\":{\"sid\":36977,\"peerSid\":0,\"skey\":\"[REDACTED]\",\"natType\":2,\"candidate\":[{\"type\":\"STATIC\",\"addr\":\"[REDACTED]\",\"mappedAddr\":\"0.0.0.0\",\"port\":9303,\"mappedPort\":0},{\"type\":\"STATIC\",\"addr\":\"192.168.0.30\",\"mappedAddr\":\"0.0.0.0\",\"port\":9303,\"mappedPort\":0},{\"type\":\"LOCAL\",\"addr\":\"192.168.1.10\",\"mappedAddr\":\"0.0.0.0\",\"port\":9303,\"mappedPort\":0}],\"defaultRouteMacAddr\":\"[REDACTED]\",\"localPeerAddr\":{\"accountId\":\"[REDACTED]\",\"platform\":\"PROSPERO\"},\"localHashedId\":\"[REDACTED]"}}"
      }
    }
  }
}
[V] Received notification of type 16
[V] Message to send: {"channel":"remote_play:1","payload":"ver=1.0, type=text, body={\"action\":\"RESULT\",\"reqId\":9,\"error\":0,\"connRequest\":{}}","to":[{"accountId":"[REDACTED]","deviceUniqueId":"[REDACTED]","platform":"PS5"}]}
[V] wait_for_notification: Found notification of type 16
[V] Ignoring holepunch session message with action 1
[V] websocket_thread_func: Received WebSocket frame of length 0 with flags 64
[V] websocket_thread_func: Received PONG.
[V] websocket_thread_func: Received WebSocket frame of length 632 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 632 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:sessionMessage:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "sessionId":"[REDACTED]",
      "sessionMessage":{
        "channel":"remote_play:1",
        "payload":"ver=1.0, type=text, body={\"action\":\"RESULT\",\"reqId\":1,\"error\":0,\"connRequest\":{}}"
      }
    }
  }
}
[V] Received notification of type 16
[V] wait_for_notification: Found notification of type 16
[V] --------------REMOTE CANDIDATE--------------------
[V] Address: [REDACTED]
[V] Mapped Address: 0.0.0.0
[V] Port: 9303
[V] Mapped Port: 0
[V] --------------REMOTE CANDIDATE--------------------
[V] Address: 192.168.0.30
[V] Mapped Address: 0.0.0.0
[V] Port: 9303
[V] Mapped Port: 0
[V] --------------LOCAL CANDIDATE---------------------
[V] Address: 192.168.1.10
[V] Mapped Address: 0.0.0.0
[V] Port: 9303
[V] Mapped Port: 0
[V] check_candidate: Receiving data from [REDACTED]:9303
[V] check_candidate: Receiving data from [REDACTED]:9303
[V] check_candidate: Receiving data from [REDACTED]:9303
[V] Selected Candidate
[V] --------------REMOTE CANDIDATE--------------------
[V] Address: [REDACTED]
[V] Mapped Address: 0.0.0.0
[V] Port: 9303
[V] Mapped Port: 0
[I] Sent response to [REDACTED]:9303
[I] Sent response to [REDACTED]:9303
[I] Sent response to [REDACTED]:9303
[V] websocket_thread_func: Received WebSocket frame of length 921 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 921 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:sessionMessage:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "sessionId":"[REDACTED]",
      "sessionMessage":{
        "channel":"remote_play:1",
        "payload":"ver=1.0, type=text, body={\"action\":\"ACCEPT\",\"reqId\":10,\"error\":0,\"connRequest\":{\"sid\":36977,\"peerSid\":36900,\"skey\":\"[REDACTED]\",\"natType\":0,\"candidate\":[{\"type\":\"DERIVED\",\"addr\":\"[REDACTED]\",\"mappedAddr\":\"[REDACTED]\",\"port\":18844,\"mappedPort\":9303}],\"defaultRouteMacAddr\":\"\",\"localPeerAddr\":,\"localHashedId\":\"\"}}"
      }
    }
  }
}
[V] Received notification of type 16
[V] Message to send: {"channel":"remote_play:1","payload":"ver=1.0, type=text, body={\"action\":\"ACCEPT\",\"reqId\":2,\"error\":0,\"connRequest\":{\"sid\":36900,\"peerSid\":36977,\"skey\":\"[REDACTED]",\"natType\":0,\"candidate\":[{\"type\":\"STATIC\",\"addr\":\"[REDACTED]\",\"mappedAddr\":\"[REDACTED]\",\"port\":9303,\"mappedPort\":54599}],\"defaultRouteMacAddr\":\"\",\"localPeerAddr\":{\"accountId\":\"[REDACTED]\",\"platform\":\"REMOTE_PLAY\"},\"localHashedId\":\"\"}}","to":[{"accountId":"[REDACTED]","deviceUniqueId":"[REDACTED]","platform":"PS5"}]}
[V] wait_for_notification: Found notification of type 16
[V] Ignoring holepunch session message with action 4
[V] wait_for_notification: Found notification of type 16
[V] Message to send: {"channel":"remote_play:1","payload":"ver=1.0, type=text, body={\"action\":\"RESULT\",\"reqId\":10,\"error\":0,\"connRequest\":{}}","to":[{"accountId":"[REDACTED]","deviceUniqueId":"[REDACTED]","platform":"PS5"}]}
[V] websocket_thread_func: Received WebSocket frame of length 632 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 632 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:sessionMessage:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "sessionId":"[REDACTED]",
      "sessionMessage":{
        "channel":"remote_play:1",
        "payload":"ver=1.0, type=text, body={\"action\":\"RESULT\",\"reqId\":2,\"error\":0,\"connRequest\":{}}"
      }
    }
  }
}
[V] Received notification of type 16
[V] chiaki_holepunch_session_punch_holes: Control connection established.
[V] Holepunch session state: 2299 = [ ✅WS_OPEN ✅CREATED ✅CLIENT_JOINED ✅DATA_SENT ✅CONSOLE_JOINED ✅CUSTOMDATA1_RECEIVED ✅CTRL_OFFER_RECEIVED ✅CTRL_ESTABLISHED ]
[I] >> Punched hole for control connection!
[V] Regist formatted request header:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
                                    0..             
                   [REDACTED]
                   [REDACTED]
                   [REDACTED]
[I] RP-Support Cmd: 0
[I] Regist successfully received response
[I] PS5-857 successfully registered for Remote Play
[I] Starting session request for PS5
[I] SESSION START THREAD - Starting RUDP session
[V] Sending Message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
                   [REDACTED]
                   [REDACTED]
                   [REDACTED]

[V]    100 6d 64 3a 20 30 39 32 30 30 30 0d 0a 0d 0a       md:.092000....  
[I] Ctrl received ctrl request http response
[I] Ctrl got Server Type: 2
[I] Ctrl connected
[V] Receiving message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 13 24 4f 24 4f 02 30 0c 35 00 00 00 01 00 05 ..$O$O.0.5......
                   [REDACTED]

[V] Acked seq num 0 from Rudp Send Buffer
[V] Sending Message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 0e 24 4f 24 4f 24 30 12 1c 0c 36 00 92       ..$O$O$0...6..  
[V] Acked seq num 0x121c from Rudp Send Buffer
[V] Ctrl received message of type 0x5, size 0x1
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 00                                              .               
[I] Ctrl received Login message: success
[V] websocket_thread_func: PING.
[V] websocket_thread_func: Received WebSocket frame of length 1332 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 1332 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:sessionMessage:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "sessionId":"[REDACTED]",
      "sessionMessage":{
        "channel":"remote_play:1",
        "payload":"ver=1.0, type=text, body={\"action\":\"OFFER\",\"reqId\":11,\"error\":0,\"connRequest\":{\"sid\":36978,\"peerSid\":0,\"skey\":\"[REDACTED]\",\"natType\":2,\"candidate\":[{\"type\":\"STUN\",\"addr\":\"[REDACTED]\",\"mappedAddr\":\"0.0.0.0\",\"port\":44184,\"mappedPort\":0},{\"type\":\"STATIC\",\"addr\":\"[REDACTED]\",\"mappedAddr\":\"0.0.0.0\",\"port\":9297,\"mappedPort\":0},{\"type\":\"STATIC\",\"addr\":\"192.168.0.30\",\"mappedAddr\":\"0.0.0.0\",\"port\":9297,\"mappedPort\":0},{\"type\":\"LOCAL\",\"addr\":\"192.168.1.10\",\"mappedAddr\":\"0.0.0.0\",\"port\":9297,\"mappedPort\":0}],\"defaultRouteMacAddr\":\"[REDACTED]\",\"localPeerAddr\":{\"accountId\":\"[REDACTED]\",\"platform\":\"PROSPERO\"},\"localHashedId\":\"[REDACTED]"}}"
      }
    }
  }
}
[V] Received notification of type 16
[V] websocket_thread_func: Received WebSocket frame of length 0 with flags 64
[V] websocket_thread_func: Received PONG.
[I] Punching hole for data connection
[V] wait_for_notification: Found notification of type 16
[V] Ignoring holepunch session message with action 8
[V] wait_for_notification: Found notification of type 16
[V] Ignoring holepunch session message with action 4
[V] wait_for_notification: Found notification of type 16
[V] Message to send: {"channel":"remote_play:1","payload":"ver=1.0, type=text, body={\"action\":\"RESULT\",\"reqId\":11,\"error\":0,\"connRequest\":{}}","to":[{"accountId":"[REDACTED]","deviceUniqueId":"[REDACTED]","platform":"PS5"}]}
[V] Receiving message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 12 24 4f 24 4f 02 30 0c 36 00 00 00 00 00 fe ..$O$O.0.6......
[V]     10 00 00                                           ..              
[V] Acked seq num 0 from Rudp Send Buffer
[V] Sending Message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 0e 24 4f 24 4f 24 30 12 1c 0c 37 00 92       ..$O$O$0...7..  
[V] Ctrl received message of type 0xfe, size 0
[I] Ctrl received Heartbeat, sending reply
[V] Ctrl sending message type 1fe, size 0

[V] Sending Message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 12 24 4f 24 4f 02 30 12 1c 00 00 00 00 01 fe ..$O$O.0........
[V]     10 00 00                                           ..              
[V] Pushed seq num 0x121d into Rudp Send Buffer
[V] Receiving message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 0e 24 4f 24 4f 24 30 0c 37 12 1d 00 a8       ..$O$O$0.7....  
[V] Acked seq num 0x121d from Rudp Send Buffer
[V] websocket_thread_func: PING.
[V] websocket_thread_func: Received WebSocket frame of length 0 with flags 64
[V] websocket_thread_func: Received PONG.
[I] Failed to discover internet gateway via UPnP: err=0
[V] -----------------CONNECTION REQUEST---------------------
[V] sid: 36900
[V] peer_sid: 36978
[V] skey: [REDACTED]
[V] nat type 2
[V] local hashed id [REDACTED]
[V] Message to send: {"channel":"remote_play:1","payload":"ver=1.0, type=text, body={\"action\":\"OFFER\",\"reqId\":3,\"error\":0,\"connRequest\":{\"sid\":36900,\"peerSid\":36978,\"skey\":\"[REDACTED]",\"natType\":2,\"candidate\":[{\"type\":\"STATIC\",\"addr\":\"[REDACTED]\",\"mappedAddr\":\"0.0.0.0\",\"port\":37670,\"mappedPort\":0},{\"type\":\"LOCAL\",\"addr\":\"10.0.0.136\",\"mappedAddr\":\"0.0.0.0\",\"port\":37670,\"mappedPort\":0}],\"defaultRouteMacAddr\":\"\",\"localPeerAddr\":{\"accountId\":\"[REDACTED]\",\"platform\":\"REMOTE_PLAY\"},\"localHashedId\":\"[REDACTED]"}}","to":[{"accountId":"[REDACTED]","deviceUniqueId":"[REDACTED]","platform":"PS5"}]}
[V] wait_for_notification: Found notification of type 16
[V] Ignoring holepunch session message with action 1
[V] websocket_thread_func: Received WebSocket frame of length 1332 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 1332 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:sessionMessage:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "sessionId":"[REDACTED]",
      "sessionMessage":{
        "channel":"remote_play:1",
        "payload":"ver=1.0, type=text, body={\"action\":\"OFFER\",\"reqId\":11,\"error\":0,\"connRequest\":{\"sid\":36978,\"peerSid\":0,\"skey\":\"[REDACTED]\",\"natType\":2,\"candidate\":[{\"type\":\"STUN\",\"addr\":\"[REDACTED]\",\"mappedAddr\":\"0.0.0.0\",\"port\":44184,\"mappedPort\":0},{\"type\":\"STATIC\",\"addr\":\"[REDACTED]\",\"mappedAddr\":\"0.0.0.0\",\"port\":9297,\"mappedPort\":0},{\"type\":\"STATIC\",\"addr\":\"192.168.0.30\",\"mappedAddr\":\"0.0.0.0\",\"port\":9297,\"mappedPort\":0},{\"type\":\"LOCAL\",\"addr\":\"192.168.1.10\",\"mappedAddr\":\"0.0.0.0\",\"port\":9297,\"mappedPort\":0}],\"defaultRouteMacAddr\":\"[REDACTED]\",\"localPeerAddr\":{\"accountId\":\"[REDACTED]\",\"platform\":\"PROSPERO\"},\"localHashedId\":\"[REDACTED]"}}"
      }
    }
  }
}
[V] Received notification of type 16
[V] Message to send: {"channel":"remote_play:1","payload":"ver=1.0, type=text, body={\"action\":\"RESULT\",\"reqId\":11,\"error\":0,\"connRequest\":{}}","to":[{"accountId":"[REDACTED]","deviceUniqueId":"[REDACTED]","platform":"PS5"}]}
[V] wait_for_notification: Found notification of type 16
[V] websocket_thread_func: Received WebSocket frame of length 632 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 632 bytes of payload.
[V] Ignoring holepunch session message with action 1
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:sessionMessage:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "sessionId":"[REDACTED]",
      "sessionMessage":{
        "channel":"remote_play:1",
        "payload":"ver=1.0, type=text, body={\"action\":\"RESULT\",\"reqId\":3,\"error\":0,\"connRequest\":{}}"
      }
    }
  }
}
[V] Received notification of type 16
[V] wait_for_notification: Found notification of type 16
[V] --------------REMOTE CANDIDATE--------------------
[V] Address: [REDACTED]
[V] Mapped Address: 0.0.0.0
[V] Port: 44184
[V] Mapped Port: 0
[V] --------------REMOTE CANDIDATE--------------------
[V] Address: [REDACTED]
[V] Mapped Address: 0.0.0.0
[V] Port: 9297
[V] Mapped Port: 0
[V] --------------REMOTE CANDIDATE--------------------
[V] Address: 192.168.0.30
[V] Mapped Address: 0.0.0.0
[V] Port: 9297
[V] Mapped Port: 0
[V] --------------LOCAL CANDIDATE---------------------
[V] Address: 192.168.1.10
[V] Mapped Address: 0.0.0.0
[V] Port: 9297
[V] Mapped Port: 0
[V] Receiving message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 12 24 4f 24 4f 02 30 0c 37 00 00 00 00 00 fe ..$O$O.0.7......
[V]     10 00 00                                           ..              
[V] Acked seq num 0 from Rudp Send Buffer
[V] Sending Message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 0e 24 4f 24 4f 24 30 12 1d 0c 38 00 92       ..$O$O$0...8..  
[V] Ctrl received message of type 0xfe, size 0
[I] Ctrl received Heartbeat, sending reply
[V] Ctrl sending message type 1fe, size 0

[V] Sending Message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 12 24 4f 24 4f 02 30 12 1d 00 00 00 00 01 fe ..$O$O.0........
[V]     10 00 00                                           ..              
[V] Pushed seq num 0x121e into Rudp Send Buffer
[V] Receiving message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 0e 24 4f 24 4f 24 30 0c 38 12 1e 00 eb       ..$O$O$0.8....  
[V] Acked seq num 0x121e from Rudp Send Buffer
[V] websocket_thread_func: PING.
[V] websocket_thread_func: Received WebSocket frame of length 0 with flags 64
[V] websocket_thread_func: Received PONG.
[V] Receiving message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 12 24 4f 24 4f 02 30 0c 38 00 00 00 00 00 fe ..$O$O.0.8......
[V]     10 00 00                                           ..              
[V] Acked seq num 0 from Rudp Send Buffer
[V] Sending Message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 0e 24 4f 24 4f 24 30 12 1e 0c 39 00 92       ..$O$O$0...9..  
[V] Ctrl received message of type 0xfe, size 0
[I] Ctrl received Heartbeat, sending reply
[V] Ctrl sending message type 1fe, size 0

[V] Sending Message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 12 24 4f 24 4f 02 30 12 1e 00 00 00 00 01 fe ..$O$O.0........
[V]     10 00 00                                           ..              
[V] Pushed seq num 0x121f into Rudp Send Buffer
[V] Receiving message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 0e 24 4f 24 4f 24 30 0c 39 12 1f 00 a7       ..$O$O$0.9....  
[V] Acked seq num 0x121f from Rudp Send Buffer
[V] Receiving message:
[V] offset 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f  0123456789abcdef
[V]      0 c0 10 24 4f 24 4f c0 00 00 00 00 00 a2 47 f7 19 ..$O$O.......G..
[I] Received rudp finish message, stopping ctrl.
[V] websocket_thread_func: Received WebSocket frame of length 807 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 807 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:sessionMessage:created",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"PROSPERO"
        }
      },
      "sessionId":"[REDACTED]",
      "sessionMessage":{
        "channel":"remote_play:1",
        "payload":"ver=1.0, type=text, body={\"action\":\"TERMINATE\",\"reqId\":12,\"error\":0,\"connRequest\":{\"sid\":36978,\"peerSid\":36900,\"skey\":\"[REDACTED]\",\"natType\":0,\"candidate\":[],\"defaultRouteMacAddr\":\"\",\"localPeerAddr\":,\"localHashedId\":\"\"}}"
      }
    }
  }
}
[V] Received notification of type 16
[E] check_candidate: Select timed out
[E] chiaki_holepunch_session_punch_holes: Failed to find reachable candidate for data connection.
[E] !! Failed to punch hole for data connection.
[I] Ctrl requested to stop
[I] Ctrl stopped
[I] Session has quit
[V] websocket_thread_func: PING.
[V] websocket_thread_func: Received WebSocket frame of length 712 with flags 1
[V] websocket_thread_func: Received WebSocket frame with 712 bytes of payload.
[V] {
  "version":"2.1",
  "method":3001,
  "dataType":"psn:sessionManager:sys:rps:members:deleted",
  "to":{
    "accountId":[REDACTED],
    "onlineId":"[REDACTED]",
    "platform":[
      "REMOTE_PLAY"
    ],
    "isSystemOnly":false,
    "toSystem":false
  },
  "body":{
    "data":{
      "customProperties":{
        "from":{
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"REMOTE_PLAY"
        }
      },
      "members":[
        {
          "accountId":"[REDACTED]",
          "deviceUniqueId":"[REDACTED]",
          "onlineId":"[REDACTED]",
          "platform":"REMOTE_PLAY"
        }
      ],
      "sessionId":"[REDACTED]"
    }
  },
  "contexts":[
    {
      "contextId":"[REDACTED]",
      "sequenceNumber":4
    }
  ]
}
[V] Received notification of type 4
[V] wait_for_notification: Found notification of type 4
[V] Holepunch session state: 137467 = [ ✅WS_OPEN ✅DELETED ✅CREATED ✅CLIENT_JOINED ✅DATA_SENT ✅CONSOLE_JOINED ✅CUSTOMDATA1_RECEIVED ✅CTRL_OFFER_RECEIVED ✅CTRL_ESTABLISHED ✅DATA_OFFER_RECEIVED ]
[I] chiaki_holepunch_session_fini: Holepunch session deleted.
[E] websocket_thread_func: Select canceled.

To Reproduce Steps to reproduce the behavior:

  1. Follow the steps to setup Remote Connection
  2. Go to another network and try to "Remote Connection via PSN"
  3. Chiaki4Deki asks for my PIN (my profile has a PIN).
  4. The session ends with "Chiaki Session has quit: Unknown/Ctrl failed to connect".

Expected behavior A successful Remote Connection with my PS5 via PSN

Screenshots Initial screen on my local network: Captura de tela de 2024-05-16 01-43-43

Initial screen on another network: Captura de tela de 2024-05-16 01-40-29

Trying to connect: Captura de tela de 2024-05-14 18-54-22

It fails: Captura de tela de 2024-05-14 18-56-56 "Ctrl failed to connect"

Desktop (please complete the following information):

Additional context

streetpea commented 5 months ago

@Adagium42 I opened #334 for the PS4 not being detected. Unfortunately, I don't have a ps4 to test against so I never tested the PS4 so there is likely a bug with listing the PS4 that wasn't detected so your assistance with testing would be helpful if you're willing to assist

streetpea commented 5 months ago

@Adagium42 can you try the updated flatpak?

Adagium42 commented 5 months ago

@Adagium42 can you try the updated flatpak?

Yeah, I tried the most recent update (1.7.0, with updated vulkan Flatpak), the custom build in Flatpak and a custom build in the AppImage. I've been testing Chiaki4Deck remote connection for over the last 2 days, and I've finally managed to remotely connect to the PS5. Both yesterday (3rd day) and the day before yesterday (2nd day). And in all three builds.

In the 2nd day, the first attempts gave an error ("Ctrl failed to connect"). On the 5th attempt I had my first success with a remote connection and it worked as expected. Subsequent connections were also successful. And on the 3rd day I was also successful in all attempts except the last ones ("Ctrl failed to connect" error, same as logged in the first comment, which, in this case, also didn't work even with the official PS Remote Play, but I was able to connect locally when I've arrive at home).

I will continue to conduct tests. I don't know if this was a temporary problem with my home network. My PS5 was restarted at least once from the first day of testing to the second, and the router is programmed to restart automatically during the night. I don't know if the fact that, on the first day, I was able to connect to the PS5 via PS Remote Play but couldn't via Chiaki4Deck means anything (I mean, it's still a bug?). The ports I've mentioned before on #334 indeed doesn't mean anything, as here at my home it continues to connect on the port 9306, but when I'm on remote connection it successfully connect to 9303.

danmckinley commented 5 months ago

Bump, I am having a nearly identical issue. Not able to connect through adding manually either. A few days ago wake up packets did get through while on my phone's wireless hotspot, but I haven't been able to get my console to wake up from outside my wireless network with the latest flatpak, which I tested today.

SolidEdgard commented 5 months ago

@streetpea first post here, sorry if it's on the wrong topic, but I have a similar issue and was afraid of opening a new post:

The issue is the (new) PS5 connection using PSN. If I use my smartphone, to route 4G to my deck, it works ok but slow\bad image quality. If I use my brothers internet (the only place after my house that I have tested) I can connect to the PS5, the image is much better than using my smartphone mobile data, BUT after a few minutes the connection drops. With no warning message, nothing, it will just go to menu. If I select the PS5, the connection is up for a few minutes, and them again, connection drop. I tought that it would be something with his ISP or router config, but I can connect the official PS App on my smartphone, connected on his 5ghz wifi and works ok. So I think it may be some under the hood configuration, and you might check if it's something you can fix (again, it may be some incompatibility with his route and chiaki configs).

The end of the report that shows the error "Server shutting down". It's working fine, and them, drops the connection:

[...] [2024-05-24 23:58:08:004004] [W] Missing unit 0xd [2024-05-24 23:58:08:004004] [W] Missing unit 0xe [2024-05-24 23:58:08:004004] [D] StreamConnection reporting corrupt frame(s) from 7960 to 7960 [2024-05-24 23:58:08:004004] [W] Failed to complete frame 7960 [2024-05-24 23:58:08:013013] [W] Detected missing or corrupt frame(s) from 7960 to 7961 [2024-05-24 23:58:08:014014] [D] StreamConnection reporting corrupt frame(s) from 7960 to 7960 [2024-05-24 23:58:08:020020] [W] Missing reference frame 7960 for decoding frame 7961 -> changed to 7959 [2024-05-24 23:58:11:994994] [I] Ctrl received Heartbeat, sending reply [2024-05-24 23:58:17:054054] [I] Ctrl received Heartbeat, sending reply [2024-05-24 23:58:22:109109] [I] Ctrl received Heartbeat, sending reply [2024-05-24 23:58:27:162162] [I] Ctrl received Heartbeat, sending reply [2024-05-24 23:58:32:220220] [I] Ctrl received Heartbeat, sending reply [2024-05-24 23:58:37:276276] [I] Ctrl received Heartbeat, sending reply [2024-05-24 23:58:38:009009] [W] Detected missing or corrupt frame(s) from 9758 to 9759 [2024-05-24 23:58:38:009009] [D] StreamConnection reporting corrupt frame(s) from 9758 to 9758 [2024-05-24 23:58:38:019019] [W] Missing reference frame 9758 for decoding frame 9759 -> changed to 9757 [2024-05-24 23:58:42:331331] [I] Ctrl received Heartbeat, sending reply [2024-05-24 23:58:47:383383] [I] Ctrl received Heartbeat, sending reply [2024-05-24 23:58:52:439439] [I] Ctrl received Heartbeat, sending reply [2024-05-24 23:58:57:502502] [I] Ctrl received Heartbeat, sending reply [2024-05-24 23:59:08:005005] [W] Detected missing or corrupt frame(s) from 11555 to 11556 [2024-05-24 23:59:08:006006] [D] StreamConnection reporting corrupt frame(s) from 11555 to 11555 [2024-05-24 23:59:08:006006] [W] Missing reference frame 11555 for decoding frame 11556 -> changed to 11554 [2024-05-24 23:59:08:759759] [I] Remote disconnected from StreamConnection with reason "Server shutting down" [2024-05-24 23:59:08:759759] [I] StreamConnection is disconnecting [2024-05-24 23:59:08:759759] [I] StreamConnection sending Disconnect [2024-05-24 23:59:08:759759] [I] StreamConnection closing after Remote disconnected [2024-05-24 23:59:08:759759] [I] StreamConnection closed takion [2024-05-24 23:59:08:759759] [E] Remote disconnected from StreamConnection [2024-05-24 23:59:08:759759] [I] Ctrl requested to stop [2024-05-24 23:59:08:760760] [I] Ctrl stopped [2024-05-24 23:59:08:760760] [I] Session has quit [2024-05-24 23:59:09:228228] [I] chiaki_holepunch_session_fini: Holepunch session deleted. [2024-05-24 23:59:09:228228] [E] websocket_thread_func: Select canceled.

PS5 wired connected to home router steamdeck home \ wireless = OK steamdeck outside \ 4G smartphone = OK steamdeck outside \ outside wifi = Drops after few minutes PS APP \ outside wifi = OK

And thank you for the app, this new function is very welcome.

streetpea commented 5 months ago

@SolidEdgard it’s shutting down because the ps is closing the connection. Can you post the full log file? Maybe it will give more insight into this. Either way it is likely a different issue. Thus, I created a new issue for you. Please post the log here: #342

streetpea commented 4 months ago

@Adagium42 are you still getting this issue?

Adagium42 commented 4 months ago

Nope. I haven't conducted much testing since the last month, but any connection issues I've had recently have been resolved by restarting the Playstation 5, routers, and/or computers (mostly the PS5 only is enough).

Usually restarting is only necessary to improve connection stability. From version 1.7.1 to the latest (1.7.3), Chiaki4Deck has been able to connect to my consoles remotely since the first try.

streetpea commented 4 months ago

@Adagium42 nice! ill close this then