Interfaz de malla automática

Interfaz de malla automática

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/interfacesarchivo 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 interfacesarchivo) que impide que se ejecuten los comandos del script init.d?

¡Gracias!

Respuesta1

Me las arreglé para hacer esto creando un mesh.shscript 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 meshbootque /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.

información relacionada