Unable to establish P2P connection for miracast using gnome-network-displays

Julian Sikorski belegdol at gmail.com
Tue Jan 23 00:25:01 PST 2024


Am 17.01.24 um 10:37 schrieb Benjamin Berg:
> Hi,
> 
> On Sun, 2024-01-14 at 19:28 +0100, Julian Sikorski wrote:
>> Am 14.01.24 um 19:00 schrieb Jouni Malinen:
>>> On Fri, Jan 05, 2024 at 10:46:57AM +0100, Julian Sikorski wrote:
>>>> I am trying to figure out why gnome-network-displays is unable to establish
>>>> a P2P connection with my Fire TV stick. I originally reported it to
>>>> gnome-network displays, then to NetworkManager before being directed here.
>>>> In brief, the p2p connection never goes up so I can never attempt to capture
>>>> packets using wireshark or tcpdump. Same laptop and same Fire TV Stick work
>>>> fine from Windows 11.
>>>> I am attaching the wpa_supplicant debug log. Thank you for your help in
>>>> advance.
>>>
>>> Which WLAN driver are you using on this device (wlp1s0)?
>>
>> I am using iwlwifi/iwlmvm. The hardware is Intel Wi-Fi 6 AX200.
> 
> Hmm, OK, I would have expected that to work fine.
> 
>>> It looks like the peer device might be using power saving mechanism
>>> (Notice of Absence) that would require the local driver to be able to
>>> synchronize the transmissions appropriately to be able to get them
>>> through. The debug log here indicated that none of the numerous attempts
>>> of sending a GO Negotiation Request to the peer resulted in the frame
>>> being acknowledged which could imply that it was not listening at the
>>> time the request went out. That said, it is difficult to say for certain
>>> since the peer discovery part did succeed. In any case, this type of an
>>> issue might require looking in more detail to a sniffer capture of the
>>> IEEE 802.11 frames and the exact timing of them and/or figuring out what
>>> kind of capabilities the local driver has for P2P.
>>>
>> Sniffer would be a special hardware, correct? Like rtl-sdr? I have a 2.4
>> GHz Spectrum Analyzer but this is probably not what we need. Can a
>> sniffer be fashioned out of a second laptop?
>> A while back miracast used to work intermittently, which is when I filed
>> https://gitlab.gnome.org/GNOME/gnome-network-displays/-/issues/285,
>> suspecting the issue is caused by IPv6 vs IPv4. Now I can no longer get
>> the connection to work under linux at all.
> 
> No need for special hardware. You can e.g. use a second (Intel) card,
> change it into monitor mode "iw dev X set type monitor". Then put the
> interface into the UP state ("ip link set X up"), configure the channel
> and bandwidth using "iw" and grab a packet dump using tcpdump or
> wireshark.
> 

Where do I get the channel and the bandwidth from? Running iw dev 
p2p-wlp1s0-2 info during the connection attempt does not reveal it:

Interface p2p-wlp1s0-2
	ifindex 14
	wdev 0x100000005
	addr a4:b1:c1:dd:5a:28
	type P2P-client
	wiphy 1
	multicast TXQ:
		qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
		0	0	0	0	0	0	0	0		0

> Now, if the peer device is using NoA's, that could be because the
> FireTV stick is associated to another network at the same time. You
> could try disconnecting it (and possibly the laptop) just to see if
> that makes a difference. 

There could be something to it. I disconnected Wi-Fi on both the stick 
and the laptop and initially it did not help. I then went on to set up 
another laptop in monitor mode, and as I was trying to test the iw dev 
command above, connection miraculously worked:

Interface p2p-wlp1s0-4
	ifindex 8
	wdev 0x7
	addr a4:b1:c1:dd:5a:28
	ssid DIRECT-p1
	type P2P-GO
	wiphy 0
	channel 157 (5785 MHz), width: 20 MHz, center1: 5785 MHz
	txpower 22.00 dBm
	multicast TXQ:
		qsz-byt	qsz-pkt	flows	drops	marks	overlmt	hashcol	tx-bytes	tx-packets
		0	0	23	0	0	0	0	3585		23

