On Wed, Jun 17, 2015 at 11:16 PM, Cobin Bluth <cbluth@gmail.com> wrote:
Hi All,

I live in portland OR, and I am just recently getting interested in wireless meshnets.
My current setup is two nodes, Raspberry Pi 2 Hardware, one with a tp-link TL-WN722N, and the other with some sort of "panda wireless-n" adapter.
My problem is that I am getting around 30% dropped packets, and they are about a foot apart, which makes me wonder if using a ad-hoc is a good idea or not...

I have them both running Ubuntu 14.04 and the most recent version of cjdns.
My network configs are below:

root@ubuntu:~# cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
  wireless-channel 8
  wireless-essid NeighborMesh
  wireless-mode ad-hoc


So then I decided to just remove the wireless usb adapters, and run cjdns over the eth0 interfaces, but I am still getting a consistent ~12% packet drop with that:
--- fcfe:307d:38e5:5aa4:9bfc:a4ce:dd3d:969c ping statistics ---
76 packets transmitted, 67 received, 11% packet loss, time 75156ms
rtt min/avg/max/mdev = 2.378/26.382/196.791/51.318 ms


Pinging the IPv4 address outside of cjdns works great, always:
--- 192.168.0.226 ping statistics ---
24 packets transmitted, 24 received, 0% packet loss, time 23002ms
rtt min/avg/max/mdev = 0.640/0.675/0.783/0.036 ms


What am I doing wrong?

Since you're getting packet loss on ethernet with what I assume is a fairly default Ubuntu I have three theories of what's up

* Something running on the raspi is taxing it so much that it can't handle the packets in a reasonable amount of time (kill all non-essential process, check top and iotop output)
* Manufacturing problem (test each raspi ethernet with a known working computer)
* The raspberry pi sucks

The Raspberry Pi has notoriously unreliable USB (it's using a mobile chipset which probably wasn't really designed to run as a USB host). If I remember correctly the ethernet adapter is attached over the USB bus.

I do not recommend using the raspberry pi for _anything_ with the two exceptions of stuff that uses the raspberry pi camera or built-in H.264 hardware encoder (which is pretty unique). For everything else I recommend using a Beagle Bone Black. Yes it's slightly more expensive but totally worth it + it's actual Open Hardware unlike the Raspberry Pi.

For mesh stuff we exclusively use OpenWRT supported routers with ar71xx chipsets. I can recommend the TP-Link N600 and N750 routers. If you really want a full distro in a format similar to Raspberry Pi then go with the Beagle Bone Black.

--
marc/juul