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: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