wiki:relayd

Gateworks Single Board Computers

Gateworks offers powerful, flexible, low power ARM single board computers for transmitting data, audio, and video.

Please see more information at  http://www.gateworks.com

Gateworks Wireless Client Bridge using Relayd

Gateworks manufactures single board computers (SBCs) that are used in many networking applications. One such application is a wireless bridge. This is where a Gateworks SBC is connected as a client to an existing wireless access point (AP) and the Ethernet port is used as a bridge to provide access to other devices over the wireless. Unfortunately, this scenario isn't supported by traditional wireless networks. The 802.11 standard only uses 3 MAC Addresses per frame and the source MAC gets replaced by the transmitting wireless AP. This then prevents any returned packets from being delivered to the actual host because the host is now believed to be the wireless client.

One method to address this issue is to use the Wireless Distribution System (WDS) which implements 4 MAC addresses in the header thus allowing the returned packet to be delivered to the correct end point. For WDS to be used both the AP and the client must support WDS. In many cases, an existing AP (ie. Linksys, Netgear) may be used which does not support WDS. For these situations, a special piece of solftware called relayd can be used. Relayd is able to relay packets and achieve the same results.

Below is a tutorial explaining how to configure a Gateworks SBC to create a wireless bridge without using WDS.

How To - Relayd

It is possible to acheive a bridge-like client mode configuration with the help of relayd for Gateworks Single Board Computers. With this method you can bridge a standard Wireless AP to a wired LAN or a wireless WLAN. This is useful in the following configurations:

  • extend the range of a wireless Access Point (by relaying between a local virtual AP and client attached to an upstream AP)
  • provide a bridge between a wired LAN and a wireless Access Point (by relaying between local LAN port and client attached to an upstream AP)

Note, if WDS is available on the Access Point and Client(for example if you were using Gateworks SBCs for both the AP and client), then WDS is recommended and the preferred method. Relayd is only recommended when WDS is not available. The WDS Tutorial is located here: WDS Bridge

The following steps need to be done for OpenWRT:

  1. Configure a managed network interface to connect (with encryption if needed) to your 'upstream' Access Point
  2. (Optional) Add a new wireless interface configured in AP mode with desired encryption
  3. Add a new network interface using the protocol of 'relayd' bridging the upstream and downstream networks
  4. Change firewall settings so that Input/Output? packets are accepted for both upstream and downstream networks

Requirements

  1. relayd package
  2. luci-proto-relay package

Find these by doing an opkg list on the target and seeing if they are there. If they are not, they will need to be added. Instructions for compiling and adding packages can be located here: Package Installation

Luci package management is shown belown with relay packages:

Configuration via Web-Admin on OpenWrt:Barrier Breaker

The GUI has been updated and thus the instructions have slightly changed.

  1. Click on the Network tab, then the Wifi tab.
  1. Click on the icon with alt text "Edit this network" next to the Wireless Controller you wish to use.
  1. Check the box next to Enable device to enable the Wifi. Click on Save & Apply at the bottom of the page.

  1. Go back to the wifi page by clicking on the Wifi tab again.
  1. Click on the icon with alt text "Find and join network" that is above the "Edit this network icon"
  1. Click on "Join Network" next to the network you wish to join.
  1. Enter the Passphrass for the network and select "lan" under the Create/Assign? firewall-zone field. Click on submit at the bottom of the page.

  1. Click on the Interfaces tab under the Network tab.
  1. Click on Add new interface.

  1. Name the interface. (Here it is named "stabridge")
  1. Leave "Create a bridge over multiple interfaces" unchecked.
  1. Click on submit.

  1. Select "Relay" from the drop down menu for the Protocol.
  1. Under "Relay between networks" check both lan and wwan. You can leave IP address blank or adjust if desired.
  1. Click on Save & Apply at the bottom of the screen.

  1. Under the Network tab, click on the Firewall tab.
  1. Under Zones, change the forwarding for lan and wwan to "accept"

  1. Click on Save & Apply at the bottom of the screen.
  1. This step seems optional. Please adjust to your liking. Make sure the IP address of the lan interface is in a different subnet as the wwan network.
  1. Additionally, be sure that a bridge does not exist (which may be turned on by default)

Configuration Files Barrier Breaker

  1. Note the new stabridge interface of type relay in /etc/config/network
  2. Note the wireless is a station (aka client) to a regular access point Netgear101

Below are sample files. Items may change depending on different network configurations such as IP addresses, etc

root@OpenWrt:/# cat /etc/config/network 

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fde7:c973:4a6d::/48'

config interface 'lan'
        option ifname 'eth0'
        option proto 'static'
        option ipaddr '192.168.43.55'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wwan'
        option proto 'dhcp'

config interface 'stabridge'
        option proto 'relay'
        list network 'lan'
        list network 'wwan'

root@OpenWrt:/# cat /etc/config/wireless 

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11ng'
        option path 'pci0000:00/0000:00:00.0/0000:01:00.0/0000:02:01.0/0000:03:00.0'
        list ht_capab 'LDPC'
        list ht_capab 'SHORT-GI-20'
        list ht_capab 'SHORT-GI-40'
        list ht_capab 'TX-STBC'
        list ht_capab 'RX-STBC1'
        list ht_capab 'DSSS_CCK-40'
        option htmode 'HT20'
        option disabled '0'
        option txpower '27'
        option country 'US'
        option channel '6'

config wifi-iface
        option network 'wwan'
        option ssid 'Netgear101'
        option encryption 'psk2'
        option device 'radio0'
        option mode 'sta'
        option bssid '5C:0A:5B:C5:AF:23'
        option key 'abc123'

Configuration via Web-Admin on OpenWrt:Attitude Adjustment

  1. Click on the Network tab, then the Wifi tab.
  1. Click on the icon with alt text "Edit this network" next to the Wireless Controller you wish to use.
  1. Check the box next to Enable device to enable the Wifi. Click on Save & Apply at the bottom of the page.

  1. Go back to the wifi page by clicking on the Wifi tab again.
  1. Click on the icon with alt text "Find and join network" that is above the "Edit this network icon"
  1. Click on "Join Network" next to the network you wish to join.
  1. Enter the Passphrass for the network and select "lan" under the Create/Assign? firewall-zone field. Click on submit at the bottom of the page.

  1. Click on the Interfaces tab under the Network tab.
  1. Click on Add new interface.

  1. Name the interface. (Here it is named "stabridge")
  1. Leave "Create a bridge over multiple interfaces" unchecked.
  1. Check "Custom Interface" for the interface to cover and click on submit.

  1. Select "Relay" from the drop down menu for the Protocol.
  1. Under "Relay between networks" check both lan and wwan.
  1. Click on Save & Apply at the bottom of the screen.

  1. Under the Network tab, click on the Firewall tab.
  1. Under Zones, change the forwarding for lan and wwan to "accept"

  1. Click on Save & Apply at the bottom of the screen.
  1. Make sure the IP address of the lan interface is in a different subnet as the wwan network.

References

Attachments