About the wireless performance
I'll use this post to give users a fast overview and some guidelines about the efforts for finding the correct wireless calibration for this device.
REPORTS ARE NEEDED to move this into OpenWrt's source code, if you can provide wireless reports, it will help all OpenWrt users that own this device.
Background
This device has an Atheros (ath10k
) wireless module, which needs several pieces to work: the kernel module (the driver), the firmware that runs inside the wireless chip CPU, the precalibration which is embeded inside the device's ROM (where the MAC and other device-specific information lives) and the calibration which is loaded by the driver from the filesystem. The part that we are researching is the calibration.
It looks like Linksys can detect where the device is running and somehow select the correct calibration, or maybe it's based on some ID in the ROM. Anyway, OpenWrt have no way to automatically pick a calibration.
Linksys provides a bunch of calibration files for the 2.4 GHz and the 5 GHz wireless modules. Because of the way of how the ath10k
driver works, you cannot load them directly to OpenWrt. In order to partially solve this, I've added a custom script and syntisized all the relevant calibrations to the ath10k
format.
This allows users to test the calibrations whenever they feel that their wireless performance is not optimal. Still, there is a choice to be done: the default file. This is important because my script and the files I've syntisized are not relevant to "vanilla" OpenWrt.
The default file
The default file is picked by the driver always. As such, it must have to be the best for most cases. Users can opt-in to my ROM and test all files if they feel that their device is not running correctly or can be improved, or just for pure love to the science.
How to do that?
Long story short, you only need to replace a file. Since I've syntisized many files, you can test them one by one. Note that I only have the "relevant" files. This mean that if your device works fine in every radio but with diferent files, you will have to syntisize the file yourself. This is why picking a good default is important.
If you are using my ROM, you only run testcalibration
to list all calibration availables and then you run testcalibration [name]
where [name]
is the calibration you want to try.
BIG NOTE: This will not be true in future ROM releases, because I will stop providing crafted files and will provide all of the original, unmodified Linksys files; and a script to generate the calibration in-place. That will totally change the names of the calibrations and the way of using the testcalibration
script, but will allow users to syntisize themselves a custom file that will use the best calibration for both 2.4 and 5 GHz for them.
I want to get involved
If you want to get involved (as this is currently a work in progress) you can provide your results. Here is what you have to do:
- Install this custom ROM or somehow extract the requiered files.
- Read the attached spreadsheet. It contains the files of the relevant calibrations which are being tested and their results.
- Prepare your environment, consider the following:
- Ensure that only one client (your testing client) is connected to only one of the wireless bands. If you are using the device as an AP, change the names of the wireless access points so only you can connect to only one of the bands. If your device is an STA, the same may apply with the difference that the client is the Linksys.
- Ensure that you are not moving either device (the Linksys and the testing client) and that your network is as quiet as possible.
- Fix your wireless channel and the wireless power to: for 2.4 GHz set channel to 1 and power to 30; and for the 5 GHz set channel to 36 and power to 23.
- Prepare a table to write down the values you'll note. You can use the attached spreadsheet as a template, but note that only the signal and noise values are relevant. Only I have write access to the spreadsheet and I did already the formula to calculate the scores.
- Run the
testcalibration
script with every file in the spreadsheet. Ensure to note all of the relevant information. Once the device reboots for every relevant calibration, you'll need to:
- Go to LuCI or use the CLI to get the signal and noise of the your client (in AP mode) or your access point (in STA mode), you only need to provide these two values.
- In your client, there are some apps which allows you to see the wireless performance. As with the above, write down the results of the signal and noise of the Linksys AP that your client reports.
- The values may change often. Try to write down the most relevant value according to your criteria.
- Submit your results in this thread. You can see examples of the reports from other users above this post.
How it's everything going?
The results are compiled in the following spreadsheet: Google Spreadsheets.