On Sunday 08 April 2007 23:54, Larry Finger wrote: > Why would I want to do this? Did it fix the output? > If the community agrees on anything, it is > that the signal is given in dBm (i.e. a negative number) and that the rssi > is a positive number. Nope. dBm doesn't have to be negative, though it often is since most wireless hardware isn't that powerful. RSSI is simply a number that's bigger for stronger signals. It could be dBm, but it doesn't have to be. If you want a stronger definition of RSSI, look at RCPI. > The firmware in the bcm43xx chips return a quantity > that looks like an rssi with a received packet, and > bcm43xx_rssi_postprocess turns that into a quantity that looks like dBm. > Your patch reverses those designations and mixes up the two quantities. > Again I ask "Why"? > Because of the naming/use of the statistics in mac80211 and WE. Signal ends up getting assigned to (struct iw_quality).qual, which is actually just an arbitrary link quality indicator, not dBm. Anything you care about can be put there. (r)ssi gets assigned to (struct iw_quality).level, which is RSSI. WE allows that and noise to be specified in either arbitrary units or dBm or RCPI. Yes, I did reverse your conventions, but it makes more sense this way. (R)SSI is always valid to assign to (struct iw_quality).level and signal ((struct iw_quality).qual) is quite arbitrary and cannot be specified in specific units. Signal should be probably be renamed to qual to make it more clear that it is arbitrary. -Michael Wu
Attachment:
pgpj9fH7YQtZ7.pgp
Description: PGP signature