Close

Guía: Configuración de Wi-Fi editable

A project log for THE ULTIMATE MINI ARCADE

Classic arcade with all the latest technological advancements, ready for the classics. Enjoy!

srrubioSrRubio 09/15/2025 at 20:000 Comments

1. Crear el archivo de configuración

En la partición /boot/firmware (visible desde Windows), crear un archivo llamado wifi_config con este formato:

SSID=NombreDeLaRed
PSK=ContraseñaDeLaRed


⚠️ Importante:

Ejemplo válido:

SSID=WIFI
PSK=12345678


2. Crear el script /usr/local/bin/apply_boot_wifi.sh

Instalar el script que leerá wifi_config y configurará la conexión Wi-Fi:

sudo nano /usr/local/bin/apply_boot_wifi.sh


Contenido:

#!/bin/bash
set -euo pipefail
LOG=/var/log/apply_boot_wifi.log

echo "=== apply_boot_wifi run at $(date) ===" >> "$LOG"

CFG="/boot/firmware/wifi_config"
if [ ! -f "$CFG" ]; then    echo "[ERROR] $CFG no existe" >> "$LOG"    exit 1
fi

SSID=$(grep -m1 '^SSID=' "$CFG" | cut -d= -f2- | sed 's/^ *//;s/ *$//')
PSK=$(grep -m1 '^PSK='  "$CFG" | cut -d= -f2- | sed 's/^ *//;s/ *$//')

echo "[INFO] SSID='$SSID'" >> "$LOG"
echo "[INFO] Intentando conectar..." >> "$LOG"

# Crear/actualizar conexión en NetworkManager
if nmcli device wifi list | grep -q -F "$SSID"; then    if nmcli connection show "$SSID" >/dev/null 2>&1; then        nmcli connection modify "$SSID" wifi-sec.key-mgmt wpa-psk wifi-sec.psk "$PSK"    else        nmcli connection add type wifi ifname wlan0 con-name "$SSID" ssid "$SSID"        nmcli connection modify "$SSID" wifi-sec.key-mgmt wpa-psk wifi-sec.psk "$PSK"    fi    nmcli connection up "$SSID" >> "$LOG" 2>&1 || echo "[ERROR] Falló la conexión" >> "$LOG"
else    echo "[ERROR] SSID '$SSID' no encontrado en escaneo" >> "$LOG"
fi


Dar permisos de ejecución:

sudo chmod +x /usr/local/bin/apply_boot_wifi.sh


3. Crear el servicio systemd

Crear el archivo de servicio:

sudo nano /etc/systemd/system/apply-boot-wifi.service


Contenido:

[Unit]
Description=Apply WiFi config from /boot/firmware/wifi_config
After=network-pre.target
Wants=network-pre.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/apply_boot_wifi.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target


Activar y arrancar:

sudo systemctl daemon-reload
sudo systemctl enable apply-boot-wifi.service
sudo systemctl start apply-boot-wifi.service


4. Verificación

cat /var/log/apply_boot_wifi.log


Debe aparecer algo como:

=== apply_boot_wifi run at Mon 15 Sep 20:49:05 CEST 2025 ===
[INFO] SSID='WIFI'
[INFO] Intentando conectar...
[INFO] Conectado a 'WIFI'


nmcli device status
ip -4 addr show wlan0


ping -c3 8.8.8.8


5. Uso práctico

  1. Desde Windows, editar /boot/firmware/wifi_config con el nuevo SSID/PSK.

  2. Guardar y expulsar la tarjeta SD.

  3. Reiniciar la Raspberry Pi.

  4. La Pi se conectará automáticamente a la nueva red.

✅ Con esto tienes una Raspberry Pi portátil donde el Wi-Fi se configura sin tocar Linux, solo editando un archivo en la partición accesible desde Windows.

Discussions