When started, this unit tries to start the profiles that were running when the unit was last stopped. In some cases, the interface a profile binds to might not be available yet, when netctl.service tries to bring a profile up. A simple, hackish, solution is to do:
echo "[[ -t 0 ]] || sleep 3" > /etc/netctl/interfaces/<interface> chmod 755 /etc/netctl/interfaces/<interface>
A more concise solution is to first enable a profile through netctl and then disable it again through systemctl:
netctl enable <profile> systemctl disable netctl@<profile>
This way the unit configuration file for the profile remains in existence, while the profile is not enabled.
When enabled, this unit stores and stops the active network profiles before the machine is put to sleep. After the system is resumed, previously stored profiles are restarted.
This unit issues a scan on the interface it is used for and tries to start a profile for a network it finds. It is targeted at wireless interfaces. Profile specific values for WPADriver are ignored, but it is possible to specify WPADriver= in an interface hook (/etc/netctl/interfaces/<interface>).
Use netctl-auto(1) instead of netctl(1) to control the automatic profile selection when using this unit.
This unit starts ifplugd on the interface it is used for. It will try to start a netctl profile whenever a cable is plugged into the interface and stop the profile when the cable is unplugged. Note that this unit does not provide network.target.
When activated, this unit waits for all enabled netctl profiles to come online. Enabling this unit causes network-online.target to only be reached once all enabled netctl profiles are fully connected. The maximum time, in seconds, to wait for profiles can be passed to this unit via TIMEOUT_ONLINE=. The default value is 120. If a timeout occurs, the service enters a failed state.