[PATCH 4/4] rt2x00-d80211: Add wireless statistics (compile tested only)
These patches modify the rt2x00-d80211 family of drivers to use the wireless statics added in patch 1. Signed-Off-By: Larry [EMAIL PROTECTED] Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2400pci.c === --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2400pci.c +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2400pci.c @@ -1695,6 +1695,14 @@ static void rt2400pci_rxdone(void *data) rt2x00dev-rx_params.ssi = rt2x00_get_field32(rxd-word2, RXD_W2_RSSI); +/* FIXME: The following set of assignments supply additional data for wireless statistics. The + necessary quantities are (1) the noise value in dBm, and (2) the signal value in dBm. + The present code supplies dummy values for these quantities. */ + + rt2x00dev-rx_params.noise = -85; /* FIXME */ + rt2x00dev-rx_params.signal = + rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; /* FIXME */ + __ieee80211_rx(ring-net_dev, skb, rt2x00dev-rx_params); } @@ -2581,6 +2589,7 @@ static int rt2400pci_init_hw(struct rt2x hw-device_strips_mic = 0; hw-monitor_during_oper = 1; hw-fraglist = 0; + hw-maxssi = RT2X00_RX_MAX_SSI; /* * We have 2 TX queues: TX and PRIO. Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500pci.c === --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2500pci.c +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500pci.c @@ -1841,6 +1841,14 @@ static void rt2500pci_rxdone(void *data) rt2x00dev-rx_params.ssi = rt2x00_get_field32(rxd-word2, RXD_W2_RSSI); +/* FIXME: The following set of assignments supply additional data for wireless statistics. The + necessary quantities are (1) the noise value in dBm, and (2) the signal value in dBm. + The present code supplies dummy values for these quantities. */ + + rt2x00dev-rx_params.noise = -85; /* FIXME */ + rt2x00dev-rx_params.signal = + rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; /* FIXME */ + __ieee80211_rx(ring-net_dev, skb, rt2x00dev-rx_params); @@ -2735,6 +2743,7 @@ static int rt2500pci_init_hw(struct rt2x hw-device_strips_mic = 0; hw-monitor_during_oper = 1; hw-fraglist = 0; + hw-maxssi = RT2X00_RX_MAX_SSI; /* * We have 2 TX queues: TX and PRIO. Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500usb.c === --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2500usb.c +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500usb.c @@ -1627,6 +1627,14 @@ static void rt2500usb_rxdone(void *data) rt2x00dev-rx_params.ssi = rt2x00_get_field32(rxd-word1, RXD_W1_RSSI); +/* FIXME: The following set of assignments supply additional data for wireless statistics. The + necessary quantities are (1) the noise value in dBm, and (2) the signal value in dBm. + The present code supplies dummy values for these quantities. */ + + rt2x00dev-rx_params.noise = -85; /* FIXME */ + rt2x00dev-rx_params.signal = + rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; /* FIXME */ + __ieee80211_rx(ring-net_dev, skb, rt2x00dev-rx_params); @@ -2423,6 +2431,7 @@ static int rt2500usb_init_hw(struct rt2x hw-device_strips_mic = 0; hw-monitor_during_oper = 1; hw-fraglist = 0; + hw-maxssi = RT2X00_RX_MAX_SSI; /* * We have 2 TX queues: TX and PRIO. Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2x00.h === --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2x00.h +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2x00.h @@ -850,6 +850,8 @@ struct rt2x00_dev { #define CONFIG_DOUBLE_ANTENNA 0x0001 #define CONFIG_DISABLE_BBP_TUNING 0x0002 +#define RT2X00_RX_MAX_SSI 100 + /* * Chipset identification. */ Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt61pci.c === --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt61pci.c +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt61pci.c @@ -2285,6 +2285,14 @@ static void rt61pci_rxdone(void *data) rt2x00dev-rx_params.ssi =
Re: [Rt2400-devel] [PATCH 4/4] rt2x00-d80211: Add wireless statistics (compile tested only)
On Thursday 02 November 2006 19:48, Larry Finger wrote: These patches modify the rt2x00-d80211 family of drivers to use the wireless statics added in patch 1. Signed-Off-By: Larry [EMAIL PROTECTED] I will put the search for the correct values on my TODO list, but that needs some heavy legacy driver research. But these values seem sane enough for me. ;) Signed-Off-By: Ivo van Doorn [EMAIL PROTECTED] Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2400pci.c === --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2400pci.c +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2400pci.c @@ -1695,6 +1695,14 @@ static void rt2400pci_rxdone(void *data) rt2x00dev-rx_params.ssi = rt2x00_get_field32(rxd-word2, RXD_W2_RSSI); +/* FIXME: The following set of assignments supply additional data for wireless statistics. The + necessary quantities are (1) the noise value in dBm, and (2) the signal value in dBm. + The present code supplies dummy values for these quantities. */ + + rt2x00dev-rx_params.noise = -85; /* FIXME */ + rt2x00dev-rx_params.signal = + rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; /* FIXME */ + __ieee80211_rx(ring-net_dev, skb, rt2x00dev-rx_params); } @@ -2581,6 +2589,7 @@ static int rt2400pci_init_hw(struct rt2x hw-device_strips_mic = 0; hw-monitor_during_oper = 1; hw-fraglist = 0; + hw-maxssi = RT2X00_RX_MAX_SSI; /* * We have 2 TX queues: TX and PRIO. Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500pci.c === --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2500pci.c +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500pci.c @@ -1841,6 +1841,14 @@ static void rt2500pci_rxdone(void *data) rt2x00dev-rx_params.ssi = rt2x00_get_field32(rxd-word2, RXD_W2_RSSI); +/* FIXME: The following set of assignments supply additional data for wireless statistics. The + necessary quantities are (1) the noise value in dBm, and (2) the signal value in dBm. + The present code supplies dummy values for these quantities. */ + + rt2x00dev-rx_params.noise = -85; /* FIXME */ + rt2x00dev-rx_params.signal = + rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; /* FIXME */ + __ieee80211_rx(ring-net_dev, skb, rt2x00dev-rx_params); @@ -2735,6 +2743,7 @@ static int rt2500pci_init_hw(struct rt2x hw-device_strips_mic = 0; hw-monitor_during_oper = 1; hw-fraglist = 0; + hw-maxssi = RT2X00_RX_MAX_SSI; /* * We have 2 TX queues: TX and PRIO. Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500usb.c === --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2500usb.c +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2500usb.c @@ -1627,6 +1627,14 @@ static void rt2500usb_rxdone(void *data) rt2x00dev-rx_params.ssi = rt2x00_get_field32(rxd-word1, RXD_W1_RSSI); +/* FIXME: The following set of assignments supply additional data for wireless statistics. The + necessary quantities are (1) the noise value in dBm, and (2) the signal value in dBm. + The present code supplies dummy values for these quantities. */ + + rt2x00dev-rx_params.noise = -85; /* FIXME */ + rt2x00dev-rx_params.signal = + rt2x00dev-rx_params.ssi - RT2X00_RX_MAX_SSI; /* FIXME */ + __ieee80211_rx(ring-net_dev, skb, rt2x00dev-rx_params); @@ -2423,6 +2431,7 @@ static int rt2500usb_init_hw(struct rt2x hw-device_strips_mic = 0; hw-monitor_during_oper = 1; hw-fraglist = 0; + hw-maxssi = RT2X00_RX_MAX_SSI; /* * We have 2 TX queues: TX and PRIO. Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2x00.h === --- wireless-dev.orig/drivers/net/wireless/d80211/rt2x00/rt2x00.h +++ wireless-dev/drivers/net/wireless/d80211/rt2x00/rt2x00.h @@ -850,6 +850,8 @@ struct rt2x00_dev { #define CONFIG_DOUBLE_ANTENNA0x0001 #define CONFIG_DISABLE_BBP_TUNING0x0002 +#define RT2X00_RX_MAX_SSI100 + /* * Chipset identification. */ Index: wireless-dev/drivers/net/wireless/d80211/rt2x00/rt61pci.c