There are some cases in which the loading of the Wi-Fi modules may be
problematic due to timing conditions:
- when a suspend operation in progress is aborted
- when Bluetooth is disabled
The Wi-Fi needs some time for the system to be ready before loading the
modules.
This commit:
- Stops the Bluetooth before bringing down the Wi-Fi on suspend
- Starts the Bluetooth (or adds a small delay) before bringing up the
Wi-Fi on resume
- Reworks the way the resume operations are programmed, to do them in
reverse order (first load the Wi-Fi modules, then bring the interfaces
up (if required). It does so by appending/prepending actions into a
variable and dumping the contents finally to a temp file.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
When switching off the 3.3V supply from the Wi-Fi during suspend,
around a 10% of the times, when resuming the Wi-Fi driver fails to load.
It was verified that a rebind operation over the mmc interface (which
eventually calls the script that loads the Wi-Fi module) makes it
load successfully, which denotes a timing issue during resume.
Adding a small delay on the resume operation before running the script
makes the Wi-Fi driver load at the first try.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-8821
This allows to set RTC configuration parameters. For example, the rv3028
RTC included in ccmp1 and ccimx93 has the "backup switching mode"
configuration in a register that is saved to an eeprom. By default the
BSM value is 00, which means backup switchover disabled. This means that
even if you connect a coin cell to our DVK, the RTC will ignore it.
With this commit, the BSM can be configured to direct switching mode
(DSM) or level switching mode (LSM) so the RTC uses the battery when the
device is powered off.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The btnxpuart driver uses internally the serial port to manage the chip, and
loads the BT FW independently of the WiFi subsystem.
While on it, add support in the bluetooth-init script to be able to power the
chip when the WiFi support is not present.
https://onedigi.atlassian.net/browse/DEL-8632
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
rename interface sta_name to be "wlan0" instead of "mlan0", so it keeps
compatibility with other platforms.
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Check if the bluetooth-init service is running before going to suspend,
just in case has stopped or disabled it on purpose.
https://onedigi.atlassian.net/browse/DEL-8497
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
We need to take in account if the IW612 chip (WiFi/Bt) is going to be powered
off on suspend state. In such a case, we need to unload the driver modules and
restore the expected tty speed for Bluetooth, so that functionality is restored
back on resume.
https://onedigi.atlassian.net/browse/DEL-8489
Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
Make the script send the resume actions to the background
so that console returns to the user without having to wait
for the Wi-Fi module to load and the Bluetooth to attach.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
https://onedigi.atlassian.net/browse/DEL-8262
The following files were duplicated across platforms but were
identical or almost identical.
Only used on SysVinit (currently only by default on the CC6UL).
- standby
- acpid.map
Only used on SystemD
- standby-actions
Notes:
- The triggering of udev actions are harmless if the interfaces
don't exist.
- The value of KEY_POWER on acpid.map for CC6/CC6Plus was originally
0 instead of 1, but this file is not currently used in systemd.
Signed-off-by: Hector Palacios <hector.palacios@digi.com>
These are just a verbatim copy of the ccimx8mm ones, so the project is
buildable. This file list should be revisited and adapted for the
ccimx93.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The ConnectCore Demo web page will be the new default landing page for all products,
so remove the default landing page that was created for the ccimx6ulsbc platform.
Signed-off-by: David Escalona <david.escalona@digi.com>
This commit adds power safe and reboot safe script for the MCA
and substitute default reboot and poweroff busybox commands.
Signed-off-by: Mike Engel <Mike.Engel@digi.com>
https://onedigi.atlassian.net/browse/DEL-7828
This mode is necessary in the recovery initramfs to be able to properly detect
any external storage device that might contain an update package. The
configuration option associated with this mode became explicit after upgrading
busybox to v1.34.1, so enable it in our defconfig.
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Some packages require different scripts, configuration files or installations
depending on the wireless chip assembled on the target. In general, the way
to support both chips in one image is to have the recipes install both
versions of the aforementioned files, then leave only the strictly necessary
version once the wireless chip can be deduced.
In the case of the init-ifupdown recipe, this involves installing temporary
configuration fragments that are later erased. In the case of the standby
script, the logic can be implemented in a single file.
https://onedigi.atlassian.net/browse/DEL-7661https://onedigi.atlassian.net/browse/DEL-7666
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Use the same common files for both ConnectCore 8M platforms
https://jira.digi.com/browse/DEL-7397
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
configure power LED for blinking in standby
configure power LED solid on after resume
https://jira.digi.com/browse/DEL-7330
Signed-off-by: Hector Bujanda <Hector.Bujanda@digi.com>
Currently in a systemd based init, the httpd server is not launched. A
systemd service is needed, so add it.
Also install a CGI script that allows to use the device for the
NetworkManager connectivity check.
https://jira.digi.com/browse/DEL-6577
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Even though systemd support is not yet available for these platforms, add the
scripts so bitbake doesn't fail when building the busybox package.
https://jira.digi.com/browse/DEL-6565
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
* Use the same operation order when resuming interfaces
* Remove unnecessary delay in ccimx6sbc standby script
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This script introduces a minor delay when the own script
launch the wpa_supplicant daemon, however this minor delay
is needed in the boot process when the wireless interface
is loaded, if not the bridge mechanism throws an unexpected
error trying to add the interface to the bridge before the
wireless is ready to use.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Soften the dependencies between the services and start the bluetooth stack
regardless of the existence of a bluetooth chip. Also, update the standby
script to reflect that there is no longer a strong dependency between the
services.
https://jira.digi.com/browse/DEL-6452
Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
Latest update to version 1.29.3 in upstream breaks the compatibility
of our bbappend, to avoid it in future updates, this commit
generalizes the bbappend to apply all the 1.29 series.
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Add the networking configuration to support the creation of a bridge
interface.
Signed-off-by: Jose Diaz de Grenu de Pedro Jose.DiazdeGrenudePedro@digi.com
* CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP to support 'connmand' for dhcp.
* CONFIG_CTTYHACK to make easier boot from an initramdisk.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
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 was needed to overcome some corner cases with storage devices on
suspend/resume using MDEV as device handler.
Now we are using UDEV and after some tests done it seems that the
'resume_storage_devices' hack is not needed anymore.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
udhcpc's '-R' option means 'Release IP on exit'.
This fixes a strange corner case on reboot: if you configure your network
interface to DHCP in '/etc/network/interfaces' AND you have some NFS
share mounted on your system, then running reboot command fails to
complete and it hangs on:
'Unmounting local filesystem'
This happens because on reboot TERM and KILL signals are sent to all
the processes in the system before umounting the local filesystem. When
udhcpc daemon receives the signal it exits and releases the IP (because
it was launched with '-R') leaving an unconfigured network interface
that later is unable to umount a network filesystem (NFS), resulting on
'reboot' command being unable to complete.
Removing the '-R' option from udchpc allows to kill the process without
unconfiguring the network interface.
https://jira.digi.com/browse/DEL-1125
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
The original defconfig came from DEL. Make the defconfig more similar to
the Yocto default one.
This restores the default udhcpc options when running via ifup to '-R
-n'. This is important because without '-n' the target can wait forever
to get an IP on boot while maybe the network is not available.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>
So the output of 'reboot' command does not spread over different lines.
This is basically a cosmetic change to make target's output on reboot a
bit more beautiful.
Signed-off-by: Javier Viguera <javier.viguera@digi.com>