WR GL DCW OpenWrt V01 190513
WR GL DCW OpenWrt V01 190513
WR GL DCW OpenWrt V01 190513
Wi-Fi
WR-GL-DCW-OpenWrt-V01-190513
RELEASED
Notice
DISCLAIMER
This document is furnished on an "AS IS" basis and neither CableLabs nor its members provides any representation
or warranty, express or implied, regarding the accuracy, completeness, noninfringement, or fitness for a particular
purpose of this document, or any document referenced herein. Any use or reliance on the information or opinion in
this document is at the risk of the user, and CableLabs and its members shall not be liable for any damage or injury
incurred by any person arising out of the completeness, accuracy, or utility of any information or opinion contained
in the document.
CableLabs reserves the right to revise this document for any reason including, but not limited to, changes in laws,
regulations, or standards promulgated by various entities, technology advances, or changes in equipment design,
manufacturing techniques, or operating procedures described, or referred to, herein.
This document is not to be construed to suggest that any company modify or change any of its products or
procedures, nor does this document represent a commitment by CableLabs or any of its members to purchase any
product whether or not it meets the characteristics described in the document. Unless granted in a separate written
agreement from CableLabs, nothing contained herein shall be construed to confer any license or right to any
intellectual property. This document is not to be construed as an endorsement of any product or company or as the
adoption or promulgation of any guidelines, standards, or recommendations.
2 CableLabs 05/13/19
WR-GL-DCW-OpenWrt-V01-190513 Dual Channel Wi-Fi OpenWrt Integration and Operations Guide
Trademarks:
CableLabs® is a registered trademark of Cable Television Laboratories, Inc. Other CableLabs marks are listed at
http://www.cablelabs.com/certqual/trademarks. All other marks are the property of their respective owners.
05/13/19 CableLabs 3
WR-GL-DCW-OpenWrt-V01-190513 Wireless
Contents
1 SCOPE ..................................................................................................................................................................5
1.1 Introduction and Overview ............................................................................................................................5
1.2 Purpose of Document ....................................................................................................................................5
2 REFERENCES ....................................................................................................................................................5
2.1 Informative References ..................................................................................................................................5
3 TERMS AND DEFINITIONS ............................................................................................................................5
4 ABBREVIATIONS ..............................................................................................................................................5
5 ARCHITECTURE OVERVIEW .......................................................................................................................7
6 HARDWARE COMPONENTS..........................................................................................................................7
7 SOFTWARE COMPONENTS ...........................................................................................................................7
7.1 Individual Components ..................................................................................................................................7
7.1.1 OPENWRT ...............................................................................................................................................7
7.1.2 LIBDCWPROTO ......................................................................................................................................... 7
7.1.3 LIBDCWSOCKET........................................................................................................................................ 7
7.1.4 MAC ADDRESS REMAPPER ......................................................................................................................7
7.1.5 DCWAPD ...............................................................................................................................................7
7.2 Code Repositories ..........................................................................................................................................8
7.3 Building .........................................................................................................................................................8
7.4 OpenWrt Feed Directory Structure ................................................................................................................9
7.4.1 DCWIFI/ ................................................................................................................................................... 9
7.4.2 LUCI-APP-DCWAPD/ ................................................................................................................................. 9
4 CableLabs 05/13/19
WR-GL-DCW-OpenWrt-V01-190513 Dual Channel Wi-Fi OpenWrt Integration and Operations Guide
1 SCOPE
1.1 Introduction and Overview
This document describes how to integrate and use the Dual Channel Wi-Fi (DCW) feature on hardware using the
OpenWrt software distribution on a hardware device running a Linux kernel.
2 REFERENCES
2.1 Informative References
None
data channel A downstream-only Wi-Fi connection used in Dual Channel Wi-Fi for offloading traffic
from the primary channel connection.
Linux Open-source operating system created by Linus Torvalds that is the core kernel for
OpenWrt.
OpenWrt A Linux operating system targeting embedded devices. OpenWrt provides a fully writable
file system with package management.
primary channel The main Wi-Fi connection used in Dual Channel Wi-Fi for both DCW signaling and
upstream and downstream traffic.
Wi-Fi A technology enabling the wireless transmission and reception of LAN traffic.
4 ABBREVIATIONS
This document uses the following abbreviations.
AP access point
API application programming interface
DCW Dual Channel Wi-Fi
DCWAPD Dual Channel Wi-Fi access point daemon
DHCP dynamic host control protocol
GUI graphical user interface
05/13/19 CableLabs 5
WR-GL-DCW-OpenWrt-V01-190513 Wireless
IP Internet Protocol
LAN local area network
MAC media access control
RSSI received signal strength indicator
SSID service set identifier
UCI Unified Configuration Interface
UDP User Datagram Protocol
USB Universal Serial Bus
6 CableLabs 05/13/19
WR-GL-DCW-OpenWrt-V01-190513 Dual Channel Wi-Fi OpenWrt Integration and Operations Guide
5 ARCHITECTURE OVERVIEW
Specific hardware architecture will vary based on the hardware being used to implement the CableLabs OpenWrt
Dual Channel Wi-Fi (DCW) distribution. Hardware platforms currently known to be able to load and run the
software include the following:
• Edgewater Wireless EAP3033
• Netgear NightHawk
• TP Link Archer C7
Performance and implementation results may vary depending on the hardware platform implemented. The OpenWrt
distribution of DCW is meant to provide a code baseline that can be modified for diverse hardware iterations.
6 HARDWARE COMPONENTS
Hardware componentry will vary based on platform chosen for implementation.
7 SOFTWARE COMPONENTS
7.1 Individual Components
Dual Channel Wi-Fi access point (AP) functionality comprises several individual software components.
7.1.1 OpenWrt
The OpenWrt component is the Linux-based operating system used for this implementation of Dual Channel Wi-Fi.
7.1.2 libdcwproto
The libdcwproto component is a platform-independent C library responsible for marshalling and serializing the Dual
Channel Wi-Fi signaling messages. The library models every Dual Channel Wi-Fi signaling message as a C struct
and provides conversion to/from a raw byte-buffer ready for transmission/reception.
This component is usable for both AP and station code.
7.1.3 libdcwsocket
The libdcwsocket component is a Linux- and OSX-specific C library that simplifies transmission and reception of
Ethernet frames by using the CableLabs Ethertype code of 0xB4E3 and the CL3 protocol type of 0x00DC. More
information regarding the specific details of the protocol can be found in the protocol specification document.
This component is usable for both AP and station code.
7.1.4 MAC Address Remapper
The MAC Address Remapper component provides functionality to the Linux kernel, which is responsible for the
actual filtering and switching of Ethernet traffic onto the data channel.
For more information on this component, please refer to the MAC Address Remapper documentation.
7.1.5 DCWAPD
The DCWAPD component is the heart of the Dual Channel Wi-Fi business-logic implementation. The component is
responsible for orchestrating all Dual Channel Wi-Fi operations. The component provides the "dcwapd." parameters
to the UCI data model. All AP signaling logic is implemented in this component.
05/13/19 CableLabs 7
WR-GL-DCW-OpenWrt-V01-190513 Wireless
libdcwproto https://github.com/cablelabs/libdcwproto
libdcwsocket https://github.com/cablelabs/libdcwsocket
DCWAPD https://github.com/cablelabs/dcwapd
OpenWrt-dcw-feed https://github.com/cablelabs/OpenWrt-dcw-feed
7.3 Building
These are the build instructions for compiling Dual Channel Wi-Fi access point functionality into an OpenWrt
image.
1. Clone the OpenWrt source.
$ git clone https://git.OpenWrt.org/OpenWrt/OpenWrt.git
3. Using "vi" or another test editor, add the following line to the feeds.conf.default file.
src-git cablelabs https://github.com/cablelabs/OpenWrt-dcw-feed.git
6. Run the menu configuration editor and select the desired platform, packages, etc.; be sure to save the
changes when done.
$ make menuconfig
8 CableLabs 05/13/19
WR-GL-DCW-OpenWrt-V01-190513 Dual Channel Wi-Fi OpenWrt Integration and Operations Guide
05/13/19 CableLabs 9
WR-GL-DCW-OpenWrt-V01-190513 Wireless
9 USER GUIDE
9.1 Graphical User Interface (GUI)
The OpenWrt version of DCW contains a graphical user interface (GUI) that can be used to configure the DCW
feature within the Wi-Fi device. Instructions for configuration using the GUI are below. Depending on the device
used, the appearance of the GUI may differ from what is shown in the screenshots in the configuration instructions,
but the steps listed should be generic enough to allow a user to find the proper menus and settings on any device.
9.1.1 Logging into the GUI
1. Connect the computer’s Ethernet port to an Ethernet port on the target Wi-Fi device.
2. Configure the laptop with an IP address in the same subnet as the Wi-Fi device.
a. The default IP address and subnet of a newly built device using the software should be the following:
i. IP Address: 192.168.1.1
ii. Subnet Mask: 255.255.255.0
3. Open a browser on the laptop and point it to the address of the Wi-Fi device. A login screen should appear.
a. Credentials for Edgewater Wireless OpenWrt devices are as follows:
i. Username: admin
ii. Password: password
b. Credentials for most OpenWrt devices are as follows:
i. Username: root
ii. No password
9.1.2 Configuring DCW
Once logged into the device, use the GUI to configure DCW.
10 CableLabs 05/13/19
WR-GL-DCW-OpenWrt-V01-190513 Dual Channel Wi-Fi OpenWrt Integration and Operations Guide
To set the primary channel for the DCW feature, move to the CHANNELSET0 section under “Channel Sets.” Tick
the Enable checkbox, then select the desired SSID for the primary channel from the drop-down list. The default for
the bridge is automatically selected and can be assumed to be correct. For an advanced setup, the bridge can be
customized.
Next, tick the box next to the desired data channel. The default data channel selection can be assumed to be correct.
For an advanced setup, additional data channels can be added and subsequently selected for use with the primary
channel.
05/13/19 CableLabs 11
WR-GL-DCW-OpenWrt-V01-190513 Wireless
To prepare the data channel for use, move to the DATACHANNEL0 section under “Data Channels.” Select the
desired SSID for the data channel from the drop-down list. The default for the bridge is automatically selected and
can be assumed to be correct. For an advanced setup, the bridge can be customized.
Lastly, tick the box next to the desired WLAN interface for this data channel.
Filters can be used to mark traffic for delivery over the data channel. The default filters are for http and https
protocols and are good choices for testing. Filters can be added or changed for an advanced setup.
When finished, save the device’s DCW configuration and begin the DCW Client configuration and connection.
12 CableLabs 05/13/19
WR-GL-DCW-OpenWrt-V01-190513 Dual Channel Wi-Fi OpenWrt Integration and Operations Guide
10 TROUBLESHOOTING
In general, Wireshark is recommended for troubleshooting network issues because it provides visibility into the
traffic passing through the network. For information on the protocol format of the signaling messages, it is advised
to review the Dual Channel Wi-Fi protocol specification document.
If it is not desired to kit the "mrmctl" utility into the image, the state of the MAC Address Remapper can be queried
by calling "cat" on the control device.
$ cat /proc/macremapctl
05/13/19 CableLabs 13
WR-GL-DCW-OpenWrt-V01-190513 Wireless
• Check the data model on the AP for presence of the station’s primary channel MAC address.
• Try swapping the station’s Wi-Fi adapters. For example, if the internal adapter is used as the primary
channel, try using the USB dongle as the primary channel adapter.
10.5 Station Bonds in Dual Channel Wi-Fi Mode but Traffic Does Not Flow
• Ensure the primary channel SSID and data channel SSID are different.
• Completely disable Dual Channel Wi-Fi on the AP, and test both radios individually.
• Check the station’s RSSI values. If too low, try reducing the channel width of the data channel.
✽✽✽
14 CableLabs 05/13/19