FS#37468 - [dhcpcd] dhcpcd 6.0.5-1 spawns an additional wpa_supplicant instance
Attached to Project:
Arch Linux
Opened by pepper (pepperdas) - Thursday, 24 October 2013, 14:53 GMT
Last edited by Doug Newgard (Scimmia) - Wednesday, 13 May 2015, 15:28 GMT
Opened by pepper (pepperdas) - Thursday, 24 October 2013, 14:53 GMT
Last edited by Doug Newgard (Scimmia) - Wednesday, 13 May 2015, 15:28 GMT
|
Details
Description:
My usual procedure for starting my system has been: 1. calling wpa_supplicant -i[myinterfacename] -c[myconfig] and waiting for a wireless connection 2. calling dhcpcd [myinterfacename] to configure the routing table NOTE: I was NOT using systemd for whatever reason, the dhcpcd service is calling its own instance of wpa_supplicant (without testing to see if wpa_supplicant was already running), and also deleting the routing table every time it called /usr/lib/dhcpcd/dhcpcd-run-hooks ROUTERADVERT I see in the scripts in /usr/lib/dhcpcd that wpa_supplicant is started and monitored by dhcpcd to enable a type of wireless hotplugging, which is nice but this broke my ability to connect to the internet until I discovered it, and it was difficult to track furthermore, the location of my wpa_supplicant.conf is not /etc/wpa_supplicant.conf even though that is the location hardcoded into the dhcpcd script. Thanks for looking at this, my system is running fine but it would be nice to fix this bug Additional info: * package version(s) * config and/or log files etc. Steps to reproduce: |
This task depends upon
If that file exists then it checks that wpa_supplicant is running for that interface like so:
wpa_cli -i "$interface" status >/dev/null 2>&1
A return value of 0 indicates wpa_supplicant is already running for that interface, any other value means
that wpa_supplicant is not running on that interface, so dhcpcd starts one.
In a nutshell, your custom config is probably not creating control sockets in the directory wpa_cli expects, so I think you have two options
1: disable dhcpcd running wpa_supplicant by adding -C wpa_supplicant to the dhcpcd commandine
2: specify in your wpa_supplicant config create control sockets for wpa_cli
If this variable is not set then we don't start wpa_supplicant.
Otherwise we pass the directory to wpa_cli and start wpa_supplicant as we currently do.
http://roy.marples.name/projects/dhcpcd/ci/d889323c10?sbs=0
http://roy.marples.name/projects/dhcpcd/ci/99483017854d?sbs=0
However, I have gone to some lengths to ensure both won't step on each other by default.