I have a MacbookPro 2016 Late, which always connected with the Aruba AP under 300Mbps data rate (MCS==13), which is lower as expected. I also have another old model of MacbookPro, which can achieve 450Mbps data rate (MCS == 23). I know the MCS value changes time to time based on the real-time air environment. Also, different antenna / wif chipset can have different design/algorithms, which might give different result of choose against MCS value even under the same air environment.
What I would like to understand is from the frame exchange level that when does the MCS value was set? Association Request/Response, authentication phase or any others? I do have a packet trace for the connection, just not sure which frame type of conversation to look at so that I can explain to myself why a specific mcs value was chosen.
I beleive the driver on the macbook decides on a frame to frame basis when to use which rate and dynamically adjusts it, depending on signal strength, noise and probably mostly SNR.
Also important, if you use DFS channels, make sure that the location services on the Mac aren't disabled, or it won't join/use the DFS ones!
thanks Patoberli, I will check the location services.
I'm located in China, the country code should be CN, but now its set as X2, not sure what does X2 mean for country code. And it might not be related because I have other machines which also has X2 as the country code but can get MCS == 23.
Sometimes, if the SNR is to bad, the client can also decide to not join at higher MCS rates, this is sadly extremely hard to debug on the client.
I'm actually under a consistent environment for testing purpose. The signal is always good enough, but he MCS was still 15. Not sure what was getting it restricted.
Ok, then I sadly can't help you further.
Regarding AP country codes (-X2, -CN, ....), here is the list: http://www.cisco.com/c/dam/assets/prod/wireless/wireless-compliance-tool/index.html