Using Pharos CPEs for a load-balanced, directional WiFi Internet uplink
Every year our computer association NoName e.V. organizes a retro computing event called RGB2R (»roots go back to the roots«), located in Heidelberg, Germany. Since the event venue only has a rather slow ADSL connection to the Internet, the WiFi solution provider maxspot sponsored four Pharos CPE510 to set up a load-balanced, directional WiFi link to a fiber-optic network.
For the WiFi link we used two CPE510 at each side in order to increase the total bandwidth and to keep the link up and running if one of the CPEs is forced to change WiFi channels on behalf of a weather radar. The CPEs were connected to and powered by an outdoor switch providing 24V passive PoE, which in turn was connected to a T1600G core switch. At the event venue the CPEs were connected to a PCEngines APU2 running Debian Linux, while the CPEs at the Internet connection point were connected to the fiber gateway using an ISP's cable network for the last mile. Between the CPEs there was an (almost) free line of sight.
The distance between the event venue and the Internet connection point is 538 meters, that's no big distance for a CPE510. All four CPEs were managed using TP-Link's free PharosControl management software, which allows easy access to the real-time statistics of each CPE. The following picture shows the map as it appears in PharosControl:
Because the ISP doesn't offer IPv6, two tunnels have been set up, one for each WiFi link. This way, we could not only use IPv6, but also easily load-balance over the two links by routing IP flows into one of the two tunnels. Since OpenVPN didn't perform well on the APU2 SoC, we used the light-weighted alternative Foo-over-UDP (fou), a UDP encapsulation protocol supporting IPIP, GRE and SIT tunnels. Because IPIP only supports IPv4 and SIT only supports IPv6, we ended up with four tunnels, two for each WiFi link with two for each address family:
According to the specs, a CPE510 can achieve a WiFi bandwidth of 300 Mbps, which yields a data speed of ~210 Mbps (70% of the WiFi speed) in IEEE802.11n mode. Since WiFi is half-duplex, but Ethernet is full-duplex, the total throughput of for data is therefore 100 Mbps - this is the reason why the CPE510 has only a FastEthernet (100BASE-TX) interface. For actual bandwidth and mounting height calculation we used UBNT's AirLink calculator with settings matching the characteristics of a CPE (values shown are for one WiFi link):
Since the line of sight was covered by a tree, we could achieve a signal-to-noise ratio (SNR) of 32dB for uplink0 and 35dB for uplink1 only, but that's still acceptable under those circumstances. When it was raining, SNR dropped by 1 to 3 dB:
Measurements have shown a throughput of about 80 Mbps with peaks up to 90 Mbps (data speed) per WiFi link when under load, thus yielding 170 Mbps for the two load-balanced links. This corresponds to a WiFi speed of ~115 to 130 Mbps per CPE, which is half of the capacity the device is able to achieve in IEEE 802.11n mode. Limiting factors were the speed of the Ethernet interface (100 Mbps per direction) and the fact that upstream bandwidth was limited to avoid saturation of the ISP uplink. Anyway, there still was a reserve on upstream bandwidth, since people didn't sent huge amounts of data as can be seen in the statistics:
TP-Link's CPEs performed very well and have fully met our expections for this installation. They are easy to set up, rock-stable (if you properly ground them!) and have an excellent performance for an affordable price. It would be great if the AC versions of CPE 500, CPE 521 and CPE 530 available in Asia and Australia only at the time will become available in the EU, too.