Action scripts? Could you help me for what your referring to, as in…?
Regarding timing, when I was doing 2.6.6, silex had suggested some timing mods that actually seemed to help 2.6.6. I put these in 2.9.3, also, but maybe they don’t help this? Agree due to the intermittent nature of whether dpp works or not on our all hilink (sta and ap) system makes timing a possible theory.
In ./build_dir/target-mipsel_24kc_musl/hostapd_s1g-1.16.4/src/ap/dpp_hostapd.c, hostapd_dpp_pkex_init(), this is inserted:
hapd->dpp_pkex = pkex;
msg = hapd->dpp_pkex->exchange_req;
//wait_time = 2000; /* TODO: hapd->max_remain_on_chan; */
//per silex
wait_time = 3000;
//end per silex
pkex->freq = 2437;
Same file, ostapd_dpp_pkex_retry_timeout():
if (!pkex || !pkex->exchange_req)
return;
//silex said try 10
//if ((!pkex->exchange_done && pkex->exch_req_tries >= 5) ||
// (pkex->exchange_done && pkex->commit_reveal_tries >= 5)) {
if ((!pkex->exchange_done && pkex->exch_req_tries >= 10) ||
(pkex->exchange_done && pkex->commit_reveal_tries >= 10)) {
if (hostapd_dpp_pkex_next_channel(hapd, pkex) < 0) {
And at the end of hostapd_dpp_pb_pkex_init() :
send_frame:
wpa_msg(hapd->msg_ctx, MSG_INFO, DPP_EVENT_TX “dst=” MACSTR
" freq=%u type=%d", MAC2STR(src), freq,
DPP_PA_PKEX_EXCHANGE_REQ);
hostapd_drv_send_action(hapd, pkex->freq, 0, src,
wpabuf_head(msg), wpabuf_len(msg));
//pkex->exch_req_wait_time = 2000;
//per silex
pkex->exch_req_wait_time = 3000;
//end per silex
pkex->exch_req_tries = 1;
Also, in ./build_dir/target-mipsel_24kc_musl/wpa_supplicant_s1g-1.16.4/wpa_supplicant/dpp_supplicant.c wpas_dpp_presence_ann_channels():
for (c = 0; c < mode->num_channels; c++) {
struct hostapd_channel_data *chan = &mode->channels[c];
if (chan->flag & (HOSTAPD_CHAN_DISABLED |
HOSTAPD_CHAN_RADAR))
continue;
#if defined(CONFIG_IEEE80211AH)
//-------------------------------------------------
//mod per silex; they said without it, dpp will fail
unsigned int s1g_chan = 0;
static const int s1g_chirp_channels = {
// 2MHz channels
5190, 5230, 5270, 5310, 5510, 5550,
5590, 5630, 5755, 5795, 5835,
// 1MHz channels
5680, 5180, 5200, 5220, 5240, 5260,
5280, 5300, 5320, 5500, 5520, 5540,
5560, 5580, 5600, 5620, 5640, 5765,
5785, 5805, 5825, 5845, 5865
};
for (s1g_chan = 0; s1g_chan < ARRAY_SIZE(s1g_chirp_channels); s1g_chan++) {
if (chan->freq == s1g_chirp_channels[s1g_chan])
int_array_add_unique(&freqs, chan->freq);
}
//----------- end mod -----------------
if (chan->freq == preferred_s1g_ht_freq)
add_s1g_chan = 1;