P2P: Joining to existing P2P Group causes Linux kernel panic

Jouni Malinen j at w1.fi
Fri Nov 26 05:02:05 EST 2010


On Fri, Nov 26, 2010 at 04:31:26PM +0900, Masashi Honma wrote:
> Joining P2P device to existing P2P Group (made by "p2p_group_add"
> command) causes Linux kernel panic on P2P Group owner.
> 
> GO side
> # ./wpa_cli -i wlan0 p2p_group_add
> 
> P2P Client side
> # ./wpa_cli -i wlan0 p2p_find
> # ./wpa_cli -i wlan0 p2p_peers
> # ./wpa_cli -i wlan0 p2p_connect 00:22:43:4c:10:fa pbc

This is not the correct command for what you are trying to do. If you
want to join an existing group, you will need to add " join" to the end
of that p2p_connect command. Without it, you are requiring a new group
to be formed.

> GO side
> # ./wpa_cli -i wlan0 p2p_peers
> # ./wpa_cli -i wlan0 p2p_connect 00:0a:79:6b:65:2e pbc
> (Kernel panic)

This sequence would ask the GO device to start another group, i.e., you
would have the first group that was started with p2p_group_add and the
new group (where this side is either the GO or P2P client based on GO
Negotiation) running concurrently.. However, we do not currently enable
that in wpa_supplicant for nl80211 driver interface.

This should not trigger a kernel panic, though. I was unable to
reproduce this with the current wireless-testing.git snapshot. For some
reason, the GO Negotiation did not go through either (some of the Action
frames were not received properly). Anyway, wpa_supplicant should really
have refused the p2p_connect command here on the GO since with nl80211
we currently only accept a single concurrent group.

> My question is
> 1. Is joining to existing P2P Group functionality supported ?

Yes.

> 2. If so, my operation is correct ?

No.

Please take a look at wpa_supplicant/README-P2P which now hopefully
explains the p2p_connect "join" option that would be used in this case.

-- 
Jouni Malinen                                            PGP id EFC895FA


More information about the HostAP mailing list