mirror of
https://github.com/open-sdr/openwifi.git
synced 2025-04-07 19:04:15 +00:00
More correct hw flag set via ieee80211_hw_set to prevent:
Some client, like iPhone, always has frequent PS (Power Saving) state change like this: sdr0: STA e2:72:49:82:a6:a0 aid 1 enters power save mode sdr0: STA e2:72:49:82:a6:a0 aid 1 exits power save mode sdr0: STA e2:72:49:82:a6:a0 aid 1 sending 0 filtered/0 PS frames since STA woke up Now with these correct hw flag setting, the link is more stable
This commit is contained in:
parent
921f612e86
commit
72d992a6ec
15
driver/sdr.c
15
driver/sdr.c
@ -2077,9 +2077,20 @@ static int openwifi_dev_probe(struct platform_device *pdev)
|
||||
printk("%s openwifi_dev_probe: band_2GHz.n_channels %d n_bitrates %d band_5GHz.n_channels %d n_bitrates %d\n",sdr_compatible_str,
|
||||
priv->band_2GHz.n_channels,priv->band_2GHz.n_bitrates,priv->band_5GHz.n_channels,priv->band_5GHz.n_bitrates);
|
||||
|
||||
ieee80211_hw_set(dev, HOST_BROADCAST_PS_BUFFERING);
|
||||
// ieee80211_hw_set(dev, HOST_BROADCAST_PS_BUFFERING); // remove this because we don't want: mac80211.h: host buffers frame for PS and we fetch them via ieee80211_get_buffered_bc()
|
||||
ieee80211_hw_set(dev, RX_INCLUDES_FCS);
|
||||
ieee80211_hw_set(dev, BEACON_TX_STATUS);
|
||||
ieee80211_hw_set(dev, BEACON_TX_STATUS);//mac80211.h: The device/driver provides TX status for sent beacons.
|
||||
|
||||
ieee80211_hw_set(dev, REPORTS_TX_ACK_STATUS);//mac80211.h: Hardware can provide ack status reports of Tx frames to the stack
|
||||
|
||||
// * @IEEE80211_HW_AP_LINK_PS: When operating in AP mode the device
|
||||
// * autonomously manages the PS status of connected stations. When
|
||||
// * this flag is set mac80211 will not trigger PS mode for connected
|
||||
// * stations based on the PM bit of incoming frames.
|
||||
// * Use ieee80211_start_ps()/ieee8021_end_ps() to manually configure
|
||||
// * the PS mode of connected stations.
|
||||
ieee80211_hw_set(dev, AP_LINK_PS);
|
||||
|
||||
if (AGGR_ENABLE) {
|
||||
ieee80211_hw_set(dev, AMPDU_AGGREGATION);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user