0

Environment:
I have an embedded linux system running with an ARM based iMX7 processor. It runs on a build from yocto linux which is very much based on Fedora.

Scenario:
My system uses Suspend To RAM feature which is linux system power saving mode that is explained quite well in this link. This is done to save power at a certain stage.

Objective:
Now, I need to keep the wifi link open during this stage. And as I read from some discussions like this, it seems to be possible to do so.

How can I do this?

Read up on similar discussions:
Reading through this discussion, it explains how to do this on a intel based desktop linux computer. But I don't have the /etc/NetworkManager on my embedded linux device. Probably there is a different way to do it on a Fedora based embdded linux system.

Can I get some suggestions on how to do this or even how to approach this?

TheWaterProgrammer
  • 7,055
  • 12
  • 70
  • 159
  • Stack Overflow is a site for programming and development questions. This question appears to be off-topic because it is not about programming or development. See [What topics can I ask about here](http://stackoverflow.com/help/on-topic) in the Help Center. Perhaps [Super User](http://superuser.com/) or [Unix & Linux Stack Exchange](http://unix.stackexchange.com/) would be a better place to ask. – jww Sep 13 '18 at 22:56
  • Please note that Stackoverflow is for programming/code questions. I suggest to visit https://unix.stackexchange.com . – peterh Dec 31 '19 at 18:30

2 Answers2

2

None of the articles you quoted even suggest that it is possible to leave WiFi on - in fact one of them says it can't be done. All they provide is various tricks to make the wake-up faster.

Depends on the hardware but very likely, leaving it on is really impossible. Suspend-to-ram includes a hardware command that switches the CPU clock off, places its interconnect buses into idle state, and disables main power to all the peripherals (leaving only standby power to those peripherals that support standby mode).

I don't know if your WiFi device has support for running on standby power nor whether the embedded hardware you have has the ability to provide that power to it while the CPU is off. If that ability exists, it will likely be accessible as a kernel driver parameter.

You may be able to save some startup time when waking up from standby by providing a static configuration for your WiFi device rather than using the default automatic connection (which involves searching for a router to connect to, obtaining an IP address, etc.).

Leo K
  • 5,189
  • 3
  • 12
  • 27
  • yes. the wifi device I am using is an external chip which has the support for running on standby power. All I need to do is to somehow tell the system to keep supplying power to it. How do I that? its a kernel configuration that needs to be added? is there an example of someone doing it that I can learn from? – TheWaterProgrammer Sep 13 '18 at 15:43
  • I don't have a ready answer to that. Find out what your device is (model, PCI or USB ID, depending on how it is connected, the kernel driver that operates it). That will help narrow the search. – Leo K Sep 14 '18 at 10:53
1

You can't just keep wifi active during sleep/resume. You can optimise reconnection speed but I believe NM and connman both do that already.

Ross Burton
  • 3,516
  • 13
  • 12
  • Isn't there something called "Connected Idle" or [Suspend To Idle](https://www.linaro.org/blog/suspend-to-idle/)? in some systems the bluetooth stack is able to run even if the CPU is suspended? – TheWaterProgrammer Sep 13 '18 at 14:48
  • but suspend to idle is state different that suspend to ram. may be I should try to make my system suspend to idle instead of suspend to RAM? – TheWaterProgrammer Sep 13 '18 at 14:53