Я пытаюсь подключить Raspberry Pi 4b к устройству Android (Google Pixel 6 с ANdroid 14), используя метод pbc (virtual_push_button). Если Raspberry Pi был только что перезагружен, проблем с подключением нет. Однако если я отключу устройства, удалю p2p-группу (в данном случае p2p-wlan0-1) и попытаюсь подключиться снова с помощью тех же команд, я получу следующую ошибку:
P2P-GROUP-FORMATION-FAILURE
При настройке я следовал этому руководству: https://raspberrypi.stackexchange.com/questions/117238/connect-android-smartphone-with-wi-fi-direct-to-a-raspberry-pi
Теперь список действий, которые я делаю при попытке подключения устройств:
RPI: Что я делаю на Raspberry PI, используя wpa_cli (начал использовать wpa_cli -i p2p-dev-wlan0)
AD: Что я делаю на устройстве Android
p2p_find
p2p_peers
p2p_peer <device-adress>
5.RPI- подключиться к устройству
p2p_connect <device-adress> pbc
В первый раз это работает как шарм. Получение следующих результатов из wpa_cli:
<3>CTRL-EVENT-SCAN-STARTED
<3>CTRL-EVENT-SCAN-STARTED
<3>P2P-DEVICE-FOUND 66:5d:70:17:a1:4e p2p_dev_addr=66:5d:70:17:a1:4e pri_dev_type=10-0050F204-5 name='Android_M6CV' config_methods=0x188 dev_capab=0x25 group_capab=0x0 new=1
<3>P2P-PROV-DISC-PBC-REQ 66:5d:70:17:a1:4e p2p_dev_addr=66:5d:70:17:a1:4e pri_dev_type=10-0050F204-5 name='Android_M6CV' config_methods=0x188 dev_capab=0x25 group_capab=0x0
<3>P2P-PROV-DISC-PBC-REQ 66:5d:70:17:a1:4e p2p_dev_addr=66:5d:70:17:a1:4e pri_dev_type=10-0050F204-5 name='Android_M6CV' config_methods=0x188 dev_capab=0x25 group_capab=0x0
<3>P2P-GO-NEG-REQUEST 66:5d:70:17:a1:4e dev_passwd_id=4 go_intent=6
<3>CTRL-EVENT-SCAN-STARTED 9:69 pbc
> p2p_connect 66:5d:70:17:a1:4e pbc
OK
<3>P2P-FIND-STOPPED
<3>P2P-GO-NEG-SUCCESS role=GO freq=5200 ht40=1 peer_dev=66:5d:70:17:a1:4e peer_iface=ce:af:bd:69:40:c0 wps_method=PBC
<3>CTRL-EVENT-SCAN-RESULTS
<3>P2P-GROUP-FORMATION-SUCCESS
<3>P2P-GROUP-STARTED p2p-wlan0-1 GO ssid = "DIRECT-ER" freq=5200 passphrase = "F1vHWtHI" go_dev_addr=da:3a:dd:97:2f:6a
<3>AP-STA-CONNECTED ce:af:bd:69:40:c0 p2p_dev_addr=66:5d:70:17:a1:4e
Теперь перейдем к той части, где все запутывается.
Сначала я удаляю p2p_group:
> p2p_group_remove p2p-wlan0-1
OK
<3>P2P-GROUP-REMOVED p2p-wlan0-1 GO reason=REQUESTED
<3>AP-STA-DISCONNECTED ba:8a:83:c2:7d:9a p2p_dev_addr=42:f3:6b:24:42:33
<3>P2P-DEVICE-LOST p2p_dev_addr=42:f3:6b:24:42:33
Теперь я делаю ТОЧНО те же шаги, что описал выше, и получаю следующую ошибку от wpa_cli:
<3>P2P-PROV-DISC-PBC-REQ 6a:44:f4:3e:e9:69 p2p_dev_addr=6a:44:f4:3e:e9:69 pri_dev_type=10-0050F204-5 name='Android_M6CV' config_methods=0x188 dev_capab=0x25 group_capab=0x0
<3>P2P-DEVICE-FOUND 6a:44:f4:3e:e9:69 p2p_dev_addr=6a:44:f4:3e:e9:69 pri_dev_type=10-0050F204-5 name='Android_M6CV' config_methods=0x80 dev_capab=0x25 group_capab=0x2a new=0
<3>P2P-GO-NEG-REQUEST 6a:44:f4:3e:e9:69 dev_passwd_id=4 go_intent=6
<3>CTRL-EVENT-SCAN-STARTED 9:69 pbc
> p2p_connect 6a:44:f4:3e:e9:69 pbc
OK
<3>P2P-FIND-STOPPED
<3>P2P-GO-NEG-SUCCESS role=GO freq=5220 ht40=1 peer_dev=6a:44:f4:3e:e9:69 peer_iface=82:71:76:45:19:02 wps_method=PBC
<3>CTRL-EVENT-SCAN-RESULTS
<3>P2P-GROUP-FORMATION-FAILURE
<3>P2P-GROUP-REMOVED wlan0 GO reason=FORMATION_FAILED
Я также убедился, что wpa_supplicant.service отключен, а [email protected] включен
Почему же это происходит? И почему это работает после перезагрузки Raspberry Pi?
Есть ли какой-нибудь другой сервис, например NetworkManager, который портит систему?
Любая помощь приветствуется и заранее спасибо :D
конфигурационные файлы:
/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
/etc/wpa_supplicant/wpa_supplicant-wlan0.config
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE
device_name=DIRECT-RasPi1
config_methods=virtual_push_button
# 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
# 6-0050F204-1 (Network Infrastructure / AP)
device_type=6-0050F204-1
driver_param=p2p_device=6
/etc/systemd/network/12-p2p-wlan0.network
[Match]
Name=p2p-wlan0-*
[Network]
Address=192.168.4.1/24
DHCPServer=yes
Как-то не получилось из-за частоты 5ГГц. я добавил freq=2472 в команду p2p_connect, и она работает отлично. Только на 2,4 ГГц, но меня это устраивает.