tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1574Shell 204Rust 111Markdown 993763 Definiciones

🔌 wifi-up: sin `ctrl_interface`, wpa_cli no tenía puerta a la que llamar

El /tmp/wpa.conf que generaba sólo traía el bloque `network`. Sin
`ctrl_interface=/run/wpa_supplicant`, wpa_supplicant no abre socket de control y
`wpa_cli` no conecta — síntoma que parece un fallo de red y es una puerta que no
existe. Peor: deja ciego el único dato que distingue «clave mal» de «DHCP mudo»,
que es wpa_state. Y la espera de asociación que acabo de añadir dependía de wpa_cli,
o sea que habría fallado siempre.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

47d8848e3770d63a63cb6168cfc53d24abe5cdc4 · por sergio · (hace 2 meses) · padre 89076a510 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +6 −1

diff --git a/scripts/cosmic/metal-desktop-image.sh b/scripts/cosmic/metal-desktop-image.sh
index 7a5a20f1..ef98c4fa 100755
--- a/scripts/cosmic/metal-desktop-image.sh
+++ b/scripts/cosmic/metal-desktop-image.sh
@@ -252,7 +252,12 @@ done
 [ -n "$IF" ] || { echo "no apareció interfaz wifi. Mirá: dmesg | grep -i ath10k"; exit 1; }
 echo "interfaz: $IF"
 ip link set "$IF" up
-printf 'network={\n\tssid="%s"\n\tpsk="%s"\n}\n' "$SSID" "$PSK" > /tmp/wpa.conf
+# ctrl_interface NO es opcional: sin esa línea wpa_supplicant no abre socket de control y `wpa_cli`
+# no tiene con qué hablar — el síntoma es «wpa_cli no conecta», que parece un fallo de red y es
+# simplemente que no hay puerta. Y sin wpa_cli no se puede saber si asoció, que es el único dato que
+# distingue «clave mal» de «DHCP mudo».
+mkdir -p /run/wpa_supplicant
+printf 'ctrl_interface=/run/wpa_supplicant\nupdate_config=1\nnetwork={\n\tssid="%s"\n\tpsk="%s"\n}\n' "$SSID" "$PSK" > /tmp/wpa.conf
 wpa_supplicant -B -i "$IF" -c /tmp/wpa.conf -Dnl80211 || { echo "wpa_supplicant falló"; exit 1; }
 # Esperar a la ASOCIACIÓN, no al reloj. Con `sleep 6` fijo, udhcpc salía a preguntar antes de que
 # hubiera enlace y devolvía «sin IPv4», que se lee como «clave equivocada» cuando la clave está bien.