Imx8mp wake-on-lan

What is the status/capability of wake-on-lan in the imx8mp verdin modules for the onboard PHY?

I have seen a few references here with regards to the Apalis platform but those seem to be out of date. I did already experiment with adding fsl,magic-packet to the eqos devicetree node but the material I found suggests it must also be enabled os-side via ethtool, which no longer seems to be part of the torizon distribution.

Specifically, I have the following questions:

  • What states can WoL wake a verdin from, if any? (sleep, poweroff?)
  • Is there documentation on what’s needed to enable this support for the imx8?

Thanks!

Greetings @bw908,

Before we try and answer your questions, in case it matters what versions of TorizonCore are you working with here?

Best Regards,
Jeremias

Currently using 5.7.0.

I checked around for this internally and it doesn’t seem we have much in the way of documentation for wake-on-lan functionality. I found this on the NXP forums: Solved: i.MX8M Mini wake on lan - NXP Community

It’s for the i.MX8M Mini which is similar to the i.MX8M Plus. That said I couldn’t find anything more detailed or specific here. That said you are correct that ethtool is not in our OS images by default, it seems the image would need to be re-built to include this.

What states can WoL wake a verdin from, if any? (sleep, poweroff?)

Is there a specific use-case you’re looking at using here?

Best Regards,
Jeremias

Thanks for the reply - I’m just curious what capabilities are available for the purposes of developing a PoE powered device and what options we have for putting the device in a low-power mode when idle.

We already have PoE control and can power cycle a device remotely via this to “wake” it from being off, but I was curious whether there were more responsive or other options available for cases where the device is powered via alternate means - whether it could be powered up or woken from a sleep state remotely for reduced wakeup times.

OK, I was able to get it to wake from sleep - I added both the devicetree modification, and using ethtool is required (otherwise the interface is put to sleep in suspend mode).

Now I am curious whether WoL is possible from a power-off state - obviously this must be supported by the SoM and carrier board in order to keep the ethernet interface sufficiently powered while “off”. Do you have any information on this from the SoM perspective?

Do you have any information on this from the SoM perspective?

I asked about this internally and, typically WoL is only meant to work from sleep states. Therefore the initial assumption here is that this wouldn’t quite work as a power button of sorts. Or at least it would need quite a bit more setup that we’re not sure about.

Is this functionality something you’d want for your system?

Best Regards,
Jeremias

It is something we would likely make good use of if it was available, yes - in some configurations we can control this by just power cycling the PoE power to bring up the device from “off”, but if the device is powered via alternate means and has been placed in soft-off then WoL would let us achieve the same functionality.

It can certainly be used to wake from an S5 sleep state on e.g. desktop computers, but obviously the embedded applications are somewhat different in terms of power consumption since in many cases the devices may be using a battery and I can understand it might be undesirable to keep the interface powered.

Again as far as we know using WoL as a way to turn on the board from a power-off state is not possible. At least not without some kind of other modifications on a custom carrier board. Though we’ve never had experience with anyone who’s tried using WoL for a similar purpose.

Best Regards,
Jeremias

Right, at this point I am just trying to understand the capability of the SoM and whether it is theoretically possible with (as noted) support on the carrier board.

If that is unknown, that’s fine since I agree it’s an esoteric use case.