-
Notifications
You must be signed in to change notification settings - Fork 83
Description
New here, so excuse me if this is posted incorrectly.
A clear and concise description of what the bug is.
Two TPLink CP710-v2 units, 400 feet apart, consistently fail when in Mesh (adhoc) mode, 10mhz chanel, tested on ch 149 and 180. They actually fail on 5, 10 and 20mhz wide channels.
Not a beginner with openwrt, and altho I have been building and using it for 20 years, this is my first foray into working with adhoc mode.
I've spent some time troubleshooting this issue. Went back to basics and put a bog standard openwrt on both of them, they still fail in the same manner using an ad-hoc network on the rf path.
Looking at kernel logs, they produce an error message from the ath10k driver to the effect of 'Invalid HT mode'. Also of interest, that more often than not happens when running an iperf between them, and at the same time that error comes up, there is a segment fault reported, backtrace points to an iperf library, but it's not the source of the issue. Source of the issue is an errant pointer from the ath10K driver.
Turns out there is an easy solution. Set NOHT rather than HT20 in the htmode field. Yes, they run a bit slower, but, they no longer produce driver errors referencing an invalid ht mode. Iperf tests run start to finish without an error, continuously for over an hour.
I checked out the aerdn repository, built from scratch with no changes, the error does reproduce with my build flashed on.
I then made a one line change to /usr/local/bin/node_setup
In the stanza setting up the radio for mesh mode, I added
htmode="NOHT"
After a rebuild and flash onto the units, they now run flawlessly, over the RF path.
What I am not sure of, not very familiar with this code base, is what I can reference at this point to make this change unit specific, or if it even should be unit specific?
I know some chipsets seem to work with HT20 on the narrow channels, but I also believe that HT20 is indeed invalid for a 10 or 5mhz channel.
FWIW, these units (qca9880 wireless) also fail in adhoc mode on 20mhz channels with HT20 set for radio mode, but they dont fail anymore with NOHT set.
Another point of interest, the aredn build puts the dd-wrt firmware in place of the ath-10k-ct which openwrt uses 'out of the box'. With this NOHT change in place, these units run fine using the ath10k-ct firmware.
I have some more units here that are not in the supported list, which I am in the process of working out what they can, and cannot do. At least one of the fails on narrow channels, haven't got to testing a couple of the others yet. Not sure if folks here want submissions for new hardware support that wont do 5 and 10mhz channels.