Skip to content

Commit

Permalink
fix(wifi): optimize wifi bin size and fix some issue
Browse files Browse the repository at this point in the history
1.Optimize bin size for STA only mode
2.Change fragment threshold to 256
3.Support fragment for LR mode
4.Fix ampdu duration issue
5.Fix rx fragment fail in Open mode.
  • Loading branch information
MaxwellAlan committed Dec 8, 2023
1 parent 54f2536 commit b7d5999
Show file tree
Hide file tree
Showing 7 changed files with 89 additions and 19 deletions.
12 changes: 6 additions & 6 deletions components/esp_rom/esp32c2/ld/esp32c2.rom.ld
Original file line number Diff line number Diff line change
Expand Up @@ -1536,10 +1536,10 @@ pm_on_tbtt = 0x40001ba8;
pm_sleep_for = 0x40001bc0;
/* pm_tbtt_process = 0x40001bc4; */
ppAMPDU2Normal = 0x40001bc8;
ppAssembleAMPDU = 0x40001bcc;
/*ppAssembleAMPDU = 0x40001bcc;*/
ppCalFrameTimes = 0x40001bd0;
ppCalSubFrameLength = 0x40001bd4;
ppCalTxAMPDULength = 0x40001bd8;
/*ppCalTxAMPDULength = 0x40001bd8;*/
ppCheckTxAMPDUlength = 0x40001bdc;
ppDequeueRxq_Locked = 0x40001be0;
ppDequeueTxQ = 0x40001be4;
Expand All @@ -1559,8 +1559,8 @@ ppRecycleAmpdu = 0x40001c18;
ppRecycleRxPkt = 0x40001c1c;
ppResortTxAMPDU = 0x40001c20;
ppResumeTxAMPDU = 0x40001c24;
ppRxFragmentProc = 0x40001c28;
ppRxPkt = 0x40001c2c;
/*ppRxFragmentProc = 0x40001c28;*/
/* ppRxPkt = 0x40001c2c; */
ppRxProtoProc = 0x40001c30;
ppSearchTxQueue = 0x40001c34;
ppSearchTxframe = 0x40001c38;
Expand Down Expand Up @@ -1588,7 +1588,7 @@ rcLowerSched = 0x40001c8c;
rcSetTxAmpduLimit = 0x40001c90;
/* rcTxUpdatePer = 0x40001c94;*/
rcUpdateAckSnr = 0x40001c98;
rcUpdateRate = 0x40001c9c;
/*rcUpdateRate = 0x40001c9c;*/
rcUpdateTxDone = 0x40001ca0;
rcUpdateTxDoneAmpdu2 = 0x40001ca4;
rcUpSched = 0x40001ca8;
Expand Down Expand Up @@ -1663,7 +1663,7 @@ lmacRetryTxFrame = 0x40001db8;
lmacProcessCollisions_task = 0x40001dbc;
/*lmacProcessTxopQComplete = 0x40001dc0;*/
lmacInitAc = 0x40001dc4;
lmacInit = 0x40001dc8;
/*lmacInit = 0x40001dc8;*/
mac_tx_set_txop_q = 0x40001dcc;
/*hal_init = 0x40001dd0;*/
hal_mac_rx_set_policy = 0x40001dd4;
Expand Down
8 changes: 4 additions & 4 deletions components/esp_rom/esp32c3/ld/esp32c3.rom.eco7.ld
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ pm_parse_beacon = 0x40001688;
pm_process_tim = 0x4000168c;
pm_rx_beacon_process = 0x40001690;
pm_rx_data_process = 0x40001694;
pm_sleep = 0x40001698;
pm_tbtt_process = 0x400016a0;
/* pm_sleep = 0x40001698;*/
/* pm_tbtt_process = 0x400016a0;*/
ppMapTxQueue = 0x400016d8;
ppProcTxSecFrame = 0x400016dc;
ppRxFragmentProc = 0x40001704;
rcGetSched = 0x40001764;
/*ppRxFragmentProc = 0x40001704;*/
/* rcGetSched = 0x40001764;*/
rcTxUpdatePer = 0x40001770;
rcUpdateTxDone = 0x4000177c;
wDevCheckBlockError = 0x400017b4;
Expand Down
6 changes: 3 additions & 3 deletions components/esp_rom/esp32c3/ld/esp32c3.rom.ld
Original file line number Diff line number Diff line change
Expand Up @@ -1559,10 +1559,10 @@ pm_on_tbtt = 0x40001684;
pm_sleep_for = 0x4000169c;
/* pm_tbtt_process = 0x400016a0; */
ppAMPDU2Normal = 0x400016a4;
ppAssembleAMPDU = 0x400016a8;
/*ppAssembleAMPDU = 0x400016a8;*/
ppCalFrameTimes = 0x400016ac;
ppCalSubFrameLength = 0x400016b0;
ppCalTxAMPDULength = 0x400016b4;
/*ppCalTxAMPDULength = 0x400016b4;*/
ppCheckTxAMPDUlength = 0x400016b8;
ppDequeueRxq_Locked = 0x400016bc;
ppDequeueTxQ = 0x400016c0;
Expand Down Expand Up @@ -1608,7 +1608,7 @@ rcLowerSched = 0x40001768;
rcSetTxAmpduLimit = 0x4000176c;
/* rcTxUpdatePer = 0x40001770;*/
rcUpdateAckSnr = 0x40001774;
rcUpdateRate = 0x40001778;
/*rcUpdateRate = 0x40001778;*/
/* rcUpdateTxDone = 0x4000177c; */
rcUpdateTxDoneAmpdu2 = 0x40001780;
rcUpSched = 0x40001784;
Expand Down
4 changes: 2 additions & 2 deletions components/esp_rom/esp32c6/ld/esp32c6.rom.pp.ld
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ ppRecycleAmpdu = 0x40000d10;
ppRecycleRxPkt = 0x40000d14;
//ppResortTxAMPDU = 0x40000d18;
ppResumeTxAMPDU = 0x40000d1c;
ppRxFragmentProc = 0x40000d20;
/*ppRxFragmentProc = 0x40000d20;*/
//ppRxPkt = 0x40000d24;
ppRxProtoProc = 0x40000d28;
ppSearchTxQueue = 0x40000d2c;
Expand Down Expand Up @@ -129,7 +129,7 @@ rcLowerSched = 0x40000d84;
rcSetTxAmpduLimit = 0x40000d88;
rcTxUpdatePer = 0x40000d8c;
rcUpdateAckSnr = 0x40000d90;
rcUpdateRate = 0x40000d94;
/*rcUpdateRate = 0x40000d94;*/
rcUpdateTxDone = 0x40000d98;
rcUpdateTxDoneAmpdu2 = 0x40000d9c;
rcUpSched = 0x40000da0;
Expand Down
6 changes: 3 additions & 3 deletions components/esp_rom/esp32s3/ld/esp32s3.rom.ld
Original file line number Diff line number Diff line change
Expand Up @@ -1861,10 +1861,10 @@ pm_on_tbtt = 0x400054cc;
pm_sleep_for = 0x40005514;
/* pm_tbtt_process = 0x40005520; */
ppAMPDU2Normal = 0x4000552c;
ppAssembleAMPDU = 0x40005538;
/*ppAssembleAMPDU = 0x40005538;*/
ppCalFrameTimes = 0x40005544;
ppCalSubFrameLength = 0x40005550;
ppCalTxAMPDULength = 0x4000555c;
/*ppCalTxAMPDULength = 0x4000555c;*/
ppCheckTxAMPDUlength = 0x40005568;
ppDequeueRxq_Locked = 0x40005574;
ppDequeueTxQ = 0x40005580;
Expand Down Expand Up @@ -1912,7 +1912,7 @@ rcLowerSched = 0x40005778;
rcSetTxAmpduLimit = 0x40005784;
/* rcTxUpdatePer = 0x40005790;*/
rcUpdateAckSnr = 0x4000579c;
rcUpdateRate = 0x400057a8;
/*rcUpdateRate = 0x400057a8;*/
/* rcUpdateTxDone = 0x400057b4; */
rcUpdateTxDoneAmpdu2 = 0x400057c0;
rcUpSched = 0x400057cc;
Expand Down
70 changes: 70 additions & 0 deletions components/esp_wifi/src/wifi_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,77 @@ void ieee80211_ftm_attach(void)
#ifndef CONFIG_ESP_WIFI_SOFTAP_SUPPORT
void net80211_softap_funcs_init(void)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
}

bool ieee80211_ap_try_sa_query(void *p)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
return false;
}

bool ieee80211_ap_sa_query_timeout(void *p)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
return false;
}

int add_mic_ie_bip(void *p)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
return 0;
}

void ieee80211_free_beacon_eb(void)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
}

int ieee80211_pwrsave(void *p1, void *p2)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
return 0;
}

void cnx_node_remove(void *p)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
}

int ieee80211_set_tim(void *p, int arg)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
return 0;
}

bool ieee80211_is_bufferable_mmpdu(void *p)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
return false;
}

void cnx_node_leave(void *p, uint8_t arg)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
}

void ieee80211_beacon_construct(void *p1, void *p2, void *p3, void *p4)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
}

void * ieee80211_assoc_resp_construct(void *p, int arg)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
return NULL;
}

void * ieee80211_alloc_proberesp(void *p, int arg)
{
/* Do not remove, stub to overwrite weak link in Wi-Fi Lib */
return NULL;
}

#endif

#ifndef CONFIG_ESP_WIFI_NAN_ENABLE
Expand Down

0 comments on commit b7d5999

Please sign in to comment.