Jan 23 08:57:33 snowball3 wpa_supplicant[1131]: P2P-DEVICE-FOUND 
6a:9a:87:86:b0:0e p2p_dev_addr=6a:9a:87:86:b0:0e 
pri_dev_type=10-0050F204-5 name='Yasmin's Fire TV' config_methods=0x80 
dev_capab=0x25 group_capab=0x2a wfd_dev_info=0x00011c440032 
vendor_elems=1 new=0
Jan 23 08:57:33 snowball3 wpa_supplicant[1131]: P2P-GO-NEG-SUCCESS 
role=GO freq=5785 ht40=0 peer_dev=6a:9a:87:86:b0:0e 
peer_iface=62:9a:87:86:b0:0e wps_method=PBC
Jan 23 08:57:33 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: interface 
state UNINITIALIZED->ENABLED
Jan 23 08:57:33 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: AP-ENABLED
Jan 23 08:57:33 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
CTRL-EVENT-CONNECTED - Connection to a4:b1:c1:dd:5a:28 completed [id=0 
id_str=]
Jan 23 08:57:33 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: WPS-PBC-ACTIVE
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
CTRL-EVENT-EAP-STARTED 62:9a:87:86:b0:0e
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=254
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
WPS-REG-SUCCESS 62:9a:87:86:b0:0e 12345678-9abc-def0-1234-56789abcdef0
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: P2P-GROUP-FORMATION-SUCCESS
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: P2P-GROUP-STARTED 
p2p-wlp1s0-4 GO ssid="DIRECT-p1" freq=5785 go_dev_addr=a4:b1:c1:dd:5a:27
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: dbus: Register group 
object '/fi/w1/wpa_supplicant1/Interfaces/2/Groups/p1'
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
WPS-PBC-DISABLE
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: WPS-SUCCESS
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
CTRL-EVENT-EAP-FAILURE 62:9a:87:86:b0:0e
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
AP-STA-CONNECTED 62:9a:87:86:b0:0e p2p_dev_addr=6a:9a:87:86:b0:0e
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: AP-STA-CONNECTED 
62:9a:87:86:b0:0e p2p_dev_addr=6a:9a:87:86:b0:0e
Jan 23 08:57:34 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
EAPOL-4WAY-HS-COMPLETED 62:9a:87:86:b0:0e
Jan 23 08:57:43 snowball3 wpa_supplicant[1131]: wlp1s0: Reject scan 
trigger since one is already pending
Jan 23 08:58:10 snowball3 wpa_supplicant[1131]: P2P-FIND-STOPPED
Jan 23 08:58:10 snowball3 wpa_supplicant[1131]: P2P-GROUP-REMOVED 
p2p-wlp1s0-4 GO reason=REQUESTED
Jan 23 08:58:10 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: interface 
state ENABLED->DISABLED
Jan 23 08:58:10 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
AP-STA-DISCONNECTED 62:9a:87:86:b0:0e p2p_dev_addr=6a:9a:87:86:b0:0e
Jan 23 08:58:10 snowball3 wpa_supplicant[1131]: AP-STA-DISCONNECTED 
62:9a:87:86:b0:0e p2p_dev_addr=6a:9a:87:86:b0:0e
Jan 23 08:58:10 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: AP-DISABLED
Jan 23 08:58:10 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
CTRL-EVENT-DISCONNECTED bssid=a4:b1:c1:dd:5a:28 reason=3 locally_generated=1
Jan 23 08:58:10 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
CTRL-EVENT-DSCP-POLICY clear_all
Jan 23 08:58:10 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-4: 
CTRL-EVENT-DSCP-POLICY clear_all
Jan 23 08:58:10 snowball3 wpa_supplicant[1131]: nl80211: deinit 
ifname=p2p-wlp1s0-4 disabled_11b_rates=0

Colours were all messed up with everything covered in magenta and green 
but this is a problem to deal with later. I then re-connected the laptop 
to Wi-Fi, and I was still able to establish a connection:

