1

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
2
  • This question is incomprehensible. You are mixing incompatible networking systems. Regardless of what network manager you may be running this has NOTHING to so with 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 with NetworkManager
    – Milliways
    Commented Oct 17, 2022 at 11:31
  • Thank you for your notes. With ssh I just wanted to indicate what kind of service I would like to use. wpa_supplicant and NetworkManager are running in parallel on my laptop and there is now problem configuring and using wpa_supplicant with wpa_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]
    – tern
    Commented Oct 17, 2022 at 12:37

1 Answer 1

0

NetworkManager is configured with nmcli.

While NetworkManager indirectly uses wpa_supplicant you should not attempt to directly configure it.

Not the answer you're looking for? Browse other questions tagged or ask your own question.