3

I'm using wpa_supplicant with wpa_cli and manually entering SSID and passphrase to connect to network works without problems.

When using wpa_cli with command wps_pbc it sees the WPS enabled access point and tries to connect but fails with

> wps_pbc OK <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE-PBC <3>Trying to associate with xx:xx:xx:xx:xx:xx (SSID='Max2Play' freq=2412 MHz) <3>Association request to the driver failed <3>Authentication with xx:xx:xx:xx:xx:xx timed out. <3>CTRL-EVENT-DISCONNECTED bssid=xx:xx:xx:xx:xx:xx reason=3 locally_generated=1 <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE-PBC <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE-PBC <3>Trying to associate with xx:xx:xx:xx:xx:xx (SSID='Max2play' freq=2412 MHz) <3>Association request to the driver failed <3>Authentication with xx:xx:xx:xx:xx:xx timed out. <3>CTRL-EVENT-DISCONNECTED bssid=xx:xx:xx:xx:xx:xx reason=3 locally_generated=1 

Where xx:xx:xx:xx:xx:xx is the correct bssid of the access point.

I am guessing that the driver of the Raspberry Pi 3 Wi-Fi Chipset (BCM43438) doesn't support WPS-connections? Anyone knows how to get WPS running on the Pi 3?

Before Pi 3, I got WPS running on Raspberry Pi 2 with different external Wi-Fi sticks without problems.

When WPS authentication works (with external Wi-Fi sticks also on RPi-3) the wps_pbc command output is this:

> wps_pbc OK <3>CTRL-EVENT-DISCONNECTED bssid=xx:xx:xx:xx:xx:xx reason=3 locally_generated=1 <3>CTRL-EVENT-SCAN-RESULTS <3>WPS-AP-AVAILABLE-PBC <3>Trying to associate with xx:xx:xx:xx:xx:xx (SSID='Max2Play' freq=2412 MHz) <3>Association request to the driver failed <3>Associated with xx:xx:xx:xx:xx:xx <3>CTRL-EVENT-EAP-STARTED EAP authentication started <3>CTRL-EVENT-EAP-STATUS status='started' parameter='' <3>CTRL-EVENT-EAP-PROPOSED-METHOD vendor=14122 method=1 <3>CTRL-EVENT-EAP-STATUS status='accept proposed method' parameter='WSC' <3>CTRL-EVENT-EAP-METHOD EAP vendor 14122 method 1 (WSC) selected <3>WPS-CRED-RECEIVED <3>WPS-SUCCESS 
3
  • Just tested the external Wi-Fi USB-dongle RT5370 Wireless Adapter with the RPi-3 and this works with WPS. Software is latest Debian Jessie Lite (Raspbian). Commented Mar 7, 2016 at 13:06
  • It's notable that this has 5K views but no-one answered or commented in 2 years. Did you find a solution to this besides the USB dongle? Commented Mar 7, 2018 at 14:03
  • Hi Paul, yes, found a solution to the problem and implemented in Max2Play WPS-Configuration. You find the code on Github Max2Play Webinterface . Basically you need to run the wpa_supplicant with differnt settings for WPS and for later connection after WPS. That solves the Problem. See "separate RPI3 no wext Driver for WPS!" in linked Github resource. You can use Max2Play for free if you like to have this feature :) Commented Mar 8, 2018 at 14:46

3 Answers 3

5

Found a working Solution:

You need to run the wpa_supplicant with differnt settings (drivers) for WPS and for later connection after the use of WPS.

The Github of Max2Play Webinterface offers a working example.

For WPS on Raspberry Pi 3 you need to start

wpa_supplicant -B w -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf 

and for later connection and use of WiFi you need to run

wpa_supplicant -B w -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf 

See "separate RPI3 no wext Driver for WPS!" in linked Github resource.

If you just want to have WPS for Raspberry and some other features you can use Max2Play for free (based on Raspbian).

0

You can use

$sudo wpa_cli wps_pbc -i wlan0 
-1

Open Linux Shell, and run below command

$sudo rm /var/run/wpa_supplicant/p2p-dev-wlan0 $sudo wpa_cli wps_pbc 

In my case, this works well.
Of course, sudo wpa_cli wps_pbc is enough to make rpi wps enable, But, sudo rm /var/run/wpa_supplicant/p2p-dev-wlan0 is important for working. I don't know why.

2
  • Welcome. Is this supposed to be an answer? It is not really clear. Please take the tour to understand better how the site works. Commented Aug 2, 2018 at 14:32
  • 2
    Welcome to the site. I assume you meant for the question author to run your script to try and fix the problem? You should edit to explain why this answer will work and what exactly it's supposed to do; while any solution is welcome here it's best to show how your answer is right so others can learn. Commented Aug 2, 2018 at 15:06

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.