Jan 23 08:58:16 snowball3 wpa_supplicant[1131]: wlp1s0: WPS-PBC-ACTIVE
Jan 23 08:58:24 snowball3 wpa_supplicant[1131]: wlp1s0: WPS-CANCEL
Jan 23 08:58:24 snowball3 wpa_supplicant[1131]: wlp1s0: SME: Trying to 
authenticate with ec:a9:40:79:fb:ad (SSID='UPC949397B' freq=5320 MHz)
Jan 23 08:58:24 snowball3 wpa_supplicant[1131]: wlp1s0: Trying to 
associate with ec:a9:40:79:fb:ad (SSID='UPC949397B' freq=5320 MHz)
Jan 23 08:58:25 snowball3 wpa_supplicant[1131]: wlp1s0: Associated with 
ec:a9:40:79:fb:ad
Jan 23 08:58:25 snowball3 wpa_supplicant[1131]: wlp1s0: 
CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
Jan 23 08:58:25 snowball3 wpa_supplicant[1131]: wlp1s0: WPA: Key 
negotiation completed with ec:a9:40:79:fb:ad [PTK=CCMP GTK=CCMP]
Jan 23 08:58:25 snowball3 wpa_supplicant[1131]: wlp1s0: 
CTRL-EVENT-CONNECTED - Connection to ec:a9:40:79:fb:ad completed [id=0 
id_str=]
Jan 23 08:58:25 snowball3 wpa_supplicant[1131]: wlp1s0: 
CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-63 noise=9999 txrate=26000
Jan 23 08:58:25 snowball3 wpa_supplicant[1131]: wlp1s0: Reject scan 
trigger since one is already pending
Jan 23 08:58:37 snowball3 wpa_supplicant[1131]: P2P-DEVICE-FOUND 
6a:9a:87:86:b0:0e p2p_dev_addr=6a:9a:87:86:b0:0e 
pri_dev_type=10-0050F204-5 name='Yasmin's Fire TV' config_methods=0x80 
dev_capab=0x25 group_capab=0x2a wfd_dev_info=0x00011c440032 
vendor_elems=1 new=0
Jan 23 08:58:37 snowball3 wpa_supplicant[1131]: P2P-GO-NEG-SUCCESS 
role=GO freq=5745 ht40=0 peer_dev=6a:9a:87:86:b0:0e 
peer_iface=62:9a:87:86:b0:0e wps_method=PBC
Jan 23 08:58:37 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: interface 
state UNINITIALIZED->ENABLED
Jan 23 08:58:37 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: AP-ENABLED
Jan 23 08:58:37 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
CTRL-EVENT-CONNECTED - Connection to a4:b1:c1:dd:5a:28 completed [id=0 
id_str=]
Jan 23 08:58:37 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: WPS-PBC-ACTIVE
Jan 23 08:58:39 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
CTRL-EVENT-EAP-STARTED 62:9a:87:86:b0:0e
Jan 23 08:58:39 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=254
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
WPS-REG-SUCCESS 62:9a:87:86:b0:0e 12345678-9abc-def0-1234-56789abcdef0
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: P2P-GROUP-FORMATION-SUCCESS
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: P2P-GROUP-STARTED 
p2p-wlp1s0-5 GO ssid="DIRECT-aJ" freq=5745 go_dev_addr=a4:b1:c1:dd:5a:27
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: dbus: Register group 
object '/fi/w1/wpa_supplicant1/Interfaces/3/Groups/aJ'
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
WPS-PBC-DISABLE
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: WPS-SUCCESS
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
CTRL-EVENT-EAP-FAILURE 62:9a:87:86:b0:0e
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
AP-STA-CONNECTED 62:9a:87:86:b0:0e p2p_dev_addr=6a:9a:87:86:b0:0e
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: AP-STA-CONNECTED 
62:9a:87:86:b0:0e p2p_dev_addr=6a:9a:87:86:b0:0e
Jan 23 08:58:40 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
EAPOL-4WAY-HS-COMPLETED 62:9a:87:86:b0:0e
Jan 23 08:59:44 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
AP-STA-DISCONNECTED 62:9a:87:86:b0:0e p2p_dev_addr=6a:9a:87:86:b0:0e
Jan 23 08:59:44 snowball3 wpa_supplicant[1131]: AP-STA-DISCONNECTED 
62:9a:87:86:b0:0e p2p_dev_addr=6a:9a:87:86:b0:0e
Jan 23 08:59:44 snowball3 wpa_supplicant[1131]: P2P-FIND-STOPPED
Jan 23 08:59:44 snowball3 wpa_supplicant[1131]: P2P-GROUP-REMOVED 
p2p-wlp1s0-5 GO reason=REQUESTED
Jan 23 08:59:44 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: interface 
state ENABLED->DISABLED
Jan 23 08:59:44 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: AP-DISABLED
Jan 23 08:59:44 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
CTRL-EVENT-DISCONNECTED bssid=a4:b1:c1:dd:5a:28 reason=3 locally_generated=1
Jan 23 08:59:44 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
CTRL-EVENT-DSCP-POLICY clear_all
Jan 23 08:59:44 snowball3 wpa_supplicant[1131]: p2p-wlp1s0-5: 
CTRL-EVENT-DSCP-POLICY clear_all
Jan 23 08:59:44 snowball3 wpa_supplicant[1131]: nl80211: deinit 
ifname=p2p-wlp1s0-5 disabled_11b_rates=0

After re-connecting the Fire TV Stick, however, I was no longer able to 
establish a connection. Disconnecting it did not help immediately 
either. Neither did restarting the stick or disconnecting the wi-fi from 
the laptop. I was not able to reproduce the successful connection since.

> 
> Benjamin
> 



More information about the Hostap mailing list