On Tue, 2008-12-09 at 20:50 +0100, Henning Rogge wrote: > On Monday 08 December 2008 20:43:35 you wrote: > > And on your second patch: > > > +static u16 nl80211_calculate_bitrate(struct rate_info *rate) > > > +{ > > > + int modulation, streams, bitrate; > > > + > > > + if (!(rate->flags & RATE_INFO_FLAGS_MCS)) > > > + return rate->legacy; > > > + > > > + modulation = rate->mcs & 7; > > > + streams = rate->mcs >> 3; > > > I don't think this gives correct results for MCS rates 32 through 76, > > does it? It should at least not calculate anything then. If we did it in > > userspace then programs could also actually calculate the correct rate > > as a float, rather than this approximation. Not that it'll matter, I > > guess. Doesn't anybody know how to do the actual calculation? > It had a small type (corrected in the new patches), but I think the values are > good. I have attached a test programm to this mail that outputs the bandwith > values calculated by the function. No, that's the thing, for 32 through 76 the calculated values are totally wrong, that isn't a logical extension of the scheme, MCS 73 for 20 MHz for example is: four streams, using 64-qam, 64-qam, 16-qam, qpsk with a coding rate of 3/4 for a net bitrate of 195.0 MBits johannes
Attachment:
signature.asc
Description: This is a digitally signed message part