Re: P2P Connection Channel Issues

Andreea Lutac andreea.lutac at fixposition.ch
Tue Apr 9 08:28:19 PDT 2019


Hi Jouni,

Thanks for the reply. I did more testing and it seems the issue is indeed with the radar detection required on some channels. From the wpa_supplicant debug logs (grepped for P2P messages), I can see the behaviour you described, where the scan is done first on the preferred GO frequency and then on common channels only:

P2P: GO Negotiation Confirm TX callback: result=0
P2P: GO Negotiation with e2:b6:f5:82:18:b5 completed (peer will be GO)
P2P: own channels: 81:1,2,3,4,5,6,7,8,9,10,11,12,13 115:36,40,44,48 116:36,44 117:40,48 130:36,40,44,48
P2P: peer channels: 81:1,2,3,4,5,6,7,8,9,10,11 115:36,40,44,48 116:36,44 117:40,48
P2P: Clear timeout (state=GO_NEG)
P2P: State GO_NEG -> PROVISIONING
P2P-GO-NEG-SUCCESS role=client freq=5220 ht40=1 peer_dev=e2:b6:f5:82:18:b5 peer_iface=e2:b6:f5:82:18:b5 wps_method=PBC
nl80211: Use separate P2P group interface (driver advertised support)
nl80211: use P2P_DEVICE support
nl80211: Set mode ifindex 8 iftype 8 (P2P_CLIENT)
nl80211: Interface p2p-wlan0-2 mode change to P2P - disable 11b rates
P2P: Add operating class 81
P2P: Channels - hexdump(len=13): 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d
P2P: Add operating class 115
P2P: Channels - hexdump(len=4): 24 28 2c 30
P2P: Add operating class 116
P2P: Channels - hexdump(len=2): 24 2c
P2P: Add operating class 117
P2P: Channels - hexdump(len=2): 28 30
P2P: Add operating class 130
P2P: Channels - hexdump(len=4): 24 28 2c 30
P2P: Update channel list
P2P: channels: 81:1,2,3,4,5,6,7,8,9,10,11,12,13 115:36,40,44,48 116:36,44 117:40,48 130:36,40,44,48
P2P: cli_channels:
P2P: Add operating class 81
P2P: Channels - hexdump(len=13): 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d
P2P: Add operating class 115
P2P: Channels - hexdump(len=4): 24 28 2c 30
P2P: Add operating class 116
P2P: Channels - hexdump(len=2): 24 2c
P2P: Add operating class 117
P2P: Channels - hexdump(len=2): 28 30
P2P: Add operating class 130
P2P: Channels - hexdump(len=4): 24 28 2c 30
P2P: Update channel list
P2P: channels: 81:1,2,3,4,5,6,7,8,9,10,11,12,13 115:36,40,44,48 116:36,44 117:40,48 130:36,40,44,48
P2P: cli_channels:
P2P: Start WPS Enrollee for peer e2:b6:f5:82:18:b5 dev_addr e2:b6:f5:82:18:b5 wps_method 3
P2P: Start WPS Enrollee for SSID - hexdump_ascii(len=14):
P2P: Add operating class 81
P2P: Channels - hexdump(len=13): 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d
P2P: Add operating class 115
P2P: Channels - hexdump(len=4): 24 28 2c 30
P2P: Add operating class 116
P2P: Channels - hexdump(len=2): 24 2c
P2P: Add operating class 117
P2P: Channels - hexdump(len=2): 28 30
P2P: Add operating class 130
P2P: Channels - hexdump(len=4): 24 28 2c 30
P2P: Update channel list
P2P: channels: 81:1,2,3,4,5,6,7,8,9,10,11,12,13 115:36,40,44,48 116:36,44 117:40,48 130:36,40,44,48
P2P: cli_channels:
P2P: Use specific SSID for scan during P2P group formation (p2p_in_provisioning=1 show_group_started=0)
p2p-wlan0-2: P2P: Scan only GO preferred frequency 5220 MHz
P2P: * P2P IE header
P2P: * Capability dev=25 group=00
P2P: * Listen Channel: Regulatory Class 81 Channel 6
nl80211: P2P probe - mask SuppRates
BSS: No P2P IE - skipping BSS 50:6a:03:f3:22:58 update for P2P interface
P2P: Use specific SSID for scan during P2P group formation (p2p_in_provisioning=2 show_group_started=0)
p2p-wlan0-2: P2P: Scan only GO preferred frequency 5220 MHz
P2P: * P2P IE header
P2P: * Capability dev=25 group=00
P2P: * Listen Channel: Regulatory Class 81 Channel 6
nl80211: P2P probe - mask SuppRates
BSS: No P2P IE - skipping BSS 50:6a:03:f3:22:58 update for P2P interface
P2P: Use specific SSID for scan during P2P group formation (p2p_in_provisioning=3 show_group_started=0)
p2p-wlan0-2: P2P: Scan only GO preferred frequency 5220 MHz
P2P: * P2P IE header
P2P: * Capability dev=25 group=00
P2P: * Listen Channel: Regulatory Class 81 Channel 6
nl80211: P2P probe - mask SuppRates
BSS: No P2P IE - skipping BSS 50:6a:03:f3:22:58 update for P2P interface
P2P: Use specific SSID for scan during P2P group formation (p2p_in_provisioning=4 show_group_started=0)
p2p-wlan0-2: P2P: Scan only GO preferred frequency 5220 MHz
P2P: * P2P IE header
P2P: * Capability dev=25 group=00
P2P: * Listen Channel: Regulatory Class 81 Channel 6
nl80211: P2P probe - mask SuppRates
BSS: No P2P IE - skipping BSS 50:6a:03:f3:22:58 update for P2P interface
P2P: Use specific SSID for scan during P2P group formation (p2p_in_provisioning=5 show_group_started=0)
p2p-wlan0-2: P2P: Scan only common channels
P2P: * P2P IE header
P2P: * Capability dev=25 group=00
P2P: * Listen Channel: Regulatory Class 81 Channel 6
nl80211: P2P probe - mask SuppRates
BSS: No P2P IE - skipping BSS 50:6a:03:f3:22:58 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:0d:01 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:11:a2 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:11:a3 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:0b:e0 update for P2P interface
P2P: Use specific SSID for scan during P2P group formation (p2p_in_provisioning=6 show_group_started=0)
p2p-wlan0-2: P2P: Scan only common channels
P2P: * P2P IE header
P2P: * Capability dev=25 group=00
P2P: * Listen Channel: Regulatory Class 81 Channel 6
nl80211: P2P probe - mask SuppRates
BSS: No P2P IE - skipping BSS 50:6a:03:f3:22:58 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:0d:01 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:0d:05 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:0d:04 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:11:a0 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:11:a2 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:11:a3 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:0b:e0 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:10:a3 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:10:a4 update for P2P interface
P2P: Use specific SSID for scan during P2P group formation (p2p_in_provisioning=7 show_group_started=0)
p2p-wlan0-2: P2P: Scan only common channels
P2P: * P2P IE header
P2P: * Capability dev=25 group=00
P2P: * Listen Channel: Regulatory Class 81 Channel 6
nl80211: P2P probe - mask SuppRates
BSS: No P2P IE - skipping BSS 50:6a:03:f3:22:58 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:0d:01 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:0d:05 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:0d:04 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:11:a0 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:11:a2 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:11:a3 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:0b:e0 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:10:a4 update for P2P interface
BSS: No P2P IE - skipping BSS 9c:50:ee:09:10:a3 update for P2P interface
P2P: Use specific SSID for scan during P2P group formation (p2p_in_provisioning=8 show_group_started=0)
P2P: * P2P IE header
P2P: * Capability dev=25 group=00
P2P: * Listen Channel: Regulatory Class 81 Channel 6
nl80211: P2P probe - mask SuppRates

