#2251 closed (fixed)
Broadcom K26 2.4ghz Driver - problem with interference low speed rate
| Reported by: | fractal | Owned by: | |
|---|---|---|---|
| Keywords: | Cc: |
Description (last modified by fractal)
as of 17831 the wifi bug still exists where the 2.4ghz radio in all modes drops link speed. I believe this is due to the driver tuning on interference.. Over a period of an hour or less the wireless link speed will drop from 130mbs - 5.5mbs.. I have tested this in both G and N modes as well as 20/40mhz and on all channels 1-11 in us. Also wl interference does nothing from the command line. According the wiki it should be:
Get/Set? interference mitigation mode. Choices are:
0 = none 1 = non wlan 2 = wlan manual 3 = wlan automatic
changing this setting from the command line does nothing, making me believe its disabled or not compiled in the wl driver.
Change History (7)
comment:1 Changed 19 months ago by phuzi0n
comment:2 Changed 19 months ago by fractal
- Description modified (diff)
comment:3 Changed 19 months ago by fractal
yep corrected in ticket... still as of 17831.... wl interference not working ....
root@DD-WRT:~# wl -i nvram get wl0_ifname interference root@DD-WRT:~#
output returns nothing
comment:4 Changed 19 months ago by fractal
I think the problem can be corrected in the driver /src/linux/linux/drivers/net/wireless/bcm43xx/bcm43xx_main.c
Starting line: 2391
<code>
/* Select initial Interference Mitigation. */
tmp = radio->interfmode; radio->interfmode = BCM43xx_RADIO_INTERFMODE_NONE; bcm43xx_radio_set_interference_mitigation(bcm, tmp);
</code>
I think it should be set to this:
<code>
/* Select initial Interference Mitigation. */
tmp = radio->interfmode; radio->interfmode = BCM43xx_RADIO_INTERFMODE_MANUALWLAN; bcm43xx_radio_set_interference_mitigation(bcm, tmp);
</code>
in bcm43xx_radio.c there is no define for AUTOWLAN, so: 3 = wlan automatic is not really in the driver at all.
it is defined in bcm43xx_radio.h on line 56:
<code> #define BCM43xx_RADIO_INTERFMODE_NONE 0 #define BCM43xx_RADIO_INTERFMODE_NONWLAN 1 #define BCM43xx_RADIO_INTERFMODE_MANUALWLAN 2 #define BCM43xx_RADIO_INTERFMODE_AUTOWLAN 3
</code>
comment:5 follow-up: ↓ 7 Changed 19 months ago by fractal
wl -i eth1 interference 2 =WORKS
the wl syntax is broken so you must run
wl -i eth1 interference after each change..
It has been confirmed working at that level... ticket closed.
comment:6 Changed 19 months ago by fractal
- Resolution set to fixed
- Status changed from new to closed
comment:7 in reply to: ↑ 5 Changed 19 months ago by phuzi0n
Replying to fractal:
wl -i eth1 interference 2 =WORKS
the wl syntax is broken so you must run
wl -i eth1 interference after each change..
It has been confirmed working at that level... ticket closed.
Huh? The first command is proper syntax for setting the mode to 2. The second command is proper syntax for getting the current mode.
Also you don't seem to understand C very well in your previous comment. Header files (.h files) usually have small bits of code in them like these static variables. The bcm43xx_radio.c file has the bcm43xx_radio.h file as an include so the compiler knows about all the code from the .h file when it's compiling the .c file. ie. the bcm43xx_radio.c in effect does have all those static variables defined, they're just located in an included file.

I'm not sure what you mean by 18301?
Are you sure you're using the correct syntax?