[Cerowrt-devel] Bringing asio to *WRT
daniel at pocock.com.au
Sun Sep 8 17:57:44 EDT 2013
On 08/09/13 23:23, Dave Taht wrote:
> On Sun, Sep 08, 2013 at 09:18:54PM +0200, Daniel Pocock wrote:
>> I posted this contribution to OpenWRT but it has been ignored for almost
>> 12 months:
>> I've tried asio on OpenWRT and it seems to work fine, I've submitted a
>> patch for it. Would it be possible to bring this directly into CeroWRT?
> We maintain a packages repo (ceropackages-3.3) for various bits of interesting
> Certainly a decent stun/turn server in the webrtc world would be "interesting"
The underlying asio library itself is general purpose - so it is not
just for STUN/TURN. TURN is very compelling now that WebRTC is taking
off and uses TURN by default from the browser.
To give another example, asio has been used as a foundation for the
websocketpp suite, which enables both client and server websocket
> It's not clear to me what else asio is - and if it is "decent enough"?
> In general I am allergic to c++/boost stuff in tiny embedded systems - we have
> only so much flash and ram to spare. What are the flash and memory impacts?
asio itself is a header library for asynchronous, event-based programming
It comes in a boost version and a non-boost version. This is the
non-boost version, so it is likely to have less impact than the boost
version. I confess the full solution with SIP + TURN + SSL is a little
top heavy though, a device with 32MB RAM may not be enough, my WL-1043ND
couldn't handle it all. On the other hand, one of these jumbo routers
(I went and got a Buffalo WZR-HP-AG300H with 128MB RAM) is quite
suitable and can run a full WebRTC stack as a convenient alternative to
Here is a trivial asio example:
> Anyway, if you want to package it up I'll gladly fold it into ceropackages,
> and build it, where more can fiddle with it.
I've made up a patch against OpenWRT, to bring this into ceropackages do
I need to adapt the patch or you can easily use it as is? Please find
the Makefile attached.
-------------- next part --------------
# Copyright (C) 2012 OpenWrt.org
# Copyright (C) 2012 Daniel Pocock <daniel at pocock.com.au>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#TARGET_CFLAGS += $(FPIC)
Async IO library
$(call Build/Configure/Default, --enable-maintainer-mode )
$(MAKE) -C $(PKG_BUILD_DIR)/include
$(MAKE) DESTDIR=$(PKG_INSTALL_DIR) -C $(PKG_BUILD_DIR)/include install
$(MAKE) DESTDIR=$(1) -C $(PKG_BUILD_DIR)/include install
# $(INSTALL_DIR) $(1)/usr/include/asio
# $(CP) $(PKG_INSTALL_DIR)/usr/include/asio.hpp $(1)/usr/include/
# $(CP) $(PKG_BUILD_DIR)/usr/include/asio/* $(1)/usr/include/asio/
$(eval $(call BuildPackage,libasio))
More information about the Cerowrt-devel