Git Product home page Git Product logo

hostap's People

Contributors

jmalinen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

hostap's Issues

Does pending EAPOL Work?

Hi jouni
This letter may have some unsuitable word, please forgive my bad English skill.
Recently I construct a WDS network, using hostapd. Sometimes when the WDS_client restart. The wpa_supplicant connect active will failed. I diff the success log and failed log and found when the pending EAPOL occur the connect failed.
can you give me some advice for this.
I found some code add to the back of pending EAPOL:

if (wpa_s->pending_eapol_rx) {
	struct os_reltime now, age;
	os_get_reltime(&now);
	os_reltime_sub(&now, &wpa_s->pending_eapol_rx_time, &age);
	if (age.sec == 0 && age.usec < 100000 &&
	    os_memcmp(wpa_s->pending_eapol_rx_src, bssid, ETH_ALEN) ==
	    0) {
		wpa_dbg(wpa_s, MSG_DEBUG, "Process pending EAPOL "
			"frame that was received just before "
			"association notification");
		wpa_supplicant_rx_eapol(
			wpa_s, wpa_s->pending_eapol_rx_src,
			wpabuf_head(wpa_s->pending_eapol_rx),
			wpabuf_len(wpa_s->pending_eapol_rx));
	}
	wpabuf_free(wpa_s->pending_eapol_rx);
	wpa_s->pending_eapol_rx = NULL;
}

if ((wpa_s->key_mgmt == WPA_KEY_MGMT_NONE ||
     wpa_s->key_mgmt == WPA_KEY_MGMT_IEEE8021X_NO_WPA) &&
    wpa_s->current_ssid &&
    (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC_DONE)) {
	/* Set static WEP keys again */
	wpa_set_wep_keys(wpa_s, wpa_s->current_ssid);
}

#ifdef CONFIG_IBSS_RSN
if (wpa_s->current_ssid &&
    wpa_s->current_ssid->mode == WPAS_MODE_IBSS &&
    wpa_s->key_mgmt != WPA_KEY_MGMT_NONE &&
    wpa_s->key_mgmt != WPA_KEY_MGMT_WPA_NONE &&
    wpa_s->ibss_rsn == NULL) {
	wpa_s->ibss_rsn = ibss_rsn_init(wpa_s, wpa_s->current_ssid);
	if (!wpa_s->ibss_rsn) {
		wpa_msg(wpa_s, MSG_INFO, "Failed to init IBSS RSN");
		wpa_supplicant_deauthenticate(
			wpa_s, WLAN_REASON_DEAUTH_LEAVING);
		return;
	}

	ibss_rsn_set_psk(wpa_s->ibss_rsn, wpa_s->current_ssid->psk);
}
#endif /* CONFIG_IBSS_RSN */
// gawhesheep added this, debug comment.
// This happen unnormally in failed log.
wpas_wps_notify_assoc(wpa_s, bssid);

if (data) {
	wmm_ac_notify_assoc(wpa_s, data->assoc_info.resp_ies,
			    data->assoc_info.resp_ies_len,
			    &data->assoc_info.wmm_params);

	if (wpa_s->reassoc_same_bss)
		wmm_ac_restore_tspecs(wpa_s);
}

I'm not sure what ture happened. I guess it's due to new added code.

wpas_wps_notify_assoc(wpa_s, bssid);

which add in this commit:

commit f9f0526bcde038c23f071c05af3c27d6ad924bfe
Author: Jouni Malinen <[email protected]>
Date:   Mon Aug 27 13:48:11 2012 +0300

WPS: Maintain more AP state during WPS PIN iteration

Maintain state of WPS APs during iteration to find the correct AP for
WPS PIN operation when no specific BSSID is specified. This information
can be used for optimizing the order in which the APs are tried. This
commit is only adding the collection of the information and more
detailed debug information to make debug logs more helpful in figuring
out how the AP selection order could be improved.

Signed-hostap: Jouni Malinen <[email protected]>

whether unstable cases can be fixed

hi, I have issues looking for help.

1.Below website was broken for several days.
Is anybody to fix it?

http://buildbot.w1.fi/hwsim/tests.php

2.some cases are unstable
For example:
p2p_service_discovery_external
I run this case on Debian for 40 times, and fail 2 times, all of other 38 times are pass.
I wonder whether the instability can be fixed.

how wpa_suplicant SIOCGIWAP get 00:00:00:00:00:00 mac?

I read the code src/drivers/driver_wext.c
at function: wpa_driver_wext_event_wireless
the client may receive a is_zero_ether_addr all 0 mac,
I want to ask how to make the client receive a "00:00:00:00:00:00" mac which seems a assiciation AP?

case SIOCGIWAP:
wpa_printf(MSG_DEBUG, "Wireless event: new AP: "
MACSTR,
MAC2STR((u8 *) iwe->u.ap_addr.sa_data));
*if (is_zero_ether_addr(
(const u8 ) iwe->u.ap_addr.sa_data) ||
os_memcmp(iwe->u.ap_addr.sa_data,
"\x44\x44\x44\x44\x44\x44", ETH_ALEN) ==
0) {
os_free(drv->assoc_req_ies);
drv->assoc_req_ies = NULL;
os_free(drv->assoc_resp_ies);
drv->assoc_resp_ies = NULL;
wpa_supplicant_event(drv->ctx, EVENT_DISASSOC,
NULL);

		} else {
			wpa_driver_wext_event_assoc_ies(drv);
			wpa_supplicant_event(drv->ctx, EVENT_ASSOC,
					     NULL);
		}
		break;

Mobile Wi-Fi Solution

I have created a Raspberry Pi 3A+ prototype system consisting of a rover with camera and touch screen remote control that communicate across a Wi-Fi network. My expectation was to have the rover switch from our local Wi-Fi router to the remote control once it started hostapd at which point the rover streams video and shares sockets with the remote control through its access point.

In this current configuration, both RPis run arch linux arm without wpa_supplicant. The rover is the server that receives commands from the remote using sockets. I use netctl to switch wlan0 to the remote control's AP SSID when it appears using a 'iw dev wlan0 scan' command. While connected, the rover pings the remote control IP address to confirm it is connected. Should the ping fail or the AP SSID vanishes, the netctl call switches the rover back to the local Wi-Fi LAN.

Yesterday I confirmed the netctl switched the rover to the remote control access point correctly but once I shut down the local Wi-Fi router, the rover lost connection with the remote control and the streaming video stopped playing on the remote control.

At this point, I am not sure what to use to create this “subnetwork” solution so that these two RPi units communicate outside an internal Wi-Fi network. Do I need to purchase a separate miniature pocket Wi-Fi router or is there a way for the two RPis to communicate and stream video over their internal Wi-Fi chips?

I am open to any alternative suggestions or recommendations. If there is a site with this information, I will be appreciative of that recommendation. I searched but could not find a solution.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.