How do I integrate athtestcmd in Android/Linux platforms on the MSD45/SSD45?

Answer

BOTH “fw-3.bin” and “athtcmd_ram.bin” must be moved to the appropriate firmware directory on the platform. (For Laird's testing the location is: /vendor/firmware/ath6k/AR6003/hw2.1.1/).

Make sure to rename or delete any symbolic links to previous fw-4 or fw-3 references. The fw-3 must take the place of the previous fw firmware (this is only done for regulatory testing).

Add the “athtestcmd” binary to /system/bin.

Assuming that the system is running a compat-wireless release, re-compile both the driver and cfg80211 with the following flag set:

CPTCFG_NL80211_TESTMODE=y (note: NL80211_TESTMODE is 100% required to run this test. If the driver does not have the flag set test mode will not work).

Replace cfg80211.ko, ath6kl_core.ko, and ath6kl_sdio.ko on their Android platform with the new release compiled with the NL80211_TESTMODE flag.

Manually insert insmod compat.ko and cfg80211.ko.

The ath6kl_core.ko module must be inserted with the parameter testmode=1. See the following command:

insmod ath6kl_core.ko testmode=1

Manually insert ath6kl_sdio.ko as normal (Note: running the "dmesg" command here should report that the firmware was initialized successfully with testmode=1).