Split the ATH6KL firmware files to a different recipe and package so
they can be used regardless of what driver we are using (the external
module or the upstream driver).
Reuse the 'firmware-atheros' recipe which was creating a package with
bluetooth firmware, to create the package with wireless firmware as
well.
Also remove 'ccimx6' as compatible machine for the external atheros
module, as the module does not even compile with the kernel version we
are using (3.14).
https://jira.digi.com/browse/DEL-1858
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
This is a regression introduced in a74363c. The MOD_VARIANT variable was
not correctly set because in kernel 2.6.35 there is no device-tree
support.
The fix is to get the module variant from the sysfs as a fallback for
old kernels.
https://jira.digi.com/browse/DEL-1694
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit 6357d71152c38c4713fc534b78b6c2993b201aa8)
Some CC6 variants have wireless but not bluetooth. Those variants need a
different calibration file.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
(cherry picked from commit a74363cf4a9b239edf9d628f84fe7e88002c0f5c)
A post-down script was unloading the Atheros wireless driver
when the network interfaces were brought down.
On rare occasions the 'rmmod' command was not able to complete
and may leave the system in an unexpected state.
This patch removes the post-down script for the ccardimx28 platform
and leaves it only for the ccimx6 platform, where the unloading
is wanted to reset the driver after suspend.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-1314
By removing the driver on ifdown and loading it on ifup we workaround some
problems found in long run suspend stability testing.
https://jira.digi.com/browse/DEL-1084
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This updates the driver to upstream AR6003-ISC-v3.4p6-b3.4.0.225.
https://jira.digi.com/browse/DEL-1127
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This adds the calibration file for US regulatory (still missing the
world-regulatory calibration file)
https://jira.digi.com/browse/DEL-1102
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
To be sure the 'cfg80211' module is settled down before the
'ath6kl_sdio' module tries to use it.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Version v3.4p6 seems to have some problems with WEP encription. Version
v3.4p4 seems to work better with WEP, so revert to that version.
https://jira.digi.com/browse/DEL-843
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
There seems to be a race condition in the load of the 'cfg80211' and
'ath6kl_sdio' modules. If we try to load the atheros module before the
cfg80211 is settled down, the driver crash.
The workaround is just separate the load of both modules in two separate
'modprobe' commands and add a small delay between them.
https://jira.digi.com/browse/DEL-814
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The wireless module occasionally fails to load in kernel v3.10.
If that is the case, unload the driver and load it again (up to
five retries).
Notes:
- Only the ath6kl_sdio module needs to be unloaded and reloaded.
- The chip is not issued a power cycle via CHIP_PWD_L because
this demonstrated to cause failure, instead of improving
behaviour.
- The 2-seconds sleep after unloading the driver is a security
measure to avoid other problems seen during test cycle.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Reviewed-by: Javier Viguera <javier.viguera@digi.com>
https://jira.digi.com/browse/DEL-820
Modify the atheros and bluetooth init scripts to fetch the hwid details
from the device tree.
https://jira.digi.com/browse/DEL-572
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
In Linux 2.6.35, the kernel module accepting the parameters on load
was 'ath6kl_sdio' while in 3.10 is 'ath6kl_core'.
So we need to apply the load parameters to either module depending on
the kernel version.
This is solved by configuring the modprobe configuration file
'/etc/modprobe.d/atheros.conf' with the parameters to the correct
module instead of passing them in the command line.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
With the old version of the kernel (2.6.35) we build an external atheros
kernel module, while with the new kernel (3.10) the atheros driver is
included with the kernel sources.
However, the new driver needs the firmware files and the driver load
scripts that are stored with the old driver.
So put a dependence on kernel-module-atheros regardless of the kernel
version and then rework the kernel-module-atheros recipe to build the
whole driver for the old kernel or only the firmware for the new kernel.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
ERROR: Fetcher failure: Unable to find file file://atheros anywhere
The FILESPATH variable (used as the search path for files referred to
in SRC_URI) is now (dylan) more restrictive, so move the files where
they can be found.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>