Wi-Fi* Simple Config (WSC) Linux* Reference Implementation


Introduction

Wi-Fi Simple Config (WSC) is a new method for setting up residential Wi-Fi (802.11) networks with equal emphasis on security and ease-of-use. The method is being standardized in Wi-Fi Alliance (www.wi-fi.org*). Intel Corporation is providing a Linux reference implementation, to facilitate industry development for this emerging standard. Please note this code is not tested or intended as product level code, and is provided AS IS, without Intel technical support.

Information about hardware and software requirements, supported features and scenarios, build/install/run instructions and known issues can be found in the README file.

This Reference Implementation consists of two packages under different licenses.


WSC Linux* Reference Implementation

The first package consists of Intel developed source code and is provided under a BSD license.

Download WSC Linux* Reference Implementation

See also WSC Linux* Reference Implementation


Hostapd & WPA_supplicant Modifications

The second package consists of two separate open source software components modified by Intel and distributed under GNU General Public License (GPL). Alternatively, this software may be distributed under the terms of a Berkeley Software Distribution (BSD) license. When using or redistributing these files, you may do so under either license.

Hostapd & WPA_supplicant Modifications


Other Simple Config Support

As a convenience to its customers, Intel is providing the following information regarding third party WSC implementations and plug-ins for Intel’s Simple Config Reference Implementation of WSC. The linked sites are not under the control of Intel, and Intel is not responsible for the content of any linked site or any link contained in a linked site, or any products provided from third parties. If you decide to contact any of the third parties referenced below, you do this entirely at your own risk. Intel does not endorse companies or products to which it links, and reserves the right to terminate any link or linking program at any time.

Devicescape Simple Config information*

The following vendors may provide Near Field Communications (NFC) Hardware and Plug-in software that is intended to work with the Intel Simple Config Reference Implementation of WSC:

SAICE Corporation: http://www.saice.co.jp/index.php*

Philips Semiconductors: please send an email to taoufik.ghanname@nxp.com

If you are a provider of a WSC implementation and interested in having your company link provided here, please contact simple_config@intel.com.

 

For more complete information about compiler optimizations, see our Optimization Notice.

2 comments

Top
anonymous's picture

Do you have a plan to support WSC2.0?

anonymous's picture

Hi,

I run the WSC reference code as the client, using wsc_config_3a_cli.txt as the wsc_config.txt, and got the error "No data has been received from lower layer".
The following is the complete log:
-------log start-------
*********************************************
Wi-Fi Simple Config Application - Intel Corp.
Version: Build 1.0.6, May 17 2007
../../common/WscCmd/WscCmd.cpp(92):Version: Build 1.0.6, May 17 2007
*********************************************
../../common/WscCmd/WscCmd.cpp(409):WscCmd:ActualCBThreadProc: Started
../../common/WscCmd/WscCmd.cpp(1000):WscCmd:ActualUIThreadProc: Started.
../../common/MasterControl/MasterControl.cpp(89):MasterControl constructor
../../common/WscCmd/WscCmd.cpp(219):WscCmd::MC instantiated ok
../../common/Transport/Transport.cpp(79):CTransport Construction
../../common/Transport/Transport.cpp(154):In CTransport::ActualCBThreadProc
../../common/Transport/Transport.cpp(158):Calling Dequeue
../../common/MasterControl/MasterControl.cpp(210):MC::Init: Init complete ok
../../common/WscCmd/WscCmd.cpp(221):WscCmd::MC intialized ok
Initializing stack... OK
Now starting stack
../../common/WscCmd/WscCmd.cpp(101):WscCmd::Init ok, starting stack...
../../common/MasterControl/Info.cpp(137):Info::ReadConfigFile: Called
../../common/MasterControl/Info.cpp(138):Info::ReadConfigFile:wsc_config.txt
../../common/MasterControl/Info.cpp(153):Info::ReadConfigFile:File open ok
../../common/StateMachine/StateMachine.cpp(71):RegistrarSM constructor
../../common/InbWlan/InbWlan.cpp(73):CInbWlan Construction
../../common/UdpLib/UdpLib.cpp(75):Entered udp_open
../../common/UdpLib/UdpLib.cpp(94):Socket open successful, sd: 3
../../common/UdpLib/UdpLib.cpp(112):Entered udp_bind
../../common/UdpLib/UdpLib.cpp(126):Binding successful for socket [3]
../../common/InbWlan/InbWlan.cpp(264):In CInbWlan::StaticRecvThread
../../common/InbWlan/InbWlan.cpp(279):CInbWlan::ActualRecvThread Started
../../common/InbWlan/InbWlan.cpp(283):Inside the thread
../../common/InbWlan/InbWlan.cpp(208):In CInbWlan::ReadData buffer = %
../../common/UdpLib/UdpLib.cpp(208):Entered udp_read
../../common/MasterControl/MasterControl.cpp(3719):Generated devPwd: 34619063
../../common/WscCmd/WscCmd.cpp(453):WscCmd:ActualCBThreadProc: CB_MAIN_PUSH_MSG recd
DEVICE PIN: 34619063
../../common/WscCmd/WscCmd.cpp(2189):WscCmd::CallbackProc Enqueue done
../../common/MasterControl/MasterControl.cpp(2402):MC::SwitchModeOn: Exit
../../common/MasterControl/MasterControl.cpp(377):MC::StartStack: Informing app of mode
../../common/WscCmd/WscCmd.cpp(836):WscCmd:ActualCBThreadProc: CB_MAIN_PUSH_MODE recd

******* MODE: Client *******

Options:
0. Quit
1. Get configured
2. Get configured via push-button
Enter selection: ../../common/WscCmd/WscCmd.cpp(2189):WscCmd::CallbackProc Enqueue done
../../common/MasterControl/MasterControl.cpp(398):MC::SwitchModeOn: Done callback
../../common/WscCmd/WscCmd.cpp(105):WscCmd:: Stack started ok
1
Initiating registration...
../../common/MasterControl/MasterControl.cpp(768):MC::InitiateRegistration: Starting Supplicant
../../common/WscCmd/WscCmd.cpp(2189):WscCmd::CallbackProc Enqueue done
../../common/WscCmd/WscCmd.cpp(774):WscCmd:ActualCBThreadProc: CB_MAIN_START_WPASUPP recd
../../common/WscCmd/WscCmd.cpp(297):WscCmd:StartSupplicant:
../../common/WscCmd/WscCmd.cpp(2380):WscCmd::Supp config file written
../../common/InbWlan/InbWlan.cpp(489):In CInbWlan::SetProbeReqIE Length = 71
../../common/InbWlan/InbWlan.cpp(378):In CInbWlan::SendDataDown buffer Length = 82
../../common/InbWlan/InbWlan.cpp(387):No data has been received from lower layer
../../common/MasterControl/MasterControl.cpp(2667):MC::SetProbeReqIE: call to trans->SetProbeReqIE() failed
../../common/InbWlan/InbWlan.cpp(602):In CInbWlan::SendBeaconsUp Flag = 1
../../common/InbWlan/InbWlan.cpp(378):In CInbWlan::SendDataDown buffer Length = 6
../../common/InbWlan/InbWlan.cpp(387):No data has been received from lower layer
../../common/InbEap/InbEap.cpp(80):CInbEap Construction
../../common/InbEap/InbEap.cpp(99):Sizeof(WSC_NOTIFY_DATA) = 13
../../common/UdpLib/UdpLib.cpp(75):Entered udp_open
../../common/UdpLib/UdpLib.cpp(94):Socket open successful, sd: 4
../../common/UdpLib/UdpLib.cpp(112):Entered udp_bind
../../common/UdpLib/UdpLib.cpp(126):Binding successful for socket [4]
../../common/InbEap/InbEap.cpp(296):In CInbEap::StaticRecvThread
../../common/InbEap/InbEap.cpp(307):CInbEap::ActualRecvThread Started
../../common/InbEap/InbEap.cpp(311):Inside the thread
../../common/UdpLib/UdpLib.cpp(208):Entered udp_read
../../common/WscCmd/WscCmd.cpp(1237):WscCmd::Registration initiated
../../common/WscCmd/WscCmd.cpp(337):WscCmd:ActualCBThreadProc: STARTSUPP: After fork
../../common/WscCmd/WscCmd.cpp(350):WscCmd:ActualCBThreadProc: STARTSUPP: Started
-------log end-------

Regards,
Xiaohui

Add a Comment

Have a technical question? Visit our forums. Have site or software product issues? Contact support.