@@ -2389,8 +2389,11 @@ disassociate:
station_disassociated(station);
break;
default:
- if (ret > 0)
+ if (ret > 0) {
+ station_debug_event(station, "ft-roam-failed",
+ "status: %d", ret);
goto try_next;
+ }
station_roam_failed(station);
break;
@@ -2462,8 +2465,11 @@ static bool station_try_next_transition(struct station *station,
struct handshake_state *new_hs;
struct ie_rsn_info cur_rsne, target_rsne;
- l_debug("%u, target %s", netdev_get_ifindex(station->netdev),
- util_address_to_string(bss->addr));
+ station_debug_event(station, "roaming-info", "bss: "MAC", "
+ "signal: %d, load: %d/255",
+ MAC_STR(bss->addr),
+ bss->signal_strength / 100,
+ bss->utilization);
/* Reset AP roam flag, at this point the roaming behaves the same */
station->ap_directed_roaming = false;
@@ -3164,6 +3170,9 @@ static bool station_retry_owe_default_group(struct station *station)
static bool station_retry_with_reason(struct station *station,
uint16_t reason_code)
{
+ station_debug_event(station, "connect-failed", "reason: %u",
+ reason_code);
+
/*
* We don't want to cause a retry and blacklist if the password was
* incorrect. Otherwise we would just continue to fail.
@@ -3214,6 +3223,9 @@ static bool station_retry_with_status(struct station *station,
else
blacklist_add_bss(station->connected_bss->addr);
+ station_debug_event(station, "connect-failed", "status: %u",
+ status_code);
+
return station_try_next_bss(station);
}
@@ -3374,6 +3386,8 @@ static void station_disconnect_event(struct station *station, void *event_data)
case STATION_STATE_FT_ROAMING:
case STATION_STATE_FW_ROAMING:
case STATION_STATE_NETCONFIG:
+ station_debug_event(station, "disconnected-info", "reason: %u",
+ l_get_u16(event_data));
station_disassociated(station);
return;
default:
@@ -3513,7 +3527,12 @@ int __station_connect_network(struct station *station, struct network *network,
return r;
}
- l_debug("connecting to BSS "MAC, MAC_STR(bss->addr));
+ station_debug_event(station, "connecting-info", "ssid: %s, bss: "MAC", "
+ "signal: %d, load: %d/255",
+ network_get_ssid(network),
+ MAC_STR(bss->addr),
+ bss->signal_strength / 100,
+ bss->utilization);
station->connected_bss = bss;
station->connected_network = network;