]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.html
Generated.
[homepage.git] / blog / index.html
index b9feaa48071bb78b7315ed47e858ab6986cb4501..29128788addfd63729e1dc0d77c52d5a1c12b71e 100644 (file)
 
 
     
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/A_Raspberry_Pi_based_batman_adv_Mesh_network_node.html">A Raspberry Pi based batman-adv Mesh network node</a></div>
+      <div class="date">21st October 2013</div>
+      <div class="body"><p>The last few days I have been experimenting with
+<a href="http://www.open-mesh.org/projects/batman-adv/wiki">the
+batman-adv mech technology</a>.  I want to gain some experience to see
+if it will fit <a href="https://wiki.debian.org/FreedomBox">the
+Freedombox project</a>, and together with my neighbors try to build a
+mesh network around the park where I live.  Batman-adv is a layer 2
+mesh system ("ethernet" in other words), where the mesh network appear
+as if all the mesh clients are connected to the same switch.</p>
+
+<p>My hardware of choice was the Linksys WRT54GL routers I had lying
+around, but I've been unable to get them working with batman-adv.  So
+instead, I started playing with a
+<a href="http://www.raspberrypi.org/">Raspberry Pi</a>, and tried to
+get it working as a mesh node.  My idea is to use it to create a mesh
+node which function as a switch port, where everything connected to
+the Raspberry Pi ethernet plug is connected (bridged) to the mesh
+network.  This allow me to hook a wifi base station like the Linksys
+WRT54GL to the mesh by plugging it into a Raspberry Pi, and allow
+non-mesh clients to hook up to the mesh.  This in turn is useful for
+Android phones using <a href="http://servalproject.org/">the Serval
+Project</a> voip client, allowing every one around the playground to
+phone and message each other for free.  The reason is that Android
+phones do not see ad-hoc wifi networks (they are filtered away from
+the GUI view), and can not join the mesh without being rooted.  But if
+they are connected using a normal wifi base station, they can talk to
+every client on the local network.</p>
+
+<p>To get this working, I've created a debian package
+<a href="https://github.com/petterreinholdtsen/meshfx-node">meshfx-node</a>
+and a script
+<a href="https://github.com/petterreinholdtsen/meshfx-node/blob/master/build-rpi-mesh-node">build-rpi-mesh-node</a>
+to create the Raspberry Pi boot image.  I'm using Debian Jessie (and
+not Raspbian), to get more control over the packages available.
+Unfortunately a huge binary blob need to be inserted into the boot
+image to get it booting, but I'll ignore that for now.  Also, as
+Debian lack support for the CPU features available in the Raspberry
+Pi, the system do not use the hardware floating point unit.  I hope
+the routing performance isn't affected by the lack of hardware FPU
+support.</p>
+
+<p>To create an image, run the following with a sudo enabled user
+after inserting the target SD card into the build machine:</p>
+
+<p><pre>
+% wget -O build-rpi-mesh-node \
+    https://raw.github.com/petterreinholdtsen/meshfx-node/master/build-rpi-mesh-node
+% sudo bash -x ./build-rpi-mesh-node > build.log 2>&1
+% dd if=/root/rpi/rpi_basic_jessie_$(date +%Y%m%d).img of=/dev/mmcblk0 bs=1M
+%
+</pre></p>
+
+<p>Booting with the resulting SD card on a Raspberry PI with a USB
+wifi card inserted should give you a mesh node.  At least it does for
+me with a the wifi card I am using. The default mesh settings are the
+ones used by the Oslo mesh project at Hackeriet, as I mentioned in
+<a href="http://people.skolelinux.org/pere/blog/Oslo_community_mesh_network___with_NUUG_and_Hackeriet_at_Hausmania.html">an
+earlier blog post about this mesh testing</a>.</p>
+
+<p>The mesh node was not horribly expensive either.  I bought
+everything over the counter in shops nearby.  If I had ordered online
+from the lowest bidder, the price should be significantly lower:</p>
+
+<p><table>
+
+<tr><th>Supplier</th><th>Model</th><th>NOK</th></tr>
+<tr><td>Teknikkmagasinet</td><td>Raspberry Pi model B</td><td>349.90</td></tr>
+<tr><td>Teknikkmagasinet</td><td>Raspberry Pi type B case</td><td>99.90</td></tr>
+<tr><td>Lefdal</td><td>Jensen Air:Link 25150</td><td>295.-</td></tr>
+<tr><td>Clas Ohlson</td><td>Kingston 16 GB SD card</td><td>199.-</td></tr>
+<tr><td>Total cost</td><td></td><td>943.80</td></tr>
+
+</table></p>
+
+<p>Now my mesh network at home consist of one laptop in the basement
+connected to my production network, one Raspberry Pi node on the 1th
+floor that can be seen by my neighbor across the park, and one
+play-node I use to develop the image building script.  And some times
+I hook up work horse laptop to the mesh to test it.  I look forward to
+figuring out what kind of latency the batman-adv setup will give, and
+how much packet loss we will experience around the park. :)</p>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title"><a href="http://people.skolelinux.org/pere/blog/Perl_library_to_control_the_Spykee_robot_moved_to_github.html">Perl library to control the Spykee robot moved to github</a></div>
       <div class="date">19th October 2013</div>
