Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
raspberry_pi:mods:mesh [2017/05/25 20:59]
matthias [Reconfigure PirateBox]
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 82: 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