benzea/gnome-network-displays

LG webOS failure to connect

chaseadam opened this issue · 4 comments

webOS TV Version: 4.5.0-39120 (goldilocks2-grandcanyon)
Fedora 30 with COPR.

Permissions requested on TV and connection attempts to be made:

"XXXXX requests screen sharing to your TV."

"Unable to connect with Screen Share. Try again."

Logs from G_MESSAGES_DEBUG=all gnome-network-displays: gnome-network-displays.log

Notable from logs:

** (gnome-network-displays:25873): DEBUG: 18:11:18.284: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_SOCKET
** (gnome-network-displays:25873): DEBUG: 18:11:26.930: WFDP2PProvider: Peer removed
** (gnome-network-displays:25873): DEBUG: 18:11:26.930: MetaSink: No usable sink is left, object has become invalid.
** (gnome-network-displays:25873): DEBUG: 18:11:26.930: SinkList: Removing a sink
** (gnome-network-displays:25873): DEBUG: 18:11:29.879: WfdServer: Finalize
** (gnome-network-displays:25873): DEBUG: 18:11:29.879: Got state change notification from streaming sink to state ND_SINK_STATE_ERROR

Note: I had a compatible audio codec installed, but removed it in an attempt to isolate the issue. The logs are from when the audio codec was not available (which does not appear to limit the function)

Thanks for putting this together, it feels like we are very close!!!

This appears to be different than #30 as the error mentioned pipeline creation (which is not visible in my logs)

Looks like we establish the P2P connection fine. In that step, what should happen is that the TV connects to gnome-network-displays (it is running an RTSP server). Basically, what we are seeing is that the TV eventually gives up and drops the connection again.

i.e.

** (gnome-network-displays:25268): DEBUG: 18:04:37.536: Got state change notification from streaming sink to state ND_SINK_STATE_WAIT_SOCKET
-> The P2P connection is established
** (gnome-network-displays:25268): DEBUG: 18:04:49.385: Got state change notification from streaming sink to state ND_SINK_STATE_ERROR
** (gnome-network-displays:25268): DEBUG: 18:04:56.783: WFDP2PProvider: Peer removed
-> The TV disconnected again after a timeout (and we may be noticing this quite a bit later only)

Now, the question is why the TV never connects. Possible explanations are:

  • DHCP isn't working correctly
  • Firewall is blocking the connection attempts from the TV
  • TV simply never tries for some reason

Firewall was a good call. Temporarily disabled my firewall and got further:

Logs which seem pertinent:

** (gnome-network-displays:16226): WARNING **: 08:53:06.014: WfdClient: No resolution found, falling back to standard FullHD resolution.
** (gnome-network-displays:16226): DEBUG: 08:53:06.014: selected resolution 1920, 1080 @30
** (gnome-network-displays:16226): DEBUG: 08:53:06.016: WfdClient: SET_PARAMS done
** (gnome-network-displays:16226): DEBUG: 08:53:06.023: WfdClient: Initialization done!
** (gnome-network-displays:16226): DEBUG: 08:53:06.024: use x11: 0
** (gnome-network-displays:16226): DEBUG: 08:53:06.071: WfdMedia init: Got 1 streams
** (gnome-network-displays:16226): DEBUG: 08:53:07.846: QOS: proportion: 0.500, processed: 1, dropped: 1
...
** (gnome-network-displays:16226): DEBUG: 08:53:08.092: QOS: proportion: 0.500, processed: 1, dropped: 52
** (gnome-network-displays:16226): DEBUG: 08:53:08.106: An audiocodec has been selected: yes
[E][connection.c:513 pw_protocol_native_connection_flush()] could not sendmsg: Destination address required
Error from udpsrc0: Could not read from resource.
Error from udpsrc0: Internal data stream error.

Full Logs:
webosShare.log

OK, that is a duplicate of #37, which should be fixed if you run a normal update.

that did it, thanks!