I want to connect from a Laptop (Linux Mint 20.2) with a running networkmanager to a RPI 3 Raspberry Pi OS Lite 2022-09-22 over Wi-Fi direct.
I'm a teacher at a school where all the interactive boards are connect to AppleTV-devices, which as a Linux user I can't use. As a workaround, I use a Miracast-Adapater in conjunction with gnome-network-displays. But since this always transfers the entire screen, I put together a VNC system that allows me to transfer individual windows (just by a click) to a raspberry-pi which is connected to the beamer.
To be independent of WLAN networks, I now want to create a network via WIFI-Direct between the rasperry-pi and my linuxmint laptop.
If I turn off NetworkManager on my laptop, I can establish a working network connection and use it to establish an ssh connection, for example. The informations on Connect Android smartphone with Wi-Fi Direct to a Raspberry Pi and Connect to Raspberry PI 3 over Wi-Fi direct were very helpful.
But if the NetworkManager is running, the connection always fails.
On the raspberry-pi the wpa_supplicant-configuration is:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
enter code hereupdate_config=1
country=DE
device_name=raspi
ap_scan=1
# If you need to modify the group owner intent, 0-15, the higher
# number indicates preference to become the GO. You can also set
# this on p2p_connect commands.
p2p_go_intent=15
# In order to support 802.11n for the p2p Group Owner
p2p_go_ht40=1
# Device type
# 1-0050F204-1 (Computer / PC)
# 1-0050F204-2 (Computer / Server)
# 5-0050F204-1 (Storage / NAS)
# 6-0050F204-1 (Network Infrastructure / AP)
device_type=1-0050F204-1
driver_param=use_p2p_group_interface=1
driver_param=p2p_device=1
The linux laptop with the running NetworkManager I configure with:
wpa_cli set update_config 1
wpa_cli set ap_scan 1
wpa_cli set device_name laptop
wpa_cli set device_type 1-0050F204-1
wpa_cli set driver_param use_p2p_group_interface=1
wpa_cli set driver_param p2p_device=1
wpa_cli set p2p_go_intent 10
wpa_cli set p2p_go_ht40 1
Then I start the p2p-connection-process:
raspi ~# wpa_cli p2p_find
laptop ~# wpa_cli p2p_find
and wait some seconds and find out, which is the right MAC-address:
raspi ~# for i in $( wpa_cli -i p2p-dev-wlan0 p2p_peers ); do echo -n "$i "; wpa_cli -i p2p-dev-wlan0 p2p_peer $i | grep device_name=; done
laptop ~# for i in $( wpa_cli -i p2p-dev-wlan0 p2p_peers ); do echo -n "$i "; wpa_cli -i p2p-dev-wlan0 p2p_peer $i | grep device_name=; done
Finally I try to establish the connection, which is failing:
raspi ~# wpa_cli p2p_connect LAPTOP-MAC pin auth
(pin_number will be issued)
laptop ~# wpa_cli p2p_connect RASPI-MAC THE-GIVEN-PIN
Selected interface 'p2p-dev-wlan0'
FAIL
The corresponding wpa_supplicant-messages with two extra empy lines are:
p2p-dev-wlan0: Control interface command 'P2P_CONNECT LAPTOP-MAC THE-GIVEN-PIN'
p2p-dev-wlan0: Determining shared radio frequencies (max len 2)
p2p-dev-wlan0: Shared frequencies (len=0): completed iteration
p2p-dev-wlan0: Shared frequencies (len=0): valid for P2P
p2p-dev-wlan0: Determining shared radio frequencies (max len 2)
p2p-dev-wlan0: Shared frequencies (len=0): completed iteration
p2p-dev-wlan0: P2P: num_unused_channels: 2
P2P: Setup freqs: freq=0 num_MCC=2 shared_freqs=0 num_unused=2
P2P: best_freq=0, go=1
P2P: No preferred frequency list available
P2P: Current operating channels are not available for P2P. Try to use another channel
P2P: Own frequency preference: 0 MHz
P2P: Create a new interface p2p-wlan0-0 for the group
nl80211: Create interface iftype 9 (P2P_GO)
nl80211: Ignored event 7 (NL80211_CMD_NEW_INTERFACE) for foreign interface (ifindex 7 wdev 0x0)
nl80211: Ignored event 7 (NL80211_CMD_NEW_INTERFACE) for foreign interface (ifindex 7 wdev 0x0)
nl80211: New interface p2p-wlan0-0 created: ifindex=7
nl80211: Interface p2p-wlan0-0 created for P2P - disable 11b rates
nl80211: NL80211_CMD_SET_TX_BITRATE_MASK (ifindex=7 NL80211_TXRATE_LEGACY=OFDM-only)
nl80211: Set TX rates failed: ret=-95 (Operation not supported)
P2P: Created pending virtual interface p2p-wlan0-0 addr RASPI-MAC
P2P: Request to start group negotiation - peer=LAPTOP-MAC GO Intent=15 Intended Interface Address=RASPI-MAC wps_method=2 persistent_group=0 pd_before_go_neg=0 oob_pw_id=0
P2P: Cannot connect to unknown P2P Device peer=LAPTOP-MAC
P2P: Removing pending group interface p2p-wlan0-0
nl80211: wpa_driver_nl80211_if_remove(type=3 ifname=p2p-wlan0-0) ifindex=7 added_if=0
nl80211: Remove interface ifindex=7
nl80211: if_indices[16]:
nl80211: if_indices[16]:
nl80211: if_indices[16]:
nl80211: if_indices[16]:
P2P: Timeout (state=SEARCH)
Without a running NetworkManager such a connection works smoothly.
And: The gnome-network-display works of course with a running NetworkManager, I can ping it without problems.
My Question now is: How do I have to configure both systems (raspi und NetworkManager-laptop) in order to get a working connection?
Addtion:
The log of the successful connection-process with the MS-Displayadapter is:
P2P-DEVICE-FOUND de:98:40:9f:5f:e5 p2p_dev_addr=de:98:40:9f:5f:e5 pri_dev_type=7-0050F204-1 name='MSDisplayAdapter_E5' config_methods=0x88 dev_capab=0x25 group_capab=0x2a wfd_dev_info=0x015d022a0032 new=1
dbus: Register peer object '/fi/w1/wpa_supplicant1/Interfaces/0/Peers/de98409f5fe5'
wlan0: SME: Trying to authenticate with 04:d4:c4:61:c1:b0 (SSID='homessid' freq=2437 MHz)
wlan0: Trying to associate with 04:d4:c4:61:c1:b0 (SSID='homessid' freq=2437 MHz)
wlan0: Associated with 04:d4:c4:61:c1:b0
wlan0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
wlan0: WPA: Key negotiation completed with 04:d4:c4:61:c1:b0 [PTK=CCMP GTK=CCMP]
wlan0: CTRL-EVENT-CONNECTED - Connection to 04:d4:c4:61:c1:b0 completed [id=0 id_str=]
wlan0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-56 noise=9999 txrate=52000
P2P-FIND-STOPPED
P2P-GO-NEG-SUCCESS role=GO freq=2437 ht40=0 peer_dev=de:98:40:9f:5f:e5 peer_iface=de:98:40:9f:5f:e5 wps_method=PBC
Using interface p2p-wlan0-0 with hwaddr f8:ac:65:6b:9c:27 and ssid "DIRECT-Jb"
p2p-wlan0-0: interface state UNINITIALIZED->ENABLED
p2p-wlan0-0: AP-ENABLED
p2p-wlan0-0: CTRL-EVENT-CONNECTED - Connection to f8:ac:65:6b:9c:27 completed [id=0 id_str=]
p2p-wlan0-0: WPS-PBC-ACTIVE
P2P-DEVICE-FOUND de:98:40:9f:5f:e5 p2p_dev_addr=de:98:40:9f:5f:e5 pri_dev_type=7-0050F204-1 name='MSDisplayAdapter_E5' config_methods=0x88 dev_capab=0x25 group_capab=0x0 wfd_dev_info=0x015d022a0032 new=0
p2p-wlan0-0: CTRL-EVENT-EAP-STARTED de:98:40:9f:5f:e5
p2p-wlan0-0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=1
p2p-wlan0-0: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=254
p2p-wlan0-0: WPS-REG-SUCCESS de:98:40:9f:5f:e5 56789abc-def0-1234-5678-90abcdef0123
P2P-GROUP-FORMATION-SUCCESS
P2P-GROUP-STARTED p2p-wlan0-0 GO ssid="DIRECT-Jb" freq=2437 go_dev_addr=f8:ac:65:6b:9c:71
dbus: Register group object '/fi/w1/wpa_supplicant1/Interfaces/1/Groups/Jb'
p2p-wlan0-0: WPS-PBC-DISABLE
p2p-wlan0-0: WPS-SUCCESS
p2p-wlan0-0: CTRL-EVENT-EAP-FAILURE de:98:40:9f:5f:e5
wlan0: CTRL-EVENT-SIGNAL-CHANGE above=0 signal=-54 noise=9999 txrate=52000
p2p-wlan0-0: AP-STA-CONNECTED de:98:40:9f:5f:e5 p2p_dev_addr=de:98:40:9f:5f:e5
AP-STA-CONNECTED de:98:40:9f:5f:e5 p2p_dev_addr=de:98:40:9f:5f:e5
ssh
. The "wpa_supplicant-configuration" makes no sense. Start with some FACTS e.g. Which OS on the Pi and how you have configured it.wpa-cli
has NOTHING to do withNetworkManager
ssh
I just wanted to indicate what kind of service I would like to use.wpa_supplicant
andNetworkManager
are running in parallel on my laptop and there is now problem configuring and usingwpa_supplicant
withwpa_cli
in parallel. As far as I understand the way gnome-network-display is working, my task should be implementable.[I will update some the OS-Versions]