diff mbox series

[v3,3/5] package/wpa_supplicant: configure wifi on systemd when enabled

Message ID 20220705073206.1442280-4-angelo@amarulasolutions.com
State Superseded
Headers show
Series Configure default wifi through kconfig | expand

Commit Message

Angelo Compagnucci July 5, 2022, 7:32 a.m. UTC
Configure a default basic wifi setup able to automatically connect
to the selected access point.

Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
 package/wpa_supplicant/wpa_supplicant.mk | 10 ++++++++++
 system/Config.in                         |  1 +
 2 files changed, 11 insertions(+)

Comments

Peter Korsgaard Sept. 18, 2022, 10 a.m. UTC | #1
>>>>> "Angelo" == Angelo Compagnucci <angelo@amarulasolutions.com> writes:

 > Configure a default basic wifi setup able to automatically connect
 > to the selected access point.

 > Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
 > ---
 >  package/wpa_supplicant/wpa_supplicant.mk | 10 ++++++++++
 >  system/Config.in                         |  1 +
 >  2 files changed, 11 insertions(+)

 > diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk
 > index 09971654fe..157d45ee7f 100644
 > --- a/package/wpa_supplicant/wpa_supplicant.mk
 > +++ b/package/wpa_supplicant/wpa_supplicant.mk
 > @@ -275,6 +275,15 @@ define WPA_SUPPLICANT_ENABLE_WIFI
 >  		echo "}"; \
 >  	) >> $(TARGET_DIR)/etc/wpa_supplicant.conf
 >  endef
 > +define WPA_SUPPLICANT_WIFI_INSTALL_INIT_SYSTEMD
 > +	$(INSTALL) -m 0755 -d $(TARGET_DIR)/etc/wpa_supplicant/
 > +	ln -sf ../wpa_supplicant.conf \
 > +		$(TARGET_DIR)/etc/wpa_supplicant/wpa_supplicant-$(BR2_SYSTEM_DHCP).conf

How do you know BR2_SYSTEM_DHCP is set to something sensible here?
Angelo Compagnucci Oct. 3, 2022, 3:44 p.m. UTC | #2
On Sun, Sep 18, 2022 at 12:00 PM Peter Korsgaard <peter@korsgaard.com>
wrote:

> >>>>> "Angelo" == Angelo Compagnucci <angelo@amarulasolutions.com> writes:
>
>  > Configure a default basic wifi setup able to automatically connect
>  > to the selected access point.
>
>  > Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
>  > ---
>  >  package/wpa_supplicant/wpa_supplicant.mk | 10 ++++++++++
>  >  system/Config.in                         |  1 +
>  >  2 files changed, 11 insertions(+)
>
>  > diff --git a/package/wpa_supplicant/wpa_supplicant.mk
> b/package/wpa_supplicant/wpa_supplicant.mk
>  > index 09971654fe..157d45ee7f 100644
>  > --- a/package/wpa_supplicant/wpa_supplicant.mk
>  > +++ b/package/wpa_supplicant/wpa_supplicant.mk
>  > @@ -275,6 +275,15 @@ define WPA_SUPPLICANT_ENABLE_WIFI
>  >              echo "}"; \
>  >      ) >> $(TARGET_DIR)/etc/wpa_supplicant.conf
>  >  endef
>  > +define WPA_SUPPLICANT_WIFI_INSTALL_INIT_SYSTEMD
>  > +    $(INSTALL) -m 0755 -d $(TARGET_DIR)/etc/wpa_supplicant/
>  > +    ln -sf ../wpa_supplicant.conf \
>  > +
> $(TARGET_DIR)/etc/wpa_supplicant/wpa_supplicant-$(BR2_SYSTEM_DHCP).conf
>
> How do you know BR2_SYSTEM_DHCP is set to something sensible here?
>

Not enforced, but if a user put a nonexistent interface, that file simply
won't work. It is up to the user knowing which interface he wants to enable
dhcp onto.


>
> --
> Bye, Peter Korsgaard
>
diff mbox series

Patch

diff --git a/package/wpa_supplicant/wpa_supplicant.mk b/package/wpa_supplicant/wpa_supplicant.mk
index 09971654fe..157d45ee7f 100644
--- a/package/wpa_supplicant/wpa_supplicant.mk
+++ b/package/wpa_supplicant/wpa_supplicant.mk
@@ -275,6 +275,15 @@  define WPA_SUPPLICANT_ENABLE_WIFI
 		echo "}"; \
 	) >> $(TARGET_DIR)/etc/wpa_supplicant.conf
 endef
+define WPA_SUPPLICANT_WIFI_INSTALL_INIT_SYSTEMD
+	$(INSTALL) -m 0755 -d $(TARGET_DIR)/etc/wpa_supplicant/
+	ln -sf ../wpa_supplicant.conf \
+		$(TARGET_DIR)/etc/wpa_supplicant/wpa_supplicant-$(BR2_SYSTEM_DHCP).conf
+endef
+define WPA_SUPPLICANT_WIFI_INSTALL_INIT_SYSTEMD_PRESET
+	$(HOST_DIR)/bin/systemctl --root=$(TARGET_DIR) preset wpa_supplicant\@$(BR2_SYSTEM_DHCP).service
+endef
+SYSTEMD_ROOTFS_PRE_CMD_HOOKS += WPA_SUPPLICANT_WIFI_INSTALL_INIT_SYSTEMD_PRESET
 endif
 
 define WPA_SUPPLICANT_INSTALL_TARGET_CMDS
@@ -302,6 +311,7 @@  define WPA_SUPPLICANT_INSTALL_INIT_SYSTEMD
 		$(TARGET_DIR)/usr/lib/systemd/system/wpa_supplicant-wired@.service
 	$(INSTALL) -D -m 644 $(WPA_SUPPLICANT_PKGDIR)/50-wpa_supplicant.preset \
 		$(TARGET_DIR)/usr/lib/systemd/system-preset/50-wpa_supplicant.preset
+	$(WPA_SUPPLICANT_WIFI_INSTALL_INIT_SYSTEMD)
 endef
 
 $(eval $(generic-package))
diff --git a/system/Config.in b/system/Config.in
index 9a5bdb2932..084340b1a4 100644
--- a/system/Config.in
+++ b/system/Config.in
@@ -422,6 +422,7 @@  config BR2_SYSTEM_CONNECT_WIFI
 	bool "Connect to a default wifi access point"
 	default n
 	depends on BR2_PACKAGE_WPA_SUPPLICANT
+	select BR2_PACKAGE_WPA_SUPPLICANT_CTRL_IFACE if BR2_PACKAGE_SYSTEMD
 
 config BR2_SYSTEM_CONNECT_WIFI_SSID
 	string "Access point SSID"