207 lines
10 KiB
Markdown
207 lines
10 KiB
Markdown
# ROM wifi funcs
|
|
|
|
todo:
|
|
|
|
- disasm the wifi binary
|
|
|
|
```sh
|
|
$ find . -type f -name "*.o" -exec bash -c '
|
|
for file in "$@"; do
|
|
nm "$file" | grep ROM_ | sed "s|^|$file: |"
|
|
done' bash {} +
|
|
```
|
|
|
|
```
|
|
./lib_wlan_mp/rtl8711b_cmd.o: U ROM_WIFI_BCN_VALID
|
|
./lib_wlan_mp/rtl8711b_firmware.o: U ROM_WIFI_8051Reset
|
|
./lib_wlan_mp/rtl8711b_firmware.o: U ROM_WIFI_FWDownloadEnable
|
|
./lib_wlan_mp/rtl8711b_hal_efuse.o: U ROM_WIFI_EfuseParseTxPowerInfo
|
|
./lib_wlan_mp/lxbus_ops.o: 00000001 T ROM_WIFI_InitLxDma_patch
|
|
./lib_wlan_mp/phydm_CfoTracking.o: U ROM_odm_CfoTrackingFlow
|
|
./lib_wlan_mp/phydm_CfoTracking.o: U ROM_ODM_CfoTrackingReset
|
|
./lib_wlan_mp/phydm_CfoTracking.o: U ROM_odm_GetDefaultCrytaltalCap
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitAdaptiveCtrl
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_INIT_BeaconParameters
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitBurstPktLen
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitDriverInfoSize
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitEDCA
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitLLTTable
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitLxDma_patch
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitNetworkType
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitNormalChipRegPriority
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitOperationMode
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitPageBoundary
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitRateFallback
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitRCR
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitRetryFunction
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitSIFS
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitTransferPageSize
|
|
./lib_wlan_mp/lxbus_halinit.o: U ROM_WIFI_InitTxBufferBoundary
|
|
./lib_wlan_mp/lxbus_suspend.o: U ROM_WIFI_32K_Cmd
|
|
./lib_wlan_mp/phydm_HWConfig.o: U ROM_odm_EVMdbToPercentage
|
|
./lib_wlan_mp/phydm_HWConfig.o: U ROM_odm_QueryRxPwrPercentage
|
|
./lib_wlan_mp/phydm_HWConfig.o: U ROM_odm_SignalScaleMapping_8711B
|
|
./lib_wlan_mp/rtw_mp.o: U ROM_odm_FalseAlarmCounterStatistics
|
|
./lib_wlan_mp/rtw_mp.o: U ROM_odm_SetCrystalCap
|
|
./lib_wlan_mp/rtl8711b_xmit.o: U ROM_WIFI_BCN_VALID
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_ACM_CTRL
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_BASIC_RATE
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_BCN_FUNC
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_BSSID_SET
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_BWMapping
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_CAM_WRITE
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_CHECK_BSSID
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_CHECK_TXBUF
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_DISCONNECT
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_FIFO_CLEARN_UP
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_FillFakeTxdesc
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_FillTxdescSectype
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_INIT_BeaconParameters
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_MACADDR_SET
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_MEDIA_STATUS
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_MEDIA_STATUS1
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_PROMISC_Cmd
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_ReadChipVersion
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_RESP_SIFS
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_RESUME_TxBeacon
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_SCMapping
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_SetOpmodeAP
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_SET_TSF
|
|
./lib_wlan_mp/rtl8711b_hal_init.o: U ROM_WIFI_STOP_TXBeacon
|
|
./lib_wlan_mp/HalPhyRf_8711B.o: U ROM_odm_SetCrystalCap
|
|
./lib_wlan_mp/rtl8711b_phycfg.o: U ROM_odm_SetCrystalCap
|
|
./lib_wlan/rtl8711b_cmd.o: U ROM_WIFI_BCN_VALID
|
|
./lib_wlan/rtl8711b_firmware.o: U ROM_WIFI_8051Reset
|
|
./lib_wlan/rtl8711b_firmware.o: U ROM_WIFI_FWDownloadEnable
|
|
./lib_wlan/rtl8711b_hal_efuse.o: U ROM_WIFI_EfuseParseTxPowerInfo
|
|
./lib_wlan/lxbus_ops.o: 00000001 T ROM_WIFI_InitLxDma_patch
|
|
./lib_wlan/phydm_CfoTracking.o: U ROM_odm_CfoTrackingFlow
|
|
./lib_wlan/phydm_CfoTracking.o: U ROM_ODM_CfoTrackingReset
|
|
./lib_wlan/phydm_CfoTracking.o: U ROM_odm_GetDefaultCrytaltalCap
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitAdaptiveCtrl
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_INIT_BeaconParameters
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitBurstPktLen
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitDriverInfoSize
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitEDCA
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitLLTTable
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitLxDma_patch
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitNetworkType
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitNormalChipRegPriority
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitOperationMode
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitPageBoundary
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitRateFallback
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitRCR
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitRetryFunction
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitSIFS
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitTransferPageSize
|
|
./lib_wlan/lxbus_halinit.o: U ROM_WIFI_InitTxBufferBoundary
|
|
./lib_wlan/lxbus_suspend.o: U ROM_WIFI_32K_Cmd
|
|
./lib_wlan/phydm_HWConfig.o: U ROM_odm_EVMdbToPercentage
|
|
./lib_wlan/phydm_HWConfig.o: U ROM_odm_QueryRxPwrPercentage
|
|
./lib_wlan/phydm_HWConfig.o: U ROM_odm_SignalScaleMapping_8711B
|
|
./lib_wlan/rtl8711b_xmit.o: U ROM_WIFI_BCN_VALID
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_ACM_CTRL
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_BASIC_RATE
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_BCN_FUNC
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_BSSID_SET
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_BWMapping
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_CAM_WRITE
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_CHECK_BSSID
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_CHECK_TXBUF
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_DISCONNECT
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_FIFO_CLEARN_UP
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_FillFakeTxdesc
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_FillTxdescSectype
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_INIT_BeaconParameters
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_MACADDR_SET
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_MEDIA_STATUS
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_MEDIA_STATUS1
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_PROMISC_Cmd
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_ReadChipVersion
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_RESP_SIFS
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_RESUME_TxBeacon
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_SCMapping
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_SetOpmodeAP
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_SET_TSF
|
|
./lib_wlan/rtl8711b_hal_init.o: U ROM_WIFI_STOP_TXBeacon
|
|
./lib_wlan/HalPhyRf_8711B.o: U ROM_odm_SetCrystalCap
|
|
./lib_wlan/rtl8711b_phycfg.o: U ROM_odm_SetCrystalCap
|
|
```
|
|
|
|
```mermaid
|
|
sequenceDiagram
|
|
participant Device
|
|
participant AP as Access Point
|
|
participant MAC as MAC Layer
|
|
participant PHY as PHY Layer
|
|
|
|
Note over Device,PHY: Initialization Phase
|
|
Device->>MAC: ROM_WIFI_InitMacClk
|
|
Device->>MAC: ROM_WIFI_Init32kClk
|
|
Device->>MAC: ROM_WIFI_InitLxDma
|
|
Device->>MAC: ROM_WIFI_INIT_MACADDR_SET
|
|
Device->>MAC: ROM_WIFI_InitNetworkType
|
|
Device->>MAC: ROM_WIFI_InitEDCA
|
|
Device->>PHY: ROM_WIFI_ENABLE_BB_RF
|
|
|
|
Note over Device,PHY: Connection Phase
|
|
Device->>AP: ROM_WIFI_Set_MLME_Sitesurvey
|
|
AP->>Device: Beacon Frames
|
|
Device->>MAC: ROM_WIFI_BCN_VALID
|
|
Device->>MAC: ROM_WIFI_CHECK_BSSID
|
|
Device->>MAC: ROM_WIFI_Set_MLME_JOIN
|
|
Device->>MAC: ROM_WIFI_BSSID_SET
|
|
|
|
Note over Device,PHY: Operation Phase
|
|
Device->>MAC: ROM_WIFI_Set_AC_Param
|
|
MAC->>Device: ROM_WIFI_CHECK_TXBUF
|
|
Device->>MAC: ROM_WIFI_SET_MAX_AGG_NUM
|
|
|
|
Note over Device,PHY: Security Setup
|
|
Device->>MAC: ROM_WIFI_SEC_CFG
|
|
Device->>MAC: ROM_WIFI_CAM_WRITE
|
|
|
|
Note over Device,PHY: Maintenance
|
|
Device->>MAC: ROM_WIFI_TSF_GetByPort
|
|
Device->>MAC: ROM_WIFI_IMR_UPDATE
|
|
Device->>MAC: ROM_WIFI_High_Queue_Empty_Check
|
|
|
|
```
|
|
|
|
1. init:
|
|
|
|
- sysclock init (`ROM_WIFI_InitMacClk`, `ROM_WIFI_Init32kClk`)
|
|
- DMA setup (`ROM_WIFI_InitLxDma`)
|
|
- MAC address config (`ROM_WIFI_INIT_MACADDR_SET`)
|
|
- Network type setup (`ROM_WIFI_InitNetworkType`)
|
|
- EDCA params for QoS (`ROM_WIFI_InitEDCA`)
|
|
- RF/Baseband enable (`ROM_WIFI_ENABLE_BB_RF`)
|
|
|
|
2. connect:
|
|
|
|
- site survey to find networks (`ROM_WIFI_Set_MLME_Sitesurvey`)
|
|
- beacon validation (`ROM_WIFI_BCN_VALID`)
|
|
- BSSID checking (`ROM_WIFI_CHECK_BSSID`)
|
|
- join request (`ROM_WIFI_Set_MLME_JOIN`)
|
|
- BSSID setting (`ROM_WIFI_BSSID_SET`)
|
|
|
|
3. config:
|
|
|
|
- AC (Access Category) param (`ROM_WIFI_Set_AC_Param`)
|
|
- Buffer management? (`ROM_WIFI_CHECK_TXBUF`)
|
|
- Aggregation configuration (`ROM_WIFI_SET_MAX_AGG_NUM`)
|
|
|
|
4. security:
|
|
|
|
- Security configuration (`ROM_WIFI_SEC_CFG`)
|
|
- CAM (Content Addressable Memory) (`ROM_WIFI_CAM_WRITE`)
|
|
|
|
5. maintain:
|
|
- TSF (Timing Synchronization Function) (`ROM_WIFI_TSF_GetByPort`)
|
|
- Interrupt mask updates (`ROM_WIFI_IMR_UPDATE`)
|
|
- Queue monitoring (`ROM_WIFI_High_Queue_Empty_Check`)
|
|
|
|
- MU-EDCA (Multi-User EDCA) `ROM_WIFI_AX_MUEDCA_Para`
|
|
- BSS Coloring `ROM_WIFI_AX_BSS_COLOR_SET`
|
|
- OFDMA (Orthogonal Frequency Division Multiple Access)
|