You are not logged in.
Pages: 1
I carried out a new installation of x64 Arch on an old laptop and my new build has an odd problem with wireless connectivity. I'm pretty sure I've misconfigured something. When I installed Arch, the wireless card was identified and drivers were loaded without issue. To get the wireless to work, I ran ip link to get the name of the device.
# ip link
I then brought the connection up.
# ip link set [wifi] up
Next I loaded the DHCP service to get an IP address.
# systemctl start dhcpcd
Then I just run the wifi-menu application to detect and connect to my wireless network. I'm all connected up and I have an IP address on my wifi network. I can connect to the Internet and everything works as it should. I want to make the changes permanent so I need to enable the DHCP and Wifi Profile.
# systemctl enable dhcpcd
# netctl enable [my_wifi_profile]
But... It would not reconnect after a reboot. The loading of the wifi profile failed so there is no network connection. I check the status of my wifi profile and it failed because the connection is already active. Eh? ip link confirmed that the device was up, but I have no IP address.
If I then take the wifi device down and try the wifi profile again, it works for that session.
# ip link set [wifi] down
# netctl start [my_wifi_profile]
Can anyone see where I am going wrong here?
Thanks...
Last edited by Lightman (2017-02-23 08:15:01)
Offline
AFAIK, you don't need to enable the dhcpcd service. Try disabling it.
Offline
Not only do you not need to, it is known to cause problems. Only use one networking service at a time.
"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" - Richard Stallman
Offline
systemctl enable dhcpcd.service
starts dhcpcd on all interfaces. If you try to start a netctl profile afterwards it will fail with the error message "interface is already up", just as you observed. Do you also have a wired connection? In this case you can use
systemctl enable dhcpcd@eth0.service
which will only start dhcpcd on the wired interface eth0 (your interface name can be different). If you only need wifi you can use
netctl enable your-wifi-profile
which will enable a systemd unit, too. Just make sure no other network service is running (eg. systemctl disable dhcpcd).
Offline
Thank you everybody. That was the cause of the problem.
I used the workaround I described in my post then disabled the dhcpcd service. After a reboot the wifi connection came up without issue.
Offline
Pages: 1