WPS in PBC and PIN mode simultaneously

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi,

I'm using SDK 3.1.2, and I need to implement support in a product for running two WPS modes at the same time (PBC and PIN). The product shall act as WPS enrollee and it has a WPS button and a label with security pin. A press on button should start wps enrollee in both modes at the same time (in two threads if needed), preparing for either button push or use of security pin on a router.

I can run as enrollee in either mode separately without problems, but WICED api seems to allow only one mode at a time and when I tried to run two threads simultaneously, the enrollee functions ends up blocking other calls anyway.

Is this a necessary limitation in API or is there a way around my problem?

0 Likes
1 Solution

If you want to support both methods, you would need to provide a way for the user to choose which method they will use beforehand. If the button is the only input device you could differentiate between short / long button pushes to select between PBC and PIN.

The client sends the preferred WPS method to the GO in the connection request. The server can start the registrar dynamically depending on which method the user has chosen, you can change the code in the function

     - p2p_connection_request_handler()

     - in apps/test/console/p2p/p2p.c


Once the connection request is sent with the method information then the GO can start the registrar accordingly.

Thanks,

Jaeyoung

View solution in original post

0 Likes
7 Replies
user_2177781
Level 5
Level 5
25 likes received 10 likes received 5 likes given

I have encountered this issue as well, but I moved it aside and hoped a fix would come in an update.

JaeyoungY_71
Employee
Employee
First comment on KBA 25 solutions authored 10 solutions authored

You are correct, our API is built to accept one WPS mode at a time and is tied to the p2p workspace. Could you help me understand why you would need simultaneous WPS modes for the same device? It seems like it would be using either pin or button push. Is it that you want to interchange between the two methods?

Thanks,

Jaeyoung

0 Likes

The pin method is mandatory for a wifi alliance approval and the pcb method is optional. So I assume that if you want implement the pcb method and have your device  wifi alliance approved, you also needs to have the pin method running?

Anonymous
Not applicable

Yes renejos that's what I have concluded. It seems necessary to be running both modes at the same time.

because pin mode is mandatory and we want to implement the pbc method also.

0 Likes
Anonymous
Not applicable

Our device has security pin on label and a physical WPS button, but no display. We need pin on label because it is mandatory for wi-fi alliance approval, but our main focus is to support pbc method for easy use of physical WPS button on routers.

0 Likes

If you want to support both methods, you would need to provide a way for the user to choose which method they will use beforehand. If the button is the only input device you could differentiate between short / long button pushes to select between PBC and PIN.

The client sends the preferred WPS method to the GO in the connection request. The server can start the registrar dynamically depending on which method the user has chosen, you can change the code in the function

     - p2p_connection_request_handler()

     - in apps/test/console/p2p/p2p.c


Once the connection request is sent with the method information then the GO can start the registrar accordingly.

Thanks,

Jaeyoung

0 Likes
Anonymous
Not applicable

Thank you Jaeyoung for your answer.

I guess I have to find the most user friendly way of selecting method by push button or simply not support PBC method then.

0 Likes