-
Notifications
You must be signed in to change notification settings - Fork 3.6k
dcwifi: Add Dual Channel Wi-Fi component packages #9972
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
0228495
to
10b1663
Compare
10b1663
to
e08645d
Compare
I'm currently working on a tutorial describing how to configure Dual Channel Wi-Fi on the AP, set up a Raspberry Pi client (with a secondary USB Wi-Fi adapter), and verify functionality. I'm hoping to have a draft early next week and will add a comment with a pointer when it's ready. |
Note that there is a related PR into the LuCI repo, which adds a LuCI configuration page for the AP daemon. It's not required, but it definitely helps with the UCI configuration. |
21e2b4a
to
a1263e2
Compare
01c7fcb
to
159b5f0
Compare
I think that the buildpr failure is caused by the uClibc++ |
Try to follow this template for Makefiles: #9399 (comment) |
Something else that's really weird is that I replaced NULL with nullptr in the code. It still compiled, which is totally bogus. nullptr is not specified in uClibc++. |
707b779
to
b9148bd
Compare
Another issue: libdcwproto is using bzero, which is a function deprecated in POSIX 2008. memset should be used. Patch:
|
b9148bd
to
8234bae
Compare
Here's a draft of a tutorial on setting up a functional Dual Channel Wi-Fi system (OpenWrt AP with a Raspberry Pi client). The linebreaks on the commands got a bit messed up during the pdf conversion, but I'm working on getting the content posted on the Edgewater Wireless website. |
8234bae
to
7ccf125
Compare
I got some size optimizations for you:
edit: I should note that some of these will fail compilation like this. bzero needs to be dealt with. |
A much better approach would not be hardsetting these but using environment... |
Oh boy. I didn't realize that bzero is used in most of these packages. Will see if I can hunt them all down. |
7ccf125
to
05beb5e
Compare
I added patches to remove all of the bzero calls, but I still couldn't get your size optimizations patch to compile. When we're satisfied that the source for all of the components is in good enough shape, I'll cut new releases, update the Makefiles, and remove the patches. |
I'm not exactly sure where you mean to set these in the environment. In the component source configure.ac? |
I remember adding POSIX_C_SOURCE defines to a few places. I'll have to dig it up. |
This patch was originally added to fix compilation with v4l2rtspserver. Turns out it was v4l2rtspserver that was broken, not uClibc++. This now causes issues with a different package where the arguments are being split. Note that with this patch, shellcheck throws an error: SC2068: Double quote array expansions to avoid re-splitting elements. More: openwrt/packages#9972 (comment) Signed-off-by: Rosen Penev <rosenp@gmail.com>
This patch was originally added to fix compilation with v4l2rtspserver. Turns out it was v4l2rtspserver that was broken, not uClibc++. This now causes issues with a different package where the arguments are being split. Note that with this patch, shellcheck throws an error: SC2068: Double quote array expansions to avoid re-splitting elements. More: openwrt/packages#9972 (comment) Signed-off-by: Rosen Penev <rosenp@gmail.com>
This patch was originally added to fix compilation with v4l2rtspserver. Turns out it was v4l2rtspserver that was broken, not uClibc++. This now causes issues with a different package where the arguments are being split. Note that with this patch, shellcheck throws an error: SC2068: Double quote array expansions to avoid re-splitting elements. More: openwrt/packages#9972 (comment) Signed-off-by: Rosen Penev <rosenp@gmail.com> (cherry picked from commit 977a8fc)
05beb5e
to
ede1537
Compare
This patch was originally added to fix compilation with v4l2rtspserver. Turns out it was v4l2rtspserver that was broken, not uClibc++. This now causes issues with a different package where the arguments are being split. Note that with this patch, shellcheck throws an error: SC2068: Double quote array expansions to avoid re-splitting elements. More: openwrt/packages#9972 (comment) Signed-off-by: Rosen Penev <rosenp@gmail.com>
ede1537
to
9dab9dc
Compare
dcstad: Dual Channel Wi-Fi Station Daemon dcwapd: Dual Channel Wi-Fi Access Point Daemon libdcwproto: Dual Channel Wi-Fi Protocol Library libdcwsocket: Dual Channel Wi-Fi Socket Library macremapper: MAC Address Remapper Linux Kernel Module mrmctl: Userland tool to get/set remap rules Signed-off-by: Carey Sonsino <careys@edgewaterwireless.com> Signed-off-by: Carey Sonsino <csonsino@gmail.com> Much help from @neheb
9dab9dc
to
9129b75
Compare
Looks fine now. Merging. |
Add initial support for Dual Channel Wi-Fi.
Included Components:
dcstad: Dual Channel Wi-Fi Station Daemon
dcwapd: Dual Channel Wi-Fi Access Point Daemon
libdcwproto: Dual Channel Wi-Fi Protocol Library
libdcwsocket: Dual Channel Wi-Fi Socket Library
macremapper: MAC Address Remapper Linux Kernel Module
mrmctl: Userland tool to get/set remap rules
Signed-off-by: Carey Sonsino careys@edgewaterwireless.com
Maintainer: me / @csonsino
Compile tested: Atheros AR7xxx/AR9xxx - Atheros AR7161 rev 2, Netgear WNDR3800, OpenWrt master
Run tested: Atheros AR7xxx/AR9xxx - Atheros AR7161 rev 2, Netgear WNDR3800, Configured the Dual Channel Wi-Fi daemon, connected a Raspberry Pi client, and verified functionality.
Description:
These packages provide Wi-Fi packet routing over multiple connections/interfaces. More info here.