Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
raspberry_pi:mods:mesh [2017/05/25 20:59] matthias [IPv6 Setup] |
raspberry_pi:mods:mesh [2018/02/23 16:54] (current) matthias [Mesh config script] without cd but use homedir |
||
---|---|---|---|
Line 16: | Line 16: | ||
- Create Mesh setup script & make it bootable | - Create Mesh setup script & make it bootable | ||
- Configure Avahi to announce PirateBox | - Configure Avahi to announce PirateBox | ||
+ | |||
+ | ===== Prereq. ===== | ||
+ | Check the internet is working and sudo is active: | ||
+ | |||
+ | sudo touch /tmp/sudo_test | ||
+ | sudo rm /etc/resolv.conf | ||
+ | sudo sh -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf' | ||
+ | dig google.de | grep -q -e 192.168.77.1 && echo "error, Internet is not working!" | ||
+ | |||
===== Software bridge ===== | ===== Software bridge ===== | ||
Create the network configuration file for the bridge: | Create the network configuration file for the bridge: | ||
+ | | ||
cat <<EOF > piratebox_bridge | cat <<EOF > piratebox_bridge | ||
Description="General bridge interface for PirateBox" | Description="General bridge interface for PirateBox" | ||
Line 39: | Line 48: | ||
sudo sed -i -e 's|DO_IFCONFIG="yes"|DO_IFCONFIG="no"|' \ | sudo sed -i -e 's|DO_IFCONFIG="yes"|DO_IFCONFIG="no"|' \ | ||
-e 's|DO_BRIDGE="no"|DO_BRIDGE="yes"|' \ | -e 's|DO_BRIDGE="no"|DO_BRIDGE="yes"|' \ | ||
- | /opt/piratebox/conf/piratebox.conf | + | -e 's|DNSMASQ_INTERFACE="wlan0"|DNSMASQ_INTERFACE="br-lan"|' \ |
+ | /opt/piratebox/conf/piratebox.conf | ||
Edit piratebox.service file for system dependencies | Edit piratebox.service file for system dependencies | ||
Line 81: | Line 91: | ||
Prefix: /64 | Prefix: /64 | ||
" | " | ||
+ | |||
+ | ===== Mesh config script ===== | ||
+ | This step assumes, that you have a working network connection and the wifi adapter for mesh is the 2nd (phy1). | ||
+ | |||
+ | sudo sh -c 'echo "br_netfilter" > /etc/modules-load.d/netfilter.conf' | ||
+ | sudo modprobe br_netfilter | ||
+ | sudo pacman -Sy --noconfirm batctl | ||
+ | wget https://github.com/PirateBox-Dev/PirateBox-Mesh/releases/download/1.1.4/piratebox-mesh_1.1.4_all_NON_WRT.sh | ||
+ | chmod a+x piratebox-mesh_1.1.4_all_NON_WRT.sh | ||
+ | sudo mv piratebox-mesh_1.1.4_all_NON_WRT.sh /bin/piratebox-mesh.sh | ||
+ | sudo sed -i -e 's|phy0|phy1|g' \ | ||
+ | -e 's|MESH_CHANNEL=0|MESH_CHANNEL=6|' \ | ||
+ | -e 's|EXCHANGE_MAC="yes"|EXCHANGE_MAC="no"|' \ | ||
+ | /bin/piratebox-mesh.sh | ||
+ | | ||
+ | Create a start/stop script: | ||
+ | |||
+ | cat <<EOF > ~/mesh.service | ||
+ | [Unit] | ||
+ | Description=PirateBox Mesh Service | ||
+ | PartOf=netctl@piratebox_bridge.service | ||
+ | | ||
+ | [Service] | ||
+ | Type=idle | ||
+ | RemainAfterExit=yes | ||
+ | ExecStart=/bin/piratebox-mesh.sh start | ||
+ | ExecStop=/bin/piratebox-mesh.sh stop | ||
+ | | ||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | EOF | ||
+ | sudo mv ~/mesh.service /etc/systemd/system | ||
+ | sudo systemctl daemon-reload | ||
+ | sudo systemctl start mesh.service | ||
+ | sudo systemctl enable mesh.service | ||
+ | |||
+ | ===== AVAHI ===== | ||
+ | |||
+ | sudo mv /etc/avahi /etc/avahi.old | ||
+ | sudo ln -s /opt/piratebox/conf/avahi/ /etc/avahi | ||
+ | sudo systemctl start avahi-daemon | ||
+ | sudo systemctl enable avahi-daemon | ||
+ | | ||
+ | ===== Finalize ===== | ||
+ | At the end you should do a reboot | ||
+ | |||
+ | sudo reboot | ||