Ich erstelle eine Mesh-Schnittstelle auf meinem Raspberry Pi und verwende dazu den „Standard“-Befehlssatz:
iw dev wlan0 interface add mesh0 type mp
ifdown wlan0
ifconfig mesh0 192.168.202.103
iw dev mesh0 mesh join mymesh
Ich habe versucht, alle diese Befehle in ein .sh-Skript im /etc/init.d/
Ordner zu packen, aber das bringt mich nicht weiter. Hat es etwas mit der /etc/network/interfaces
Datei zu tun, die so aussieht:
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
Gibt es eine andere Möglichkeit, diesen Vorgang zu automatisieren, sodass bei jedem Systemstart die Mesh0-Schnittstelle mit der IP-Adresse und dem ausgewählten Mesh-Netzwerk vorhanden ist? Oder mache ich bei diesem Setup etwas falsch (ich nehme an, in der interfaces
Datei), wodurch die Befehle des init.d-Skripts nicht ausgeführt werden können?
Danke schön!
Antwort1
Mir ist dies gelungen, indem ich ein mesh.sh
Skript mit folgendem Inhalt erstellt habe:
#!/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
Erstellen Sie dann eine Datei mit dem Namen „ meshboot
in“ , die Folgendes /etc/init.d/
enthält:
#!/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
Und dafür sorgen, dass es beim Booten mit läuft update-rc.d meshboot defaults
.