User Tools

Site Tools


content:meshextender:prototyping_on_mp2

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
Next revision Both sides next revision
content:meshextender:prototyping_on_mp2 [08/02/2013 12:27]
Paul Gardner-Stephen [Enabling External USB Storage]
content:meshextender:prototyping_on_mp2 [14/05/2013 23:18]
127.0.0.1 external edit
Line 142: Line 142:
  
 Change the IP address in this file from 29.167.164.237 to something random between 28.0.0.0 and 29.255.255.255 Change the IP address in this file from 29.167.164.237 to something random between 28.0.0.0 and 29.255.255.255
 +Change the IP address from 192.168.2.1 to 192.168.2.x if you want to be able to ssh in without ssh complaining about conflicting keys all the time.
  
 <file> <file>
Line 154: Line 155:
 # option type 'bridge' # option type 'bridge'
  option proto 'static'  option proto 'static'
- option ipaddr '192.168.1.1'+ option ipaddr '192.168.2.1'
  option netmask '255.255.255.0'  option netmask '255.255.255.0'
  
Line 171: Line 172:
 ==== /etc/config/wireless ==== ==== /etc/config/wireless ====
  
-Change the mac address 5c:63:bf:bb:41:90 to something random, but keep the 5c: at the front.+Change the mac address 5c:63:bf:bb:41:90 to the mac address written on the back of the WR703N case.
  
 <file> <file>
Line 203: Line 204:
 </file> </file>
  
-==== /etc/rc.d/S41servald ====+==== /etc/rc.d/S94servald ====
  
 Don't forget to chmod 755 this file once you have installed it Don't forget to chmod 755 this file once you have installed it
Line 217: Line 218:
   export SERVALINSTANCE_PATH=/etc/serval   export SERVALINSTANCE_PATH=/etc/serval
   mkdir -p $SERVALINSTANCE_PATH   mkdir -p $SERVALINSTANCE_PATH
-  servald start+  /serval/runservald &
 } }
  
Line 226: Line 227:
 </file> </file>
  
 +==== /serval/runservald ====
 +
 +Don't forget to chmod 755 this and the other scripts.
 +
 +<file>
 +#!/bin/sh
 +while [ 1 ]
 +do
 +/serval/servald start foreground
 +done
 +</file>
 ==== /etc/serval/servald.conf ==== ==== /etc/serval/servald.conf ====
 +
 +The small MDP block size is necessary due to the high bit error rate on the radios, and the suboptimal scheduling of rhizome mdp packets (including the lack of supression of duplicate requests).
 +
 +The small max_internal_blob_size is to get around the VERY slow performance of sqlite on the USB memory on the WR703N, which could take several minutes to prepare an empty blob, before even beginning to put any data into it.
 +
 +The long timeout (30seconds) is so that we don't easily drop transfers, especially while the previously mentioned problems persist.
  
 <file> <file>
 +interfaces.1.encapsulation=single
 +interfaces.1.file=/dev/ttyUSB0   
 +interfaces.1.socket_type=stream
 +interfaces.1.type=catear       
 +interfaces.2.match=eth0 
 +interfaces.2.type=ethernet
 +interfaces.3.match=wlan0  
 +interfaces.3.type=wifi  
 +interfaces.4.match=wlan0-1
 +interfaces.4.type=wifi    
 +rhizome.datastore_path=/serval
 +rhizome.idle_timeout=30000    
 +rhizome.rhizome_mdp_block_size=100
 +rhizome.max_internal_blob_size=16384
 +</file>
 +==== /etc/config/dhcp ====
 +
 +<file>
 +config dnsmasq
 + option domainneeded 1
 + option boguspriv 1
 + option filterwin2k 0  # enable for dial on demand
 + option localise_queries 1
 + option rebind_protection 1  # disable if upstream must serve RFC1918 addresses
 + option rebind_localhost 1  # enable for RBL checking and similar services
 + #list rebind_domain example.lan  # whitelist RFC1918 responses for domains
 + option local '/lan/'
 + option domain 'lan'
 + option expandhosts 1
 + option nonegcache 0
 + option authoritative 1
 + option readethers 1
 + option leasefile '/tmp/dhcp.leases'
 + option resolvfile '/tmp/resolv.conf.auto'
 + #list server '/mycompany.local/1.2.3.4'
 + #option nonwildcard 1
 + #list interface br-lan
 + #list notinterface lo
 + #list bogusnxdomain     '64.94.110.11'
 +        list 'dhcp_option' '3'            
 +        list 'dhcp_option' '6'
 +
 +
 +config dhcp lan
 + option interface lan
 + option start 100
 + option limit 150
 + option leasetime 12h
 +
 +config dhcp public
 +        option interface public
 + option start 50
 + option limit 250
 + option leasetime 12h
 </file> </file>
 ====== USB Serial Port Drivers on OpenWRT ====== ====== USB Serial Port Drivers on OpenWRT ======
Line 306: Line 378:
 For servald, it will be fairly easy to patch the dummynet driver that already reads and writes to an ordinary file.  We will just need to implement flow control/throttling, and packet encapsulation in case of communications errors. For servald, it will be fairly easy to patch the dummynet driver that already reads and writes to an ordinary file.  We will just need to implement flow control/throttling, and packet encapsulation in case of communications errors.
  
 +====== Configuring RFD900 Radios for use ======
 +
 +Connect as described above and set air speed to 128kbit, and serial speed to 57600, and TX power to +24dBm with a command sequence like:
 +
 +<file>
 +ATS1=57
 +ATS2=128
 +ATS4=24
 +ATI5
 +AT&W
 +</file>
 +
 +We could use 115200 for the serial speed, but that would require a recompile of servald, which currently assumes radios at 57600, and the gain would be small, because 128k/2=64kbit total bandwidth, shared among both ends gives 32000 for each end, and so it is unlikely that the bandwidth will be depleted.
 +
 +128kbit is the fastest effective radio speed until we get some better forward error correction.  250kbit should work, but proved to be quite unreliable, with desynchronisation and high levels of packet loss.
content/meshextender/prototyping_on_mp2.txt · Last modified: 14/07/2015 01:01 by Nathan Fowler