Merge pull request #1074 from kernelkit/wifi-fixes

This commit is contained in:
Mattias Walström
2025-06-29 22:24:23 +02:00
committed by GitHub
3 changed files with 19 additions and 17 deletions
+2
View File
@@ -5,6 +5,8 @@ config BR2_PACKAGE_FEATURE_WIFI
select BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG
select BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN
select BR2_PACKAGE_WPA_SUPPLICANT_CLI
select BR2_PACKAGE_WIRELESS_REGDB
select BR2_PACKAGE_IW
help
Enables WiFi in Infix. Enables all requried applications.
+3 -2
View File
@@ -10,8 +10,9 @@ FEATURE_WIFI_PACKAGE_LICENSE = MIT
define FEATURE_WIFI_LINUX_CONFIG_FIXUPS
$(call KCONFIG_ENABLE_OPT,CONFIG_WLAN)
$(call KCONFIG_ENABLE_OPT,CONFIG_RFKILL)
$(call KCONFIG_ENABLE_OPT,CONFIG_MAC80211)
$(call KCONFIG_ENABLE_OPT,CONFIG_CFG80211)
$(call KCONFIG_SET_OPT,CONFIG_MAC80211,m)
$(call KCONFIG_SET_OPT,CONFIG_CFG80211,m)
$(if $(filter y,$(BR2_PACKAGE_FEATURE_WIFI_DONGLE_REALTEK)),
$(call KCONFIG_ENABLE_OPT,CONFIG_WLAN_VENDOR_REALTEK)
$(call KCONFIG_ENABLE_OPT,CONFIG_RTW88)
+14 -15
View File
@@ -12,7 +12,7 @@ static int wifi_gen_config(const char *ifname, const char *ssid, const char *cou
char *encryption_str;
int rc = SR_ERR_OK;
if (!secret || !ssid || !country || !encryption) {
if (!secret && (ssid && country && encryption)) {
/* Not an error, updated from two ways, interface cb and keystore cb. */
return 0;
}
@@ -24,7 +24,12 @@ static int wifi_gen_config(const char *ifname, const char *ssid, const char *cou
}
fprintf(wpa, "# Generated by Infix confd\n");
fprintf(wpa, "if [ -f '/etc/finit.d/enabled/wifi@%s.conf' ];then\n", ifname);
fprintf(wpa, "initctl -bfqn touch wifi@%s\n", ifname);
fprintf(wpa, "else\n");
fprintf(wpa, "initctl -bfqn enable wifi@%s\n", ifname);
fprintf(wpa, "fi\n");
fclose(wpa);
wpa_supplicant = fopenf("w", WPA_SUPPLICANT_CONF, ifname);
@@ -32,7 +37,13 @@ static int wifi_gen_config(const char *ifname, const char *ssid, const char *cou
rc = SR_ERR_INTERNAL;
goto out;
}
if (ssid) {
if (!secret || !ssid || !country || !encryption) {
fprintf(wpa_supplicant,
"ctrl_interface=/run/wpa_supplicant\n"
"autoscan=periodic:10\n"
"ap_scan=1\n");
} else {
if (!strcmp(encryption, "disabled")) {
asprintf(&encryption_str, "key_mgmt=NONE");
} else {
@@ -48,14 +59,7 @@ static int wifi_gen_config(const char *ifname, const char *ssid, const char *cou
"ssid=\"%s\"\n"
"%s\n"
"}\n", country, ssid, encryption_str);
free(encryption_str);
} else {
fprintf(wpa_supplicant,
"ctrl_interface=/run/wpa_supplicant\n"
"autoscan=periodic:10\n"
"ap_scan=1\n");
free(encryption_str);
}
fclose(wpa_supplicant);
@@ -75,11 +79,6 @@ int wifi_gen(struct lyd_node *dif, struct lyd_node *cif, struct dagger *net)
return wifi_gen_config(ifname, NULL, NULL, NULL, NULL, net);
}
if (dif && !lydx_get_child(dif, "wifi")) {
return SR_ERR_OK;
}
enabled = lydx_get_bool(cif, "enabled");
wifi = lydx_get_child(cif, "wifi");