Estoy creando una interfaz de malla en mi Raspberry Pi, usando el conjunto de comandos "estándar":
iw dev wlan0 interface add mesh0 type mp
ifdown wlan0
ifconfig mesh0 192.168.202.103
iw dev mesh0 mesh join mymesh
Intenté poner todos estos comandos en un script .sh en la /etc/init.d/
carpeta, pero no me lleva a ninguna parte. ¿Tiene algo que ver con el /etc/network/interfaces
archivo que se ve así:
auto wlan0
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.100.103
netmask 255.255.255.0
gateway 192.168.100.1
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.200.103
netmask 255.255.255.0
wireless-mode ad-hoc
wireless-essid pi
¿Hay alguna otra manera de automatizar este proceso, de modo que cada vez que se inicie el sistema, la interfaz mesh0 esté allí, con la dirección IP y la red de malla elegida? Alternativamente, ¿hay algo que estoy haciendo mal con esta configuración (supongo que en el interfaces
archivo) que impide que se ejecuten los comandos del script init.d?
¡Gracias!
Respuesta1
Me las arreglé para hacer esto creando un mesh.sh
script que contiene:
#!/bin/sh
sleep 5
iw wlan0 interface add mesh0 type mp
sleep 1
ifdown wlan0
sleep 1
ifconfig mesh0
ifconfig mesh0 192.168.202.106
iw mesh0 mesh join meshpi
Luego, crea un archivo llamado meshboot
que /etc/init.d/
contiene:
#!/bin/sh
### BEGIN INIT INFO
# Provides: meshboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
case "$1" in
start)
sudo /home/pi/mesh.sh
;;
stop)
;;
esac
exit 0
Y hacer que se ejecute al arrancar con update-rc.d meshboot defaults
.