I tried first setting the region to my country (CH) and sending a plain p2p_connect request (no frequency specified), but the group formation still timed out after the provisioning step. Interestingly though, if I set the country to South Africa (which does not mandate radar detection for the 5700, 5560, 5580 channels), the group is successfully formed each time.

There is also a timeout implemented in the code that handles the p2p connection on the tablet. This calls p2p_cancel after a certain number of seconds have elapsed without the group being formed and I will try to test some more with this timeout disabled. I'll follow up on this question if I have some more info later.

Thanks once again. 
Best,
Andreea
 
> On Sunday, April 07, 2019 16:10 CEST, Jouni Malinen <j at w1.fi> wrote: 

> On Tue, Apr 02, 2019 at 12:08:26PM +0200, Andreea Lutac wrote:
> > The GO negotiation succeeds, with the tablet always ending up as the group owner, as intended.
> > Now the problem is that a lot of the time the group formation step times out. On its end, the tablet seems to set up the DIRECT-xy-<name> group usually on the same frequency as the AP, but on the board wpa_cli shows:
> > <3>P2P-GO-NEG-SUCCESS role=client freq=5220 ht40=0 peer_dev=e2:b6:f5:82:18:b5 peer_iface=e2:b6:f5:82:18:b5 wps_method=PBC
> > <3>CTRL-EVENT-SCAN-RESULTS 
> > <3>CTRL-EVENT-SCAN-RESULTS 
> > <3>CTRL-EVENT-SCAN-RESULTS 
> > <3>CTRL-EVENT-SCAN-RESULTS 
> > <3>CTRL-EVENT-SCAN-RESULTS 
> > <3>CTRL-EVENT-SCAN-RESULTS 
> > <3>CTRL-EVENT-SCAN-RESULTS 
> > <3>P2P-GROUP-FORMATION-FAILURE 
> > <3>P2P-GROUP-REMOVED p2p-wlan0-32 client reason=FORMATION_FAILED
> 
> It would be helpful to look at more detailed debug messages from
> wpa_supplicant (-ddt on command line and debug output from stdout).> 
> > I think I have narrowed this down to an issue with the operating channels, where the board's wpa_supplicant tries to scan the various channels during provisioning, but doesn't find the right one before formation times out. 
> 
> wpa_supplicant starts by scanning the exact channel that was negotiated
> during the GO negotiation (i.e., 5220 MHz in this particular example)> and if the GO is not found there in number of scans, more channels are
> added to the scan. Maybe this device has some issues scanning 5 GHz
> channels (which might cause it to use passive scanning).
> 
> > I have tried to add freq=<AP freq> to the p2p_connect command and with some frequencies (5745, 5765) this fixes the timeout and the connection is instant, but with others (5700, 5560, 5580), I get the error message:
> > FAIL-CHANNEL-UNSUPPORTED
> 
> wpa_supplicant does not allow channels that require DFS/radar detection
> to be used for P2P in most cases which is where that unsupported channel
> result comes for those 5700, 5570, 5580 MHz channels.
> 
> > Running "iw reg get" on both the tablet and the board shows that the country is unset (00), so I don't think there should be any restriction on the channels. I have however noticed that the operating frequency of the tablet (as reported by p2p_peer) is often different from that of the AP. But adding this operating frequency to p2p_connect still results in timeouts.
> 
> 00 means that there are lots of restrictions.. I.e., all of 5 GHz is
> passive scanning only.
> 
> > What could be causing the "channel usupported" message? Is there a way to tell wpa_supplicant which channels to scan during the provisioning phase?
> 
> wpa_supplicant debug log shows which channels are being scanned.
> 
> -- 
> Jouni Malinen                                            PGP id EFC895FA




More information about the Hostap mailing list