P2P Connection Channel Issues
andreea.lutac at fixposition.ch
Tue Apr 2 03:08:26 PDT 2019
I'm trying to connect two devices via P2P (an embedded Linux board and an Android tablet), but I'm having some trouble which I think is related to the communication channels. It would be great if anyone could shed some light as to what's happening here.
My setup is the following: the Android tablet is connected to an AP that operates on a 5 GHz channel chosen at boot by the device providing the AP (a camera). The tablet then finds and sends a GO negotiation request to the embedded Linux board. The board responds via the wpa_cli command:
p2p_connect <tablet MAC> pbc go_intent=0
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>P2P-GROUP-REMOVED p2p-wlan0-32 client reason=FORMATION_FAILED
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.
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:
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.
What could be causing the "channel usupported" message? Is there a way to tell wpa_supplicant which channels to scan during the provisioning phase?
Thank you and I look forward to your advice.
More information about the Hostap