Talk:Netctl

From ArchWiki
Revision as of 22:22, 20 January 2014 by EscapedNull (Talk | contribs) (Hooks and interfaces explanations: Oops)

Jump to: navigation, search

Altering a currently enabled profile

Concerning this note:

Note:
  • If there is ever a need to alter a currently enabled profile, execute netctl reenable <profile> to apply the changes.
  • interface is hardware minus, e.g netctl-auto@wlan0.service or netctl-auto@enp2s0.service

I find the second line in this note confusing, and the first line may be unnecessary. I found myself having to reboot my system to get any wireless profile changes to take effect. Through trial and error, I finally figured out the command systemctl restart netctl-auto@<interface>.service allows the changes to take effect without requiring a reboot. Further, it appears that the command netctl reenable <profile> is not necessary to achieve these results; although, some profile modifications did require that I issue the systemctl restart netctl-auto@<interface>.service command twice before my wireless Internet connection would come back up. Has anyone else observed this? Mc33 (talk) 04:59, 17 July 2013 (UTC)

From netctl(1):
reenable [PROFILE]
    Reenable the systemd unit for the profile specified. This is effectively a combination of ‘disable’ and ‘enable’.
So I'd say the first line of the note is absolutely incorrect. I think your command systemctl restart netctl-auto@<interface>.service should be listed instead, and we should probably add simple netctl restart <profile> too in case people don't use netctl-auto@.service. -- Lahwaacz (talk) 07:45, 17 July 2013 (UTC)
On the contrary, the reenable command is correct. But it applies to specific profiles, not to netctl-auto. Halosghost (talk) 12:32, 17 July 2013 (UTC)
Right, it does not apply to netctl-auto, my mistake... But my point is, that it does not manipulate currently running processes, it only deletes & re-creates some symlink. To actually apply changes to some profile, you need to netctl restart <profile>. -- Lahwaacz (talk) 13:05, 17 July 2013 (UTC)
I've re-added the reenable command: [1] -- Lahwaacz (talk) 18:18, 15 September 2013 (UTC)
Regarding the second line, I have absolutely no idea of what does interface is hardware minus mean... -- Lahwaacz (talk) 07:45, 17 July 2013 (UTC)
I've removed the note as it's not related to that section, it's confusing etc. If someone wants it, feel free to expand and clarify it and put it back. -- Lahwaacz (talk) 16:49, 25 July 2013 (UTC)

My working eduroam config (with TimeoutDHCP and anonymous identity)

Description='eduroam for <your username>'
Interface=wlp2s0
Connection=wireless
Security=wpa-configsection
TimeoutDHCP=60
IP=dhcp
WPAConfigSection=(
        'ssid="eduroam"'
        'proto=RSN'
        'key_mgmt=WPA-EAP'
        'pairwise=CCMP'
        'auth_alg=OPEN'
        'eap=TTLS'
        'identity="<your username>@tu-chemnitz.de"'
        'password="<your password>"'
        'anonymous_identity="anonymous@tu-chemnitz.de"'
        'priority=2'
        'phase2="auth=PAP"'
)

This /etc/netctl/eduroam works for me. Maybe someone should update the main article?! Thank you!

I'd certainly not replace the current config in netctl#Eduroam. I have another, different config, but several people had trouble with connecting in Prague using my profile, so I think it's very specific. Perhaps separate page would be better, when there are more configs. But more information would be needed, the page can't be just set of different configs... -- Lahwaacz (talk) 07:55, 14 August 2013 (UTC)

What is the first command used to set up netctl?

"Once you have created your profile, make an attempt to establish a connection using the newly created profile by running:"

   # netctl start profile

Shouldn't the command be enable? From the man page:

  start [PROFILE]
          Start the network profile specified on the command line.
  enable [PROFILE]
          Enable the systemd unit for the profile specified. This will create
          a unit configuration file. If the file already exists, the command
          fails. No other profiles than the one specified will be enabled.
          Changes to the general options in a profile specification will not
          propagate to the unit configuration file automatically. After such
          changes, it is necessary to ‘reenable’ the profile.

Xtian (talk) 15:49, 15 September 2013 (UTC)

The command is correct, you can start disabled profile. Disabled means just that it will not start automatically at boot. -- Lahwaacz (talk) 18:11, 15 September 2013 (UTC)

Ifplugd.conf interface name

Under the configuration section, there is a note stating that the interface name most probably needs to be changed in the netctl profile because of udev naming rules. When using ifplugd to automatically manage wired profile switching, there is another place to check the interface name. /etc/ifplugd/ifplugd.conf contains the line:

INTERFACES="eth0"

The interface should match the one used in the profile or ifplugd won't monitor the correct interface. You can include a space separated list of interfaces to monitor if more than one NIC is present. This info is in the man page for ifplugd, and in the ifplugd.conf file, is it worth adding here as well?

Erbrecht (talk) 15:50, 10 January 2014 (UTC)

I think it's worth adding it, maybe you can be more concise and point to the man pages for details on syntax and everything else. -- Kynikos (talk) 02:36, 11 January 2014 (UTC)

Hooks and interfaces explanations

I am looking for documentation on using /etc/netctl/hooks and /etc/netctl/interfaces but this wiki and the netctl man pages don't explain the format of the scripts well. I couldn't find a great resource through google. I think an example of running scripts when a profile comes up or down would be good.

Not to give you the RTFM, but the netctl man page explains it pretty well. Interfaces at least are actually pretty simple, but I'm not sure about other hooks. Still, it might be worth adding a short section explaining the basics of creating hooks. As for running a script, you could probably use a systemd unit with WantedBy=network.target and Before=netctl@yourprofile.service/After=netctl@yourprofile.service. EscapedNull (talk) 22:22, 20 January 2014 (UTC)