tn3399_openwrt/target/linux
Christian Lamparter 61307544d1 ath79: wndr3700 series: fix wifi range & throughput
This patch adds ar71xx's GPIO setup for the 2.4GHz and 5GHz antennae
demultiplexer:

| 158         /* 2.4 GHz uses the first fixed antenna group (1, 0, 1, 0) */
| 159         ap9x_pci_setup_wmac_gpio(0, (0xf << 6), (0xa << 6));
| 160
| 161         /* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */
| 162         ap9x_pci_setup_wmac_gpio(1, (0xf << 6), (0x6 << 6));

This should restore the range and throughput of the 2.4GHz radio
on all the derived wndr3700 variants and versions with the AR7161 SoC.
A special case is the 5GHz radio. The original wndr3700(v1) will
benefit from this change. However the wndr3700v2 and later revisions
were unaffected by the missing bits, as there is no demultiplexer
present in the later designs.

This patch uses gpio-hogs within the device-tree for all
wndr3700/wndr3800/wndrmac variants.

Notes:

Based on the PCB pictures, the WNDR3700(v1) really had eight
independent antennae. Four antennae for each radio and all of
those were printed on the circut board.

The WNDR3700v2 and later have just six antennae. Four of those
are printed on the circuit board and serve the 2.4GHz radio.
Whereas the remaining two are special 5GHz Rayspan Patch Antennae
which are directly connected to the 5GHz radio.

Hannu Nyman dug pretty deep and unearthed a treasure of information
regarding the history of how these values came to be in the OpenWrt
archives: <https://dev.archive.openwrt.org/ticket/6533.html>.

Mark Mentovai came across the fixed antenna group when he was looking
into the driver:

    fixed_antenna_group 1, (0, 1, 0, 1)
    fixed_antenna_group 2, (0, 1, 1, 0)
    fixed_antenna_group 3, (1, 0, 0, 1)
    fixed_antenna_group 4, (1, 0, 1, 0)

Fixes: FS#3088

Reported-by: Luca Bensi
Reported-by: Maciej Mazur
Reported-by: Hannu Nyman <hannu.nyman@iki.fi>
Debugged-by: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2020-06-09 21:10:45 +02:00
..
apm821xx apm821xx: set DEVICE_TYPE to "nas" for sata subtarget 2020-06-03 15:41:09 +02:00
ar71xx ar71xx: correct button type for TL-MR3020 mode slider 2020-05-31 15:53:01 +02:00
arc770 treewide: provide consistent basic DEVICE_TYPE 2020-06-03 15:41:09 +02:00
archs38 treewide: provide consistent basic DEVICE_TYPE 2020-06-03 15:41:09 +02:00
armvirt kernel: remove non-existant symbols 2020-04-13 22:40:19 +02:00
at91 treewide: remove maintainer variable from targets 2020-03-16 22:21:45 +01:00
ath25 treewide: remove maintainer variable from targets 2020-03-16 22:21:45 +01:00
ath79 ath79: wndr3700 series: fix wifi range & throughput 2020-06-09 21:10:45 +02:00
bcm27xx kernel: bump 5.4 to 5.4.45 2020-06-09 16:59:33 +02:00
bcm47xx bcm47xx: fix brcm-wl module loading 2020-06-03 16:49:28 +02:00
bcm53xx kernel: bump 5.4 to 5.4.45 2020-06-09 16:59:33 +02:00
bcm63xx bcm63xx: bcm6328: switch to upstream boot sel patch 2020-06-07 20:26:17 +02:00
cns3xxx cns3xx: remove support for kernel 4.14 2020-04-12 13:43:52 +02:00
gemini treewide: drop DEVICE_TYPE when used as device variable 2020-06-03 15:41:09 +02:00
generic kernel: bump 5.4 to 5.4.45 2020-06-09 16:59:33 +02:00
imx6 kernel: bump 5.4 to 5.4.45 2020-06-09 16:59:33 +02:00
ipq40xx ipq40xx: replace "ok" with "okay" for status in DTS files 2020-05-12 19:16:41 +02:00
ipq806x ipq806x: enable disk-activity LED trigger 2020-06-03 16:49:28 +02:00
ipq807x treewide: remove maintainer variable from targets 2020-03-16 22:21:45 +01:00
kirkwood treewide: drop DEVICE_TYPE when used as device variable 2020-06-03 15:41:09 +02:00
lantiq lantiq: fritz 7360 v2: remove additional supported devices 2020-05-18 11:59:22 +02:00
layerscape kernel: bump 5.4 to 5.4.45 2020-06-09 16:59:33 +02:00
malta malta: add missing symbols for kernel 5.4 2020-06-03 10:50:01 +01:00
mediatek kernel: bump 5.4 to 5.4.45 2020-06-09 16:59:33 +02:00
mpc85xx mpc85xx: restructure image receipts 2020-05-18 21:11:39 +02:00
mvebu mvebu: remove ClearFog Pro SUPPORTED_DEVICES 2020-06-05 21:54:53 +02:00
mxs kernel: bump 5.4 to 5.4.28 2020-03-28 13:03:02 +01:00
octeon octeon: set 5.4 as default kernel 2020-05-25 12:04:55 +02:00
octeontx kernel: bump 5.4 to 5.4.45 2020-06-09 16:59:33 +02:00
omap omap: remove support for kernel 4.14 2020-04-28 01:10:48 +02:00
oxnas oxnas: build with 8021Q VLAN support 2020-06-09 16:47:24 +01:00
pistachio treewide: remove maintainer variable from targets 2020-03-16 22:21:45 +01:00
ramips ramips: erx and erx-sfp: fix missing WAN interface 2020-06-09 16:59:33 +02:00
rb532 treewide: remove maintainer variable from targets 2020-03-16 22:21:45 +01:00
rockchip rockchip: add support for Pine64 RockPro64 2020-04-20 16:37:56 +02:00
samsung treewide: remove maintainer variable from targets 2020-03-16 22:21:45 +01:00
sunxi sunxi: remove unneeded shebang for preinit files 2020-05-05 13:09:19 +02:00
tegra tegra: correct cpu subtype 2020-03-28 22:58:36 +01:00
uml treewide: Remove self from MAINTAINER entries 2019-12-23 13:18:04 -08:00
x86 kernel: add gpio-it87 2020-06-03 16:49:28 +02:00
zynq zynq: switch to kernel 5.4 2020-03-17 00:51:48 +01:00
Makefile