bug 1906: 802.11n PHY configuration should be different for 2.4GHz and 5GHz devices
authorSébastien Deronne <sebastien.deronne@gmail.com>
Fri, 07 Nov 2014 09:24:11 -0800
changeset 11054 67de0a6729c3
parent 11053 666410330797
child 11055 b2f744e6c76a
bug 1906: 802.11n PHY configuration should be different for 2.4GHz and 5GHz devices
RELEASE_NOTES
src/wifi/model/yans-wifi-phy.cc
--- a/RELEASE_NOTES	Tue Nov 04 16:29:22 2014 -0800
+++ b/RELEASE_NOTES	Fri Nov 07 09:24:11 2014 -0800
@@ -32,6 +32,7 @@
 ----------
 - Bug 1551 - NS_LOG_COMPONENT_DEFINE inside or outside of ns3 namespace?
 - Bug 1791 - TCP Endpoint never deallocates when closing
+- Bug 1906 - 802.11n PHY configuration for 2.4GHz and 5GHz devices
 - Bug 1957 - UdpSocketImpl is stuck after a Close()
 - Bug 1968 - Missing supported 802.11n HT rates in the WifiPhy constructor
 - Bug 1970 - Missing NotifyAckTimeoutStartNow in MacLow::StartDataTxTimers
--- a/src/wifi/model/yans-wifi-phy.cc	Tue Nov 04 16:29:22 2014 -0800
+++ b/src/wifi/model/yans-wifi-phy.cc	Fri Nov 07 09:24:11 2014 -0800
@@ -1022,13 +1022,22 @@
 YansWifiPhy::Configure80211n (void)
 {
   NS_LOG_FUNCTION (this);
-  m_deviceRateSet.push_back (WifiPhy::GetDsssRate1Mbps ());
-  m_deviceRateSet.push_back (WifiPhy::GetDsssRate2Mbps ());
-  m_deviceRateSet.push_back (WifiPhy::GetDsssRate5_5Mbps ());
-  m_deviceRateSet.push_back (WifiPhy::GetErpOfdmRate6Mbps ());
-  m_deviceRateSet.push_back (WifiPhy::GetDsssRate11Mbps ());
-  m_deviceRateSet.push_back (WifiPhy::GetErpOfdmRate12Mbps ());
-  m_deviceRateSet.push_back (WifiPhy::GetErpOfdmRate24Mbps ());
+  if (m_channelStartingFrequency>=2400 && m_channelStartingFrequency<=2500) //@ 2.4 GHz
+    {
+      m_deviceRateSet.push_back (WifiPhy::GetDsssRate1Mbps ());
+      m_deviceRateSet.push_back (WifiPhy::GetDsssRate2Mbps ());
+      m_deviceRateSet.push_back (WifiPhy::GetDsssRate5_5Mbps ());
+      m_deviceRateSet.push_back (WifiPhy::GetErpOfdmRate6Mbps ());
+      m_deviceRateSet.push_back (WifiPhy::GetDsssRate11Mbps ());
+      m_deviceRateSet.push_back (WifiPhy::GetErpOfdmRate12Mbps ());
+      m_deviceRateSet.push_back (WifiPhy::GetErpOfdmRate24Mbps ());
+    }
+  if (m_channelStartingFrequency>=5000 && m_channelStartingFrequency<=6000) //@ 5 GHz
+    {
+      m_deviceRateSet.push_back (WifiPhy::GetOfdmRate6Mbps ());
+      m_deviceRateSet.push_back (WifiPhy::GetOfdmRate12Mbps ());
+      m_deviceRateSet.push_back (WifiPhy::GetOfdmRate24Mbps ());
+    }
   m_bssMembershipSelectorSet.push_back(HT_PHY);
   for (uint8_t i=0; i <8; i++)
     {