This change was accidentally reverted when merging to dey-3.2/maint, causing
the qualcomm module to be missing in the rootfs.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This allows the packages to be included in the ccimx6sbc images. While at it,
include the Qualcomm bluez patches in ccimx6 builds. These patches aren't
destructive, they simply add functionality required by the Qualcomm chip, so
they shouldn't have any secondary effects when using the Atheros chip.
https://onedigi.atlassian.net/browse/DEL-7661https://onedigi.atlassian.net/browse/DEL-7666
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Regulatory domain support will be added completely with the 'regulatory-addon'.
Also simplify symlink management now that BDF file has the same name for
every platform.
https://jira.digi.com/browse/DEL-6841
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Update the wireless driver to a newer version that supports both
chips (qca6574 and qca6564).
We keep the same bdwlan30_US.bin files as the previous version
of the driver (or fakeboard_US for the qca6474).
Rename directories to qca65X4_driver_interface.
We have used the files from the following repo:
qca6574au-le-2-2-2_qca_oem -> 4d29c6886f2Commit label r00005.1
- CS2.2 0.0.005.1
md5sum
----------------------------------------------------------
qca65X4_pcie: otp30.bin -> 9d1cf03473904bd8b97fa30bc92b4a16
qwlan30.bin -> 794f7a6f12ef3e6f8db6257b3a6f896f
utf30.bin -> 41cfb4e50613cd0eeb0fa99a005131bd
qca65X4_sdio: otp30.bin -> e018e7b629b055dc4616c7e88c615b41
qwlan30.bin -> fe37bc043132ecf21e504eb33f46b846
utf30.bin -> 4743dee015047752e433e69f4db89974
https://jira.digi.com/browse/DEL-6766
Signed-off-by: Francisco Gil <francisco.gilmartinez@digi.com>
Also remount the root filesystem as 'rw' when the symlinks need to be
updated.
https://jira.digi.com/browse/DEL-6760
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Obtain the mount point of the filesystem to remount as 'read-write' from
/proc/mounts to avoid issues related to df output wrapping on a second line
when the device filesystem name is too long.
When the script finishes, remount the filesystem as 'read-only' if that was
the original access permission.
https://jira.digi.com/browse/DEL-6760https://jira.digi.com/browse/DEL-5854
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Generalize script to select the correct board data file to load into the
wireless chip depending on the Regulatory Domain configuration whether it
is a variation of 'bdwlan30.bin' or 'fakeboar.bin'.
If 'bdwlan30_US.bin' or 'bdwlan30_World.bin' files are found in the firmware
directory, the script will create two symlinks, 'bdwlan30.bin and 'utfbd30.bin',
pointing to either one of those files.
If no 'bdwlan30_*.bin' files are found, but 'fakeboar_US.bin' or
'fakeboar_World.bin' is, it will create a single symlink, 'fakeboar.bin',
pointing to either one of those files. In the case a QCA6574 community driver
is loaded, 'board.bin' symlink will be updated.
If no 'fakeboard_*.bin' files are found either, the script will exit.
https://jira.digi.com/browse/DEL-6773
Signed-off-by: Gonzalo Ruiz <Gonzalo.Ruiz@digi.com>
Error message was being printed upon successful copy of the
MAC addresses file, instead of upon failure.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Otherwise, users that are behind corporate firewalls might not be able to
obtain the package sources.
https://jira.digi.com/browse/DEL-6663
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
On some scenarios, like when booting from NFS, the root filesystem is not
writteable. When this happens the qualcomm.sh is not able to write the MAC
file which so the wireless driver fails to load.
The arguments that U-Boot uses when booting from NFS using dboot result in
the root filesystem being mounted as read-only, but at some point it is
remounted as read/write. This happens after trying to load the wireless
driver, though.
Currently this is the only scenario in which we can reproduce the problem,
and there are several other processes in DEY that require a writeable root
filesystem (wireless SSID editing, Dropbear SSH key-gen and u-boot-fw-utils)
so remount the rootfs as writteable as a workaround.
While on it improve the script a bit to notify on error trying to create
this file, just in case this happens in other scenarios.
https://jira.digi.com/browse/DEL-5854
Signed-off-by: Jose Diaz de Grenu <Jose.DiazdeGrenu@digi.com>
We want to run the script if the 'wireless' node exits on the device tree.
This is to facilitate disabling of the wireless by removing that node.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://jira.digi.com/browse/DEL-6616
P2P disabled is the default in the kernel module, so passing here the
parameter to 'modprobe' does nothing but prevents to set the parameter
in the kernel command line.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Add kernel module parameter to enable/disable the p2p interface.
By default p2p interface is disabled.
https://jira.digi.com/browse/DEL-6503
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
The naming of branches in the qcacld repository is now in the qca65x4
namespace.
Also, the qca6564/master branch now does not hardcode the TX MCS to 0 as
this change should only apply to the CC6UL and not other platforms like
the CC6+.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The module was being loaded by the default udev rules. With this new rule, the
module will be loaded with our custom qualcomm.sh script.
https://jira.digi.com/browse/DEL-6067
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
A new variable QUALCOMM_WIFI_INTERFACE allows to select between 'sdio'
(default) and 'pcie'.
Compilation flags and source files differ between the two.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
Bash v4.4 or higher warns when discarding NULL bytes in command substitution
output. Remove these bytes to avoid the undesired warnings.
https://jira.digi.com/browse/DEL-5588
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
This commit modifies different recipes to support the new platform
ccimx6qpsbc and adapt it to maintain the support to ccimx6sbc.
https://jira.digi.com/browse/DEL-5082
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Tweaked to maintain some recipes' revisions to AUTOREV instead of the
fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
We need to pass different log levels depending on the message, so they
appear in the console, so generalize the 'log' function.
https://jira.digi.com/browse/DEL-4682
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
At the point this script is running from udev (the system log is not yet
available), so to avoid debug messages from qualcomm wireless module
reduce the console log level.
https://jira.digi.com/browse/DEL-4570
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
At the point this script is run (from udev) the system log is not yet
available, so use the kernel log buffer instead.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Use the same udev script that loads the qualcomm wireless module to
create the 'wlan1' virtual interface.
https://jira.digi.com/browse/DEL-4453
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Udev comes with a bunch of generic rules for the hardware. One of them:
/lib/udev/rules.d/80-drivers.rules
is able to load the qualcomm wireless module.
At the same time our new rule is needed, so it prepares the firmware
before the module is loaded.
Both rules running collide with following error message:
udevd[181]: '/etc/udev/scripts/qualcomm.sh' [184] terminated by signal 1 (Hangup)
So to fix this, we rename the specific rule so it's parsed later, and
then we use the hard assignation '=' instead of '+=' to override the
values that come from the previous parsed rule.
Also clean-up a bit the 'qualcomm.sh' script and the modprobe file,
given that now we know the standard drivers rule won't run for this
interface.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
NetworkManager is not able to detect and manage the wireless interface
until is actually created, so let udev load the kernel module and create
the interface on boot.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
Since 30c253e108 the module is compiled from a repository which already
includes the patches, so we can remove them from DEY.
Signed-off-by: Diaz de Grenu, Jose <Jose.DiazdeGrenu@digi.com>
Tweaked to maintain some recipes' revisions to AUTOREV instead of the
fixed SHA1s from the tag.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The firmware configuration and the driver configuration are part of the
driver repository. Stop duplicating the content in meta-digi so they
are updated with the driver itself.
https://jira.digi.com/browse/DEL-4021
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The amount of patches to this driver maintained in meta-digi is
substantial, so we are moving to a git repository release model.
https://jira.digi.com/browse/DEL-3710
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
Protect the invocation of the _scan_done() callback function with the
global lock to avoid that it is called while the module is being unloaded
and the data structures have been freed.
Additionally, the commit also adds a patch to reduce the log level of the
driver that is logging some annoying messages.
https://jira.digi.com/browse/DEL-3607https://jira.digi.com/browse/DEL-3393
Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com>
Remove the commit that removes the p2p0 interface at boot. This interface
is the one used to establish p2p connections. Configuring the wlan0 command
for p2p does not work.
https://jira.digi.com/browse/DEL-3390
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The qualcomm wlan driver creates two interfaces at load time, wlan0 and
p2p0. Both of them should load the module if not already loaded.
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The dependence on virtual/kernel is added implicitly through the module
class, so there is no need to add it explicitly.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Otherwise the module is built with debug as that is the Makefile's
default.
https://jira.digi.com/browse/DEL-3392
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
As discovered during certifications preparation work, calibration changes
applied only on the bdwlan30.bin file do not take effect.
Per QCA guidelines, the bdwlan30.bin and utfbd30.bin files should be the
same for the calibration changes to work.
This commit removes the current utfbd30.bin file, with an md5sum that
matches the original bdwlan30.bin file in QCA's chipcode
qca6564-le-1-0-3_qca_device repository, and creates a symbolic link to the
actual bdwlan30.bin board file used to certify Digi's module internal
antenna.
https://jira.digi.com/browse/DEL-3454
Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
The region code is programmed in the OTP bits. We want to allow to be able to
override this behavior by setting the new value as a property in the device
tree called "regulatory-domain".
This can be done by setting the variable "regdomain=<code>" in uboot or well
by defining that entry in the device tree.
https://jira.digi.com/browse/DEL-2799
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The country region is programmed in the OTP bits. Based on that value we need
to load the firmware file for the specific country region.
https://jira.digi.com/browse/DEL-2774
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
By default the driver was being compiled with debug messages. Disabled it
but leave the option there so it can be enabled by user.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
The root filesystem can have installed the busybox modprobe implementation or
the kmod modprobe implementation.
Check the version installed and compound the modprobe arguments.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Add recipe kernel-module-qualcomm to compile kernel module externally with all
the patches for kernel 4.1.15.
https://jira.digi.com/browse/DEL-2653
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>