2

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 
  • 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). – max2play Mar 7 '16 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? – Paul Mar 7 '18 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 :) – max2play Mar 8 '18 at 14:46
4

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 /opt/max2play/wpa_supplicant.conf

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

wpa_supplicant -B w -D wext -i wlan0 -c /opt/max2play/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.

  • Welcome. Is this supposed to be an answer? It is not really clear. Please take the tour to understand better how the site works. – goldilocks Aug 2 '18 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. – Aurora0001 Aug 2 '18 at 15:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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