You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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>
4 years ago
..
apm821xx apm821xx: set DEVICE_TYPE to "nas" for sata subtarget 4 years ago
ar71xx ar71xx: correct button type for TL-MR3020 mode slider 4 years ago
arc770 treewide: provide consistent basic DEVICE_TYPE 4 years ago
archs38 treewide: provide consistent basic DEVICE_TYPE 4 years ago
armvirt kernel: remove non-existant symbols 4 years ago
at91 treewide: remove maintainer variable from targets 4 years ago
ath25 treewide: remove maintainer variable from targets 4 years ago
ath79 ath79: wndr3700 series: fix wifi range & throughput 4 years ago
bcm27xx kernel: bump 5.4 to 5.4.45 4 years ago
bcm47xx bcm47xx: fix brcm-wl module loading 4 years ago
bcm53xx kernel: bump 5.4 to 5.4.45 4 years ago
bcm63xx bcm63xx: bcm6328: switch to upstream boot sel patch 4 years ago
cns3xxx cns3xx: remove support for kernel 4.14 4 years ago
gemini treewide: drop DEVICE_TYPE when used as device variable 4 years ago
generic kernel: bump 5.4 to 5.4.45 4 years ago
imx6 kernel: bump 5.4 to 5.4.45 4 years ago
ipq40xx ipq40xx: replace "ok" with "okay" for status in DTS files 4 years ago
ipq806x ipq806x: enable disk-activity LED trigger 4 years ago
ipq807x treewide: remove maintainer variable from targets 4 years ago
kirkwood treewide: drop DEVICE_TYPE when used as device variable 4 years ago
lantiq lantiq: fritz 7360 v2: remove additional supported devices 4 years ago
layerscape kernel: bump 5.4 to 5.4.45 4 years ago
malta malta: add missing symbols for kernel 5.4 4 years ago
mediatek kernel: bump 5.4 to 5.4.45 4 years ago
mpc85xx mpc85xx: restructure image receipts 4 years ago
mvebu mvebu: remove ClearFog Pro SUPPORTED_DEVICES 4 years ago
mxs kernel: bump 5.4 to 5.4.28 4 years ago
octeon octeon: set 5.4 as default kernel 4 years ago
octeontx kernel: bump 5.4 to 5.4.45 4 years ago
omap omap: remove support for kernel 4.14 4 years ago
oxnas oxnas: build with 8021Q VLAN support 4 years ago
pistachio treewide: remove maintainer variable from targets 4 years ago
ramips ramips: erx and erx-sfp: fix missing WAN interface 4 years ago
rb532 treewide: remove maintainer variable from targets 4 years ago
rockchip rockchip: add support for Pine64 RockPro64 4 years ago
samsung treewide: remove maintainer variable from targets 4 years ago
sunxi sunxi: remove unneeded shebang for preinit files 4 years ago
tegra tegra: correct cpu subtype 4 years ago
uml treewide: Remove self from MAINTAINER entries 4 years ago
x86 kernel: add gpio-it87 4 years ago
zynq zynq: switch to kernel 5.4 4 years ago
Makefile