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:42] 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 52: | Line 62: | ||
| ===== IPv6 Setup ===== | ===== IPv6 Setup ===== | ||
| - | Do the following commands.. | + | Let's start with fixes on PirateBox 1.1.3 |
| + | sudo sed -i -e 's| radvd|/usr/bin/radvd|g' /opt/piratebox/init.d/piratebox_alt | ||
| + | |||
| + | Do the following commands.. | ||
| PREFIX="fdc0:ffea" | PREFIX="fdc0:ffea" | ||
| Line 78: | 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 | ||