@@ -216,7 +310,7 @@ mesh system.</p>
       <div class="tags">
         
         
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>. 
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox</a>, <a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug</a>. 
         
         
       </div>
@@ -898,145 +992,6 @@ hatt så langt.</p>
     </div>
     <div class="padding"></div>
     
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Second_beta_release__beta_1__of_Debian_Edu_Skolelinux_based_on_Debian_Wheezy.html">Second beta release (beta 1) of Debian Edu/Skolelinux based on Debian Wheezy</a></div>
-      <div class="date">22nd August 2013</div>
-      <div class="body"><p>The second wheezy based beta release of Debian Edu was wrapped up
-today, slightly delayed because of some bugs in the initial Windows
-integration fixes .  This is the release announcement:</p>
-
-<p><strong>New features for Debian Edu 7.1+edu0~b1 released 2013-08-22</strong></p>
-
-<p>These are the release notes for Debian Edu / Skolelinux
-7.1+edu0~b1, based on Debian with codename "Wheezy".</p>
-
-<p><strong>About Debian Edu and Skolelinux</strong></p>
-
-<p><a href="http://www.skolelinux.org/">Debian Edu, also known as
-Skolelinux</a>, is a Linux distribution based on Debian providing an
-out-of-the box environment of a completely configured school
-network. Immediately after installation a school server running all
-services needed for a school network is set up just waiting for users
-and machines being added via GOsa², a comfortable Web-UI. A netbooting
-environment is prepared using PXE, so after initial installation of
-the main server from CD or USB stick all other machines can be
-installed via the network. The provided school server provides LDAP
-database and Kerberos authentication service, centralized home
-directories, DHCP server, web proxy and many other services. The
-desktop contains
-<a href="http://people.skolelinux.org/pere/blog/Educational_applications_included_in_Debian_Edu___Skolelinux__the_screenshot_collection____.html">more
-than 60 educational software packages</a> and more are available from
-the Debian archive, and schools can choose between KDE, Gnome, LXDE
-and Xfce desktop environment.</p>
-
-<p>This is the sixth test release based on Debian Wheezy. Basically this
-is an updated and slightly improved version compared to the Squeeze
-release.</p>
-
-<p>ALERT: Alpha based installations should reinstall or downgrade the
-versions of gosa and libpam-mklocaluser to the ones used in this beta
-release. Both alpha and beta0 based installations should reinstall or
-deal with gosa.conf manually; there are two options: (1) Keep
-gosa.conf and edit this file as outlined
-<a href="http://lists.debian.org/debian-edu/2013/08/msg00127.html">on
-the mailing list</a>. (2) Accept the new version of gosa.conf and
-replace both contained admin password placeholders with the password
-hashes found in the old one (backup copy!). In both cases every user
-need to change their their password to make sure a password is set for
-CIFS access to their home directory.</p>
-
-<p><strong>Software updates</strong></p>
-
-<ul>
-
-<li>Added ssh askpass packages to default installation, to ensure ssh
-    work also without a attached tty.</li>
-<li>Add the command-not-found package to the default installation to
-    make it easier to figure out where to find missing command line
-    tools. Please note, that the command 'update-command-not-found'
-    has to be run as root to actually make it useful (internet access
-    required).</li>
-
-</ul>
-
-<p><strong>Other changes</strong></p>
-
-<ul>
-
-<li>Adjusted the USB stick ISO image build to include every tool
-needed for desktop=xfce installations.</li>
-<li>Adjust thin-client-server task to work when installing from USB
-stick ISO image.</li>
-<li>Made new grub artwork (changed png from indexed to RGB format).</li>
-<li>Minor cleanup in the CUPS setup.</li>
-<li>Make sure that bootstrapping of the Samba domain really happens
-    during installation of the main server and adjust SID handling to
-    cope with this.</li>
-<li>Make Samba passwords changeable (again) via GOsa².</li>
-<li>Fix generation of LM and NT password hashes via GOsa² to avoid
-    empty password hashes.</li>
-<li>Adapted Samba machine domain joining to latest change in the
-    smbldap-tools Perl package, fixing bugs blocking Windows machines
-    from joining the Samba domain.</li>
-
-</ul>
-
-<p><strong>Known issues</strong></p>
-
-<ul>
-
-<li>KDE fails to understand the wpad.dat file provided, causing it to
-    not use the http proxy as it should.</li>
-<li>Chromium also fails to use the proxy when using the KDE desktop
-    (using the KDE configuration).</li>
-
-</ul>
-
-<p><strong>Where to get it</strong></p>
-
-<p>To download the multiarch netinstall CD release you can use</p>
-
-<ul>
-
-<li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso</a></li>
-
-<li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso</a></li>
-
-<li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-CD.iso .</li>
-
-</ul>
-
-<p>The MD5SUM of this image is: 1e357f80b55e703523f2254adde6d78b
-<br>The SHA1SUM of this image is: 7157f9be5fd27c7694d713c6ecfed61c3edda3b2</p>
-
-<p>To download the multiarch USB stick ISO release you can use</p>
-
-<ul>
-
-<li><a href="ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso">ftp://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso</a></li>
-<li><a href="http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso">http://ftp.skolelinux.org/skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso</a></li>
-<li>rsync -avzP ftp.skolelinux.org::skolelinux-cd/wheezy/debian-edu-7.1+edu0~b1-USB.iso .</li>
-
-</ul>
-
-<p>The MD5SUM of this image is: 7a8408ead59cf7e3cef25afb6e91590b
-<br>The SHA1SUM of this image is: f1817c031f02790d5edb3bfa0dcf8451088ad119</p>
-
-
-<p><strong>How to report bugs</strong></p>
-
-<p><a href="http://wiki.debian.org/DebianEdu/HowTo/ReportBugs">http://wiki.debian.org/DebianEdu/HowTo/ReportBugs</a>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
     <p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
     <div id="sidebar">
       
@@ -1066,7 +1021,7 @@ stick ISO image.</li>
 
 <li><a href="http://people.skolelinux.org/pere/blog/archive/2013/09/">September (5)</a></li>
 
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (4)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2013/10/">October (5)</a></li>
 
 </ul></li>
 
@@ -1226,7 +1181,7 @@ stick ISO image.</li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (221)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (222)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (21)</a></li>
 
@@ -1234,7 +1189,7 @@ stick ISO image.</li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture">freeculture (12)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (3)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox">freedombox (4)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen">frikanalen (11)</a></li>
 
@@ -1250,11 +1205,13 @@ stick ISO image.</li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp">ltsp (1)</a></li>
 
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network">mesh network (2)</a></li>
+
  <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia">multimedia (25)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk">norsk (235)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (155)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug">nuug (156)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn">offentlig innsyn (8)</a></li>