Wifi shield R3 source code for implementing P2P/wifi-direct

Hi.

I'm trying to implement wifi-direct/P2P protocol on wifi shield R3 for my faculty research project. I thougt that all code for arduino was open source. Now, when looking at https://github.com/arduino/wifishield/tree/master/firmware/wifiHD/src/SOFTWARE_FRAMEWORK/COMPONENTS/WIFI/HD/v2.7.0/UCR2/GCC, some parts are already precompiled, lib_ucr2_hd_wl_sta_intwpa_v2.7.0.a for example.

Is there any way to get this source code?

How about here?

https://github.com/arduino/wifishield/tree/master/firmware/wifiHD/src

Just a tip, the source code is often in the "src" directory.

I've searched all files. Lib_ucr1_hd_wl_sta_intwpa_v2.7.0.a is already precompiled and has for example wpa_supplicant.c in it. That source file can't be found on github. Or wl_api.c.

A library is often a collection of sources merged together. Without doing a lot of research I can't confirm or deny if that particular library file has the source for it. However it would be surprising if something on GitHub didn't.

ivik: I thougt that all code for arduino was open source.

The stuff released by the Arduino team is. No doubt someone, somewhere, has written some code for the Arduino that isn't. We get occasional questions about how to encrypt or otherwise stop people discovering what the source is, for some proprietary gadget they are making with an Arduino.

[quote author=Nick Gammon link=topic=176210.msg1307837#msg1307837 date=1373285229] A library is often a collection of sources merged together. Without doing a lot of research I can't confirm or deny if that particular library file has the source for it. However it would be surprising if something on GitHub didn't. [/quote] I understand that. But for lib_ucr2_hd_wl_sta_intwpa_v2.7.0.a source code doesnt exist. This is already precompiled .a file with objects like:

aes_wrap.o           de_common.o          eap_tls.o           md5.o             rsa.o           we_assoc.o      wei_hash.o     we_scan.o               wps_connect_internals.o
application.o        defaultreg.o         eap_tlv.o           mlme_proxy.o      scb_error.o     we_auth.o       wei_list.o     we_swm500.o             wps_connect.o
asn1.o               des.o                eap_wsc.o           ms_funcs.o        scb.o           we_cb.o         we_ind.o       we_util.o               wps_scan_internals.o
base64.o             dhm_xyssl.o          eloop_wifiengine.o  os_wifiengine.o   sha1.o          we_chan.o       wei_netlist.o  WiFi_engine_internal.o  wps_scan.o
bignum.o             driverenv.o          events.o            packer.o          sha256.o        we_console.o    we_init.o      wl_api.o                wsc_common.o
bignum_xyssl.o       drivers.o            hicWrapper.o        pkt_debug.o       state_trace.o   we_data.o       we_mcast.o     wl_ps.o                 x509v3.o
bm_hw.o              driver_wifiengine.o  hmg_traffic.o       pmksa_cache.o     tls_internal.o  we_dbg.o        we_mib.o       wl_sdio.o
common.o             eap_methods.o        l2_packet_none.o    preauth.o         tlsv1_client.o  we_dump.o       we_nr.o        wl_transport.o
config.o             eap.o                macWrapper.o        rc4.o             tlsv1_common.o  we_filter.o     we_pmkid.o     wpa.o
config_wifiengine.o  eapol_sm.o           main_wifiengine.o   registryAccess.o  ucos_data.o     wei_asscache.o  we_prop.o      wpa_supplicant.o
crypto_internal.o    eap_tls_common.o     md4.o               registry.o        ucos.o          we_ibss.o       we_rate.o      wps_common.o

Some are open, but for example wpa_supplicant.c isn't there. That particular file deals with p2p connection if wpa_supplicant is compiled with switch for supporting p2p/wifi-direct. If someone found sources for above files, pleas post a link to it. If this part is closed source, who is owner of it?