OpenWrt/LEDE Project

  • Status Unconfirmed
  • Percent Complete
  • Task Type Bug Report
  • Category Base system
  • Assigned To No-one
  • Operating System All
  • Severity Medium
  • Priority Very Low
  • Reported Version openwrt-19.07
  • Due in Version Undecided
  • Due Date Undecided
  • Private
Attached to Project: OpenWrt/LEDE Project
Opened by Luca Bensi - 10.05.2020
Last edited by Adrian Schmutzler - 13.05.2020

FS#3088 - Decreased WiFi range switching from ar71xx to ath79 on WNDR3700

Device: Netgear WNDR3700v1

OpenWrt version: openwrt-19.07.2-ath79-generic-netgear_wndr3700 (stable release, pre-built image)

Switching from openwrt-19.07.2-ar71xx-generic-wndr3700 to openwrt-19.07.2-ath79-generic-netgear_wndr3700 leads to decreased wireless range.

The signal strength, measured with the same device in the same place, drops by about 20 dBm. Getting full signal strength on a Samsung Galaxy S4 is almost impossible, even half a meter away from the router in direct line of sight.
The connection frequently drops in places where it used to be about 50% strength and stable

The issue is consistent across devices (Windows laptop, Ubuntu laptop, Android phone) and during the whole day and night.

Performances with openwrt-19.07.2-ar71xx-generic-wndr3700 are on par with the old openwrt-15.05-ar71xx-generic-wndr3700, which I was used to.

Steps to reproduce:
- install openwrt-19.07.2-ar71xx-generic-wndr3700 image
- configure wireless
- measure signal strength in one or more locations
- install openwrt-19.07.2-ath79-generic-wndr3700 image via LuCI, without retaining the configuration
- configure wireless with same settings as above
- compare signal strength in same locations as above

Luca Bensi commented on 12.05.2020 21:14

My mistake: in line 4 of "steps to reproduce", the image should be openwrt-19.07.2-ath79-generic-netgear_wndr3700

Project Manager
Adrian Schmutzler commented on 13.05.2020 17:34

Edited ath9k→ath79 in the title and
edited ar71xx→ath79 in the steps

Maciej Mazur commented on 26.05.2020 17:38

I can confirm the same issue with openwrt-19.07.3. I have upgraded from openwrt 17.x and experienced major issues with WIFI connection. Signal was poor, client were disconnecting all the time.
I had to change from openwrt-19.07.3-ath79-generic-netgear_wndr3700v2-squashfs-sysupgrade.bin to openwrt-19.07.3-ar71xx-generic-wndr3700v2-squashfs-sysupgrade.bin and so far so good

Project Manager
Adrian Schmutzler commented on 26.05.2020 18:54

Note that lede-17.01 (since mentioned) does not properly set antenna gain on many devices (has never been fixed) and therefore shouldn't be used as reference. This is just FYI, as the original report was solely based on 19.07.

Maciej Mazur commented on 27.05.2020 12:16

Thank you for additional information.

I am referencing 17.01 just FYI. My wireless was working correctly on openwrt-17, then I decided to upgrade to openwrt-19.07.03 and used openwrt-19.07.3-ath79-generic-netgear_wndr3700v2-squashfs-sysupgrade.bin (just as mentioned here ) and started experiencing issues with my wireless connections (with multiple client devices).
Then I changed firmware to openwrt-19.07.3-ar71xx-generic-wndr3700v2-squashfs-sysupgrade.bin and the problems disappeared.

So I am just confirming that openwrt-19.07.3-ath79-generic-netgear_wndr3700v2-squashfs-sysupgrade.bin causes problems in my case.

Hannu Nyman commented on 27.05.2020 15:37

WNDR3700 transition of wifi to ath79 did not implement the antenna group adjustments that were on the original ar71xx WNDR3700 implementation. The goal in 2018 was to get the wifi to work at all, so the antenna part was overlooked at that time.

See discussion in :

Ar71xx code:;a=blob;f=target/linux/ar71xx/files/arch/mips/ath79/mach-wndr3700.c;h=b9132fc363d71027c47e1728215cc0bb571ef560;hb=HEAD#l158

 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));
 161         /* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */
 162         ap9x_pci_setup_wmac_gpio(1, (0xf << 6), (0x6 << 6));

Data from live router:

Looks like the values do not get set automatically in ath79, but are set by that old routine in ar71xx. Below are current examples of both.

 OpenWrt SNAPSHOT, r13068-71d5a0d92b   (ath79)
root@router2:~# cat /sys/kernel/debug/ieee80211/phy*/ath9k/gpio_mask
root@router2:~# cat /sys/kernel/debug/ieee80211/phy*/ath9k/gpio_val

 OpenWrt SNAPSHOT, r13125-d9ff499671   (ar71xx)
root@router2:~# cat /sys/kernel/debug/ieee80211/phy*/ath9k/gpio_mask
root@router2:~# cat /sys/kernel/debug/ieee80211/phy*/ath9k/gpio_val

I have considered adding lines to write those values into GPIO into the firmware extractions routine in /etc/hotplug.d/firmware/10-ath9k-eeprom


Available keyboard shortcuts


Task Details

Task Editing