VintageNet.PowerManager.power_on

You're seeing just the callback power_on, go back to VintageNet.PowerManager module for more information.

Specs

power_on(state :: any()) ::
  {:ok, next_state :: any(), hold_time :: non_neg_integer()}

Power on the hardware for a network interface

The function should turn on power rails, deassert reset lines, load kernel modules or do whatever else is necessary to make the interface show up in Linux.

Failure handling is not supported by VintageNet yet, so if power up can fail and the right handling for that is to try again later, then this function should do that.

It is ok for this function to return immediately. When the network interface appears, VintageNet will start trying to use it.

The return tuple should include the number of seconds VintageNet should wait before trying to power down the module again. This value should be sufficiently large to avoid getting into loops where VintageNet gives up on a network interface before it has initialized. 10 minutes (600 seconds), for example, is a reasonable setting.