On Tue, Jan 05, 2016 at 11:11:32PM +0100, Mark Kettenis wrote: > > Date: Tue, 5 Jan 2016 15:06:00 +0100 > > From: Stefan Sperling <s...@stsp.name> > > The problem I'd like to fix is that in 11n mode iwn's table currently > > contains MCS 7 to 0, but no legacy rates. This will cause transmit > > problems in case the environment is so noisy that MCS/OFDM won't work. > > So make the firmware fall back to the lowest legacy rate if all MCS > > have failed. > > This means we'll fall back to CCK (11b) rates on 2GHz which may be > > the only way to get data through in noisy environments (such as > > the CCC congress, for instance -- hint for benno@ and phessler@). > > Hmm, that sounds abit suboptimal.
Not intended to sound that way. The iwm driver also fills the low parts of the table with legacy rates for fallback. > Is your plan tomake the rate table dynamic as well? Eventually, yes. There are just 16 slots, which is enough for now but not enough for MCS 0 - 31 which the hardware is capable of. For MIMO support we'll have to come up with a strategy to make AMRR and drivers do rate scaling across all these MCS. In Linux each driver implements its own rate scaling so there are many examples to look at... > Or should AMRR force the card back into 11a/11g mode > if it doesn't succeed in transferringany packets at MCS-0? A mode change isn't necessary for using legacy frame formats. 11n mode means the HT frame formats may be used for unicast data frames. But since 11n is fully backwards compatible any frame format will do. MCS-0 uses the same modulation for data as OFDM-6 in 11a/g. Relative to 11a MCS-0 is already equivalent to the lowest possible rate. Using CCK1 in the last slot is mostly meant to help 2GHz networks that are unable to use anything but CCK because of high interference or huge range, which should be an edge case. I realize this looks a bit hacky since AMRR deals in MCS and suddenly the driver tells the firmware to use legacy rates... But we have to do this for broadcast anyway so that non-11n clients can receive, and for unicast the legacy rates are just a fallback.