|
|
Log in / Subscribe / Register

The EFF's open wireless router project

The Electronic Frontier Foundation has announced a project to create a new distribution for wireless home routers. It is based on CeroWrt and is meant to make it easy and safe to run an open wireless network, include all of the latest bufferbloat fixes, and "advance the state of the art in consumer Wi-Fi router security and begin turning back the growing tide of attacks against them." The work is in an early state and only runs on Netgear WNDR3800 routers for now; testers and contributors are eagerly sought.

to post comments

The EFF's open wireless router project

Posted Jul 21, 2014 16:50 UTC (Mon) by eean (subscriber, #50420) [Link] (33 responses)

I totally read 'open wireless' as meaning a project to make better WiFi routers for coffee shops. :D

The EFF's open wireless router project

Posted Jul 21, 2014 16:57 UTC (Mon) by proski (guest, #104) [Link] (32 responses)

CeroWRT allows guest access by default, so it would be a good choice for coffee shops if EFF takes care of the security part. As it stands now, CeroWRT does not provide security updates.

The EFF's open wireless router project

Posted Jul 21, 2014 18:31 UTC (Mon) by eean (subscriber, #50420) [Link]

Yea actually I didn't really misread it. First I went to CeroWRT and saw that it really has nothing in particular to do with open wifi spots, so I guessed it meant 'open' as in 'open source' but the EFF press release makes it explicit that it is intended for open spots.

The EFF's open wireless router project

Posted Jul 21, 2014 19:01 UTC (Mon) by mtaht (guest, #11087) [Link] (30 responses)

Actually, ISC & comcast had got secure updates done last year, the work was deemed not good enough (with good reasons) by the openwrt folk and another solution is in progress. I do not know what the EFF is actually pursuing on this front.

The core thing openwireless.org needed from CeroWrt was the ability easily and transparently share bandwidth (beating "bufferbloat"), and with two tweaks to the SQM code in CeroWrt, they were *there*, not only do they provide a better experience for the main users, but also for the guests.

http://snapon.lab.bufferbloat.net/~cero2/jimreisert/resul...

They did their new gui against the sqm backend (which works on most linuxes, not just openwrt and cerowrt)

http://www.bufferbloat.net/projects/cerowrt/wiki/Setting_...

As soon as some form of stable, mainlined, secure update for openwrt lands, it'll be in cerowrt.

PS I have had very little to do with openwireless.org's effort besides the SQM implementation. CeroWrt is open source, after all, anybody can use it for any purpose. Hopefully they will find security concious devs (I freely admit security ranks about 5th on my priority list) and push back improvements to cerowrt and openwrt overall to make the whole world safer, and share better.

The EFF's open wireless router project

Posted Jul 21, 2014 19:54 UTC (Mon) by fb (guest, #53265) [Link] (28 responses)

The webpage for cerowrt is not loading... Could you explain how it relates and compare to OpenWrt?
(I do occasionally fix OpenWrt package Makefile's and get the patches merged, so I guess I qualify as a power user)

The EFF's open wireless router project

Posted Jul 21, 2014 20:26 UTC (Mon) by mathstuf (subscriber, #69389) [Link] (27 responses)

CeroWrt is a fork of OpenWrt used as a testbed for bufferbloat research and code. It also only runs on a subset of models.

The EFF's open wireless router project

Posted Jul 21, 2014 20:44 UTC (Mon) by mtaht (guest, #11087) [Link] (26 responses)

Website is up for me...

I prefer to think of cerowrt as a branch, not a fork. Nearly everything in it was pushed up to openwrt a long time ago, and a great deal of the ipv6 work we helped drive in mainline openwrt, and test in cerowrt, in conjuction with the ietf "homenet" working group. http://tools.ietf.org/wg/homenet/ which is trying to set standards for ipv6 enabled home routers. Notably openwrt and cerowrt now work great with comcast ipv6, and see RFC6092, and various other supporting documents for making home cpe and routers "just work" with ipv6.

CeroWrt's current differences from openwrt are:

*extensively* tested on the one platform supported. Only 1 bug (#442) holding up a stable release.

SSL used by default in the gui
cerowrt routes, rather than bridges, everything. This is due to needing to be able to analyze ethernet, 2.4ghz, and 5ghz wifi traces independently. Out of that fell the extensive routing protocol support... the default routing protocol is babel (which is not in openwireless.org, sadly).
Mesh networking and wireless are enabled by default
ssh is enabled by default (no telnet)
some services are protected by xinetd
Whole bunch of test tools by default
it uses a unique device naming scheme to simplify firewall rules

Some out of tree patches: better random number generation, a whole bunch of test qdiscs such as nfq_codel and pie, the sqm system is too complex for baseline openwrt (which lacks the "ip" utility), and probably 10-20 patches more that I forget.

http://cero2.bufferbloat.net/cerowrt/ outlines the goals of the cerowrt project, which have largely been met. We are still in search of a replacement platform for the wndr3800s,and next up, is making wifi fast, again.

The EFF's open wireless router project

Posted Jul 21, 2014 20:50 UTC (Mon) by mtaht (guest, #11087) [Link]

Also, openwrt, homewrt, cerowrt, and hopefully now openwireless.org are now largely compliant with:

http://tools.ietf.org/html/draft-ietf-homenet-arch-17

The EFF's open wireless router project

Posted Jul 21, 2014 22:23 UTC (Mon) by luto (subscriber, #39314) [Link] (24 responses)

If you want to pick a fairly capable next target platform, the TP-Link Archer C7 v2 seems to be hard to beat. It has an ath9k 3-stream 2.4 GHz radio, an ath10k 3-stream 5GHz radio, and 16MB of flash. It even has two real on-board Ethernet NICs. As of a few days ago, openwrt trunk's hardware support seems to be very complete.

The EFF's open wireless router project

Posted Jul 22, 2014 9:49 UTC (Tue) by arnd (subscriber, #8866) [Link] (23 responses)

It's not a big upgrade though: the main difference is the addition of 802.11ac compared to the wndr3800, and also a slightly faster CPU (MIPS 74Kc instead of the MIPS 24K).

The following generation (e.g. Netgear R6250 and presumably TP-Link Archer C8 that is about to come out) instead come with much larger storage (128MB NAND instead of 16MB NOR flash) and multi-core ARM processors (Cortex-A9/A17, PJ4 or Krait). OpenWRT support at this time is still a bit lacking, but I guess it's better to wait a bit before moving away from the wndr3800.

The EFF's open wireless router project

Posted Jul 22, 2014 11:48 UTC (Tue) by fb (guest, #53265) [Link] (22 responses)

@luto and @arnd thanks a lot for your comments on candidates next-gen reference routers. Appreciated.

TP-Link Archer C7 support looks solid (the current bug on 5Ghz notwithstanding). Although I agree that for those not in a hurry it might be worth waiting.

I went to look at Netgear's R6250 wiki pages at openwrt.org. The most recent svn commit linked from there is 12 months old...

I guess we're all searching for a replacement platform for the wndr3700/3800 family.

The EFF's open wireless router project

Posted Jul 22, 2014 12:37 UTC (Tue) by arnd (subscriber, #8866) [Link] (8 responses)

The platform support for r6250 (bcm4708 aka bcm53xx aka northstar) is indeed progressing a bit slowly, it has been mostly a one-man effort. Since May 2014 however, there is a linux-3.14 kernel for it in OpenWRT, and the developer (Hauke Mehrtens) is working with upstream (that includes me). Also, Broadcom have recently hired Jon Mason to help out with upstream support for this platform and others, so this is still very promising. The chip is used in a lot of products but r6250 is currently the only one with OpenWRT support, since that is what Hauke has. See also http://bit.ly/1nQpdoQ [wikidevi].

The qca9558 used in most of the alternatives today is the successor to the ar7161 used in the wndr3800 and is well supported in OpenWRT, but as far as I can tell is a bit behind other MIPS and ARM based ports upstream.

Qualcomm/Atheros have also announced a new high-end product line based on the Snapdragon SoCs that is likely to outperform bcm4708 and is completely unrelated to qca9558. These are called IPQ8062/IPQ8064 and already have some upstream kernel support, but I'm not aware of any products on the market so far. I'm guessing this one will be in the Archer C8.

Linksys WRT1900AC is also worth mentioning, this one is based on the Marvell Armada XP chip, which has excellent upstream kernel support and nice hardware specs, but the router very expensive and has had a rough start because of the lack of an open source wifi driver (I believe that is resolved now). It has only recently gained OpenWRT support.

The EFF's open wireless router project

Posted Jul 22, 2014 18:53 UTC (Tue) by mtaht (guest, #11087) [Link] (6 responses)

The most major requirement of the CeroWrt project is zero binary blobs. We are here to strip the bufferbloat out of everything, and a binary blob firmware for wifi, in particular, is unacceptable, as that is precisely the area of the internet we are trying to fix.

The ath10k at least, has firmware that can be obtained and may be open sourced one day, so we have some hope for that. I have been playing with the archer c7 v2 in particular - but the cpu is kind of weak. I have fiddled with a couple arm based products and am somewhat encouraged, but the ethernet interfaces are behind blobs we cant fix and exhibit bufferbloat....

The ath9k is more or less the "reference standard" for open linux wireless drivers, and that will probably become the focus of the upcoming make-wifi-fast effort. (and it's the other card in the archer c7v2)

Now, if another chipset with entirely open drivers and firmware arrives, we'd take it under consideration. Does that broadcom have binary blobs in the ethernet or wifi drivers?

The EFF's open wireless router project

Posted Jul 22, 2014 18:57 UTC (Tue) by luto (subscriber, #39314) [Link]

It might be worth contacting the Candela people if you're really interested in ath10k. They have firmware source.

But yes, blobless is clearly preferable.

The EFF's open wireless router project

Posted Jul 22, 2014 19:20 UTC (Tue) by johill (subscriber, #25196) [Link] (1 responses)

Intel, Broadcom, and others have binary blobs for wifi firmware, but if you're looking for bufferbloat only you have to ask yourself what that firmware can do. Intel's and Broadcom's don't really buffer frames - if they're on the HW queue they're going out to the air ASAP.

The EFF's open wireless router project

Posted Jul 22, 2014 22:02 UTC (Tue) by dlang (guest, #313) [Link]

The problem is that in many cases the firmware implements very large buggers, so you can't assume that you can ignore the firmware.

The firmware that has been opened shows this to be the case repeatedly, so there's no reason to believe that the closed firmware is going to be better.

The EFF's open wireless router project

Posted Jul 22, 2014 20:14 UTC (Tue) by arnd (subscriber, #8866) [Link] (2 responses)

This is what I know about the ARM based platforms with 802.11ac support:

Marvell armada-xp (WRT1900AC):
* CPU is dual-core Marvell PJ4 (ARMv7)
* Ethernet driver is drivers/net/ethernet/marvell/mvneta.c, I see no hint of blobs in there.
* wireless driver is not known yet, probably a variation of drivers/net/wireless/mwifiex, which comes with a blob, see also https://forum.openwrt.org/viewtopic.php?pid=240734

Atheros ipq8064 (Archer C8?):
* CPU is dual-core Qualcomm Krait-300 (ARMv7)
* Ethernet driver is likely to be drivers/net/ethernet/atheros/atl1c/ (no blobs that I can see)
* Wireless is almost certainly ath10k

Broadcom bcm4708 (R6250 and others):
* CPU is dual-core ARM Cortex-A9 (ARMv7)
* Ethernet driver is drivers/net/ethernet/broadcom/bgmac.c (no blobs)
* wireless driver is drivers/net/wireless/b43 (with blobs)

The EFF's open wireless router project

Posted Jul 23, 2014 15:35 UTC (Wed) by arnd (subscriber, #8866) [Link]

FWIW, I've looked at the firmware image for Archer C8: It's bcm4709 (same chip as bcm4708, but running 1 GHz) with 16MB flash, so probably not worth waiting for, because there are lots of other models out already with that chip and more flash.

For the Marvel wlan driver, the model is 88w8864 and it's related to earlier ones for which some reverse-engineering has been done in the past. The wifi firmware now runs on a Cortex-A9, which is probably faster than a lot of router SoCs.

The EFF's open wireless router project

Posted Jul 23, 2014 15:41 UTC (Wed) by nbd (subscriber, #14393) [Link]

You won't be able to use b43 on any Broadcom wifi chip that even remotely counts as recent.

As for the Marvell wifi, it's probably possible to add support for the chip to mwl8k (not mwifiex). I don't know if anybody is going to do that though.
The chip doesn't seem to be used in a lot of devices, and all the interesting bits are of course hidden away in a crappy firmware blob.

The EFF's open wireless router project

Posted Jul 24, 2014 19:30 UTC (Thu) by fb (guest, #53265) [Link]

Hi arnd, I need to thank you again for the multiple informative posts on newer ARM based platforms that are getting used for routers and for your comments on their software support. Thank you! Very sincerely appreciated!

The EFF's open wireless router project

Posted Jul 22, 2014 12:59 UTC (Tue) by mathstuf (subscriber, #69389) [Link] (12 responses)

> I guess we're all searching for a replacement platform for the wndr3700/3800 family.

Is there any specific reason why?

The EFF's open wireless router project

Posted Jul 22, 2014 13:10 UTC (Tue) by arnd (subscriber, #8866) [Link]

It's becoming rather hard to buy new, and newer models are cheaper and/or more capable.

The EFF's open wireless router project

Posted Jul 22, 2014 14:37 UTC (Tue) by fb (guest, #53265) [Link] (10 responses)

If the question was why those models specifically: those were (in practice) reference models, they were stable and worked extremely well.

If the question was about replacing them: at least in Europe is has been very hard to buy either of these from 'regular/normal' re-sellers for a while already.

Notice that the newer revisions/versions of wndr3800 use a different chipset and are unsupported.

wndr3800

Posted Jul 22, 2014 14:51 UTC (Tue) by corbet (editor, #1) [Link] (9 responses)

So wait...are you saying that if people run out to buy WNDR3800 devices to play with this software they are going to end up with a doorstop? If so, that seems like something to scream from the rooftops, not to bury in a comment stream...?

wndr3800

Posted Jul 22, 2014 15:25 UTC (Tue) by fb (guest, #53265) [Link] (2 responses)

The market is well aware of this, last time I looked around (6 months ago? Probably more), I could find new WNDR3800 but it surely commanded a very steep price. Today a cursory (Amazon) search did not show anyone selling it.

wndr3800

Posted Jul 22, 2014 15:27 UTC (Tue) by fb (guest, #53265) [Link]

PS: Where I wrote Amazon, you folks should read Amazon.FR :-P

wndr3800

Posted Jul 22, 2014 15:33 UTC (Tue) by corbet (editor, #1) [Link]

Um, a quick search on US Amazon turns up this offering. I would not be at all surprised if some people were buying this to try to put openwireless on it. That is not going to lead to happy testers...

wndr3800

Posted Jul 22, 2014 15:31 UTC (Tue) by arnd (subscriber, #8866) [Link] (5 responses)

I think fb was confusing wndr3700 and wndr3800 in the comment above: wndr3800 and wndr3700v1/v2 are the same hardware with different amounts of memory. They are supported by CeroWRT but are no longer produced as far as I can tell. The recommendation is to buy wndr3800 because you know exactly what you get then -- there is only one version of this device.

For wndr3700, there are also v3 and v4 versions. v4 is actually much nicer hardware (same as wndr4300) than v2, is available for a reasonable price and has some OpenWRT support in the latest snapshots but doesn't work with CeroWRT because it requires a separate image.

The main disadvantage of all of the supported systems is that they are two-generation old high-end devices: a new mid-range router (e.g. TL-WDR3600) can do the same things for less, while a new 802.11ac router (e.g. Archer C7) would be better for a similar price.

wndr3800

Posted Jul 22, 2014 19:23 UTC (Tue) by mtaht (guest, #11087) [Link] (3 responses)

The wndr3800 was used by cerowrt, samknows & FCC, the bismark project, and innumerable other science and measurement projects. It had a very high build quality, had enough flash for tools, and sufficient ram as well, along with a huge development community centered around the chipset that didn't exist (at the time) for (examples) the iwl products or ra or broadcom products. It has been nearly unbrickable, and I'm glad we chose it 3 years back...

but... I have been painfully aware of how rare the wndr3800s for the past year. However, the ar71xx/ath9k chipset that the wndr3800 is based on is used by *100s* of other manufacturers products (buffalo, tp-link, ubnt, etc), and the successor chipsets from atheros are largely similar, so... there are 100s more products to choose from with very few changes to the build, if we were to switch to something being currently manufactured.

(I fairly regularly do builds for the ubnt picostation and nanostation, as well as for a few other more current and widely available products... but haven't found one - or enough support from the manufacturer. Secondly, many of the "newer chipsets", contained cost reductions that bothered me, for example clock speeds were reduced by 10-20% in later chipsets). I wanted to hit new performance targets, not get slower...

And we'd (cerowrt) like to have a new platform to deploy for 3+ years, so we can get good data back, and that's kind of hard to figure out at the moment as the industry switches over to 802.11ac and the resulting chaos in the chipsets and raw quality of the code - (this disruption is also a good thing, in that things like "streamboost" are entering that market, we have a chance to influence future designs, etc)

Frankly, given all the help Netgear has been (e.g. none), I'm planning on finding another board from another vendor, rather than fix their stuff anymore. I have some hope we'll work with multiple other projects including openwireless.org and others in this space (very long list), to choose a chipset and vendor that we can work with, to further the advancement of the internet... but every project has different goals, and our (bufferbloat.net's) insistence on no binary blobs is not something that other projects might care about, in particular. (have no idea what the EFF stance is on this issue, for example.)

The 3 years of work in openwrt/cerowrt/etc has led to a home router build that works really well with ipv6, and I do hope tons of people iron out the last bugs in barrier breaker - on any of the 100s of platforms available - to take full advantage of ipv6 as it rolls out.

http://corporate.comcast.com/comcast-voices/comcast-reach...

binary blobs

Posted Jul 22, 2014 21:51 UTC (Tue) by jsha (guest, #97989) [Link]

> insistence on no binary blobs is not something that other projects might care about, in particular. (have no idea what the EFF stance is on this issue, for example.)

I work for EFF, and I can say: We definitely also insist on a platform with no binary blobs. It's vital to both security and user freedom, and is part of the reason we chose CeroWRT and the WNDR3800 as our base platform.

wndr3800

Posted Jul 22, 2014 22:04 UTC (Tue) by dlang (guest, #313) [Link]

> Secondly, many of the "newer chipsets", contained cost reductions that bothered me, for example clock speeds were reduced by 10-20% in later chipsets). I wanted to hit new performance targets, not get slower...

especially given the fact that the current CPU is running into performance bottlenecks on high-speed home connections today.

wndr3800

Posted Jul 22, 2014 22:19 UTC (Tue) by arnd (subscriber, #8866) [Link]

I've bought the wndr3800 myself two years ago because of CeroWRT support and have been fairly happy with it, except that I'd prefer an ARM CPU core since that's what I work on in the kernel ;-)

My prediction is that over the next three years, most of the high-end routers will move to ARM CPU cores, now that five of the main SoC vendors in this area (Qualcomm, Mediatek, Broadcom, Marvell and Realtek, no idea about lantiq or others) all have either products out or announced licenses for CPU cores. The highly integrated low-end will stay with MIPS24K/74K but not move on to faster MIPS cores (Aptiv/Warrior).

This means you basically have the choice between the qca9558 or similar as the last of its kind with high compatibility to wndr3800 on the one side, or a completely new platform like the ipq8064 that uses the same network drivers but shares nothing else on the other side.

wndr3800

Posted Jul 22, 2014 19:27 UTC (Tue) by fb (guest, #53265) [Link]

> I think fb was confusing wndr3700 and wndr3800 in the comment above

Indeed. Thanks for noticing and bringing it up.

The EFF's open wireless router project

Posted Jul 23, 2014 3:27 UTC (Wed) by ranga (guest, #97993) [Link]

Support for secure upgrade of the entire firmware image is in the current EFF router software release. This security is against a threat model that will be described in the threat model document on the OpenWireless github repo (TODO).

The need to upgrade the entire image is a problem for people who customize the router by installing their own pkgs. Since we use the sysupgrade utility built into OpenWRT, such users will need to re-install their packages manually. So even if we wanted to just upgrade the linux kernel we would have to make available a full new image. Similar comment applies to upgrading a specific pkg currently if it is to be done by the EFF through the current automated update mechanism. Users are of course free to manually upgrade specific pkgs themselves with "opkg upgrade pkg1 pkg2 ...".

We would like to move to a system where kernel or individual packages are automatically upgraded. We don't currently have a design for this and will review the current activity in OpenWRT mentioned by Dave above and try to arrive at a solution down the road. Resolving this problem is not a high priority item for us currently.

More concerning is the possibility of routers getting "bricked" during an upgrade. We will be adding the ability to gather "bricking rate" to see whether the current upgrade mechanism is something we can live with. Ideally we would be able to have two copies of the image, with one being live and would only upgrade the backup copy. Then if an upgrade fails we would always be able to boot up into the functioning copy etc. Given the flash of 16MB on the Netgear 3800 we can't implement this yet. In a more modern platform we expect this will be possible.

Dave describes the relationship between the EFF router software release and CeroWRT well. We are focused on innovating in the security of SOHO routers and in making the sharing of the WiFi with guests worry free and easier, and in protecting the privacy of guests themselves. We look to CeroWRT to continue its innovation in the networking and queuing realms and to continue to improve performance and internet experience. Such a division of labor, we hope will result in a healthy exchange of code and ideas between the two projects.

The EFF's open wireless router project

Posted Jul 21, 2014 17:33 UTC (Mon) by NightMonkey (subscriber, #23051) [Link] (5 responses)

I'm a strong EFF supporter ($$$ and philosophy). But, I'm curious about some negative outcome possibilities here. Wouldn't this just make it easy for ISPs to determine (via nmap-y fingerprint scans of the customer's router) that their 'customers' are 'misusing' their network by allowing open access? Sure, I'm brave (yay, Tor Relay reward t-shirt here :) ), but isn't there a moral obligation to warn anyone who uses this that they might get their Internet access shut off?

The EFF's open wireless router project

Posted Jul 21, 2014 22:05 UTC (Mon) by tialaramex (subscriber, #21167) [Link] (3 responses)

It is by no means clear that something like this constitutes misuse under the terms and conditions of most ISP contracts. And I'd guess that both the EFF and ACLU would _love_ for an ISP to cite this as the reason why they cut off Internet service to say, a family-owned café.

The EFF's open wireless router project

Posted Jul 21, 2014 23:40 UTC (Mon) by BrucePerens (guest, #2510) [Link] (2 responses)

A CeroWRT-based system is not necessarily one that is open for anyone to log in. You can write a password into the password field for any wireless interface through the convenient web interface.

It's Open Source, and it does its thing to fix bufferbloat. That's what is most important.

I think someone at EFF might have noticed that OpenWRT doesn't do any marketing, isn't always the leading project (otherwise there would have been no need for Cerowrt) and is mainly for hackers. But it can pretty easily be made nice for normal folks, and it's better for them than the alternatives. Thus, EFF can meet a need and forward its own agenda at the same time.

The EFF's open wireless router project

Posted Jul 22, 2014 12:40 UTC (Tue) by ewan (guest, #5533) [Link]

They can be the Ubuntu to its Debian?

The EFF's open wireless router project

Posted Jul 22, 2014 15:30 UTC (Tue) by tialaramex (subscriber, #21167) [Link]

CeroWRT is not necessarily open-as-in-no-password, but that's a big element of this EFF project

The EFF takes the position that authenticating to the wireless AP, rather than having end-to-end encryption for the services you use, is the wrong approach.

You can see this in their reaction to the Google settlement. They felt that while it was in some sense wrong for Google to collect the data that had been carelessly flung into the ether unencrypted, it was at least as wrong to insist Google "educate" users about enabling WPA and especially WEP encryption. A Google car won't snoop on your WPA PSK connection, but actual bad guys will soon use one of the dozens of available attacks to find a weakness. So you've obtained only a false sense of security. If you instead e.g. switched on TLS w/ certificate checks for your email client you get _actual_ security without the hassle of setting up an encrypted AP.

The one hop auth approach is beloved of snoopers. They lose nothing (by placing themselves at the far side of the authenticated hop they still get to see everything you did in cleartext) but gain everything (now they can be confident which person is associated with the data they're seeing because it's authenticated). So there's no reason to encourage it when end-to-end is not only viable but far superior.

The EFF's open wireless router project

Posted Jul 22, 2014 22:24 UTC (Tue) by jsha (guest, #97989) [Link]

We do have a warning, under 'Terms of Service considerations' at https://openwireless.org/. We are also calling on ISPs to explicitly permit open wireless networks.

The EFF's open wireless router project

Posted Jul 22, 2014 3:55 UTC (Tue) by dmarch (guest, #94627) [Link] (3 responses)

Why not integrate tor with this to help with security and reduce the risk of ISP problems? I see they are already planning to use it to provide updates so hopefully this will already be offered to end users of the open WIFI.

The EFF's open wireless router project

Posted Jul 23, 2014 12:54 UTC (Wed) by gdt (guest, #6284) [Link] (2 responses)

Tor isn't necessarily a security win, because the NSA run a high proportion of the exit nodes.

The EFF's open wireless router project

Posted Jul 24, 2014 7:16 UTC (Thu) by intgr (subscriber, #39733) [Link]

That's an easy claim to make, but is there any evidence, at all, to support this?

The EFF's open wireless router project

Posted Jul 24, 2014 23:25 UTC (Thu) by dmarch (guest, #94627) [Link]

Well the main idea I had in mind with Tor is to help reduce liability to the person operating the open WIFI router and it might also help prevent an ISP from TOSing them for having the open WIFI.

For instance I would run an open WIFI router gladly with all connections going through Tor. But without Tor I am too afraid of people accessing highly illegal pornographic content and then getting in a huge legal mess.

The EFF's open wireless router project

Posted Jul 22, 2014 7:26 UTC (Tue) by Felix.Braun (guest, #3032) [Link] (2 responses)

The EFF lists as one of the project's objectives "Offer a minimalist, secure, and elegant Web user interface". Anything wrong with LUCI, which is used by OpenWRT/CeroWRT?

The EFF's open wireless router project

Posted Jul 22, 2014 11:32 UTC (Tue) by fb (guest, #53265) [Link] (1 responses)

> The EFF lists as one of the project's objectives "Offer a minimalist, secure, and elegant Web user interface". Anything wrong with LUCI, which is used by OpenWRT/CeroWRT?

While I grew *used* to Luci, I still find it overly complicated. IMHO Nothing close to the elegance that the GUI for Tomato had back in the day.

The EFF's open wireless router project

Posted Jul 22, 2014 17:08 UTC (Tue) by NightMonkey (subscriber, #23051) [Link]

Tomato by Shibby still does. :)

The EFF's open wireless router project

Posted Jul 25, 2014 2:55 UTC (Fri) by jackb (guest, #41909) [Link] (14 responses)

So I've been hearing about bufferbloat for years, and here is a project that claims to have the "latest bufferbloat fixes" and yet the entire thing is still a mystery.

I don't use wireless routers - I have a PC that servers as a firewall/router, and a wifi AP for wireless devices to connect through.

How would I know if I have bufferbloat problems? If I want to fix it, are there any kernel options I should enable/disable? Is there any kind of user space configuration involved, or is simply compiling in something like fq_codel enough?

For all the talk about bufferbloat, there's little in the way of tutorials or instructions available.

The EFF's open wireless router project

Posted Jul 25, 2014 4:23 UTC (Fri) by dlang (guest, #313) [Link] (13 responses)

Bufferbloat destroys latency under load.

The easiest way to see if you have bufferbloat problems is to start a ping going, and then do a large file transfer that saturates your pipe.

If you don't have bufferbloat problems, the ping times will remain about the same (within a few ms of unloaded times)

If you do have bufferbloat problems, the ping times will skyrocket.

slide 6 of this presentation shows the difference: http://snapon.lab.bufferbloat.net/~d/Presos/CaseForCompre...

The bufferbloat development has been happening as part of Cerowrt (with Dave Taht doing the vast majority of the work with virtually no financial support), so it has the latest and greatest improvements :-)

It's not really something that you can take care of with configuration. You can shrink your buffer allocations down a bit, but it's not possible to configure them to a point where you both get good throughput with small packets and good latency in the face of large packets.

the changes to the kernel to do buffers by bytes rather than packet count (BQL) makes a huge difference and lets the buffer sizes be sized to reasonable levels.

fq_codel queue management also makes a huge difference.

both of these are in the core kernel now (I don't remember what version each of them got in and on by default)

But it doesn't help you that much to have a bloat-free desktop and server if the router in between them is bloated. The most critical point to be de-bloated is the router that connects a high-speed network to a slow network (something like your access point connecting your gig-E wired network to your 10Mb Internet connection)

Wireless networks add a lot more problems to this, and the wireless drivers do a lot of buffering that's hidden from the OS, which just makes it worse. Debloating the wireless stack is on the TODO list for CeroWRT

Does this answer a lot of your questions?

The EFF's open wireless router project

Posted Jul 25, 2014 11:34 UTC (Fri) by jezuch (subscriber, #52988) [Link] (1 responses)

> If you do have bufferbloat problems, the ping times will skyrocket.

A practical example:

I got a DSL modem from my ISP. It was total crap; even when I managed to coerce it to actually work, everything was unbearably slow. I had a BitTorrent client running seeding some torrents and it saturated the outgoing pipe, but the modem just took whatever the client sent and happily buffered it. Ping times to the *modem itself* increased gradually to the multiple-seconds range and even the smallest request's RTT also increased along with it. Throttling the BT client helped, obviously, but still I celebrated when I got rid of this piece of junk and replaced with an actual router/modem :)

The EFF's open wireless router project

Posted Jul 25, 2014 13:45 UTC (Fri) by mtaht (guest, #11087) [Link]

We wrapped fq_codel with htb and added DSL framing compensation in the "SQM" scripts in cerowrt. The code runs on openwrt, cerowrt, and debian/fedora derived systems (with a little tweaking).

The gui is for cero only at this point, but the configuration variables are kind of obvious.

http://www.bufferbloat.net/projects/cerowrt/wiki/Setting_...

So this sort of thing (many other examples exist, see for example, gentoo's example) does wonders for latency, compensates for lousy modems, and moves control of prioritization to your own device rather than the CPE.

http://snapon.lab.bufferbloat.net/~cero2/jimreisert/resul...

I do hope one day to reduce the measurement process done in the above url, to something that could "just run" and be called "calibration".

The EFF's open wireless router project

Posted Jul 27, 2014 2:33 UTC (Sun) by dlang (guest, #313) [Link] (10 responses)

One other very important issue (which I managed to forget)

bufferbloat only shows up on routers that are bottlenecks. This can be something like the Verizon/Level3 interconnect, but it's also going to be on your home router where you go from gig-E to DSL/Cable at speeds around three orders of magnitude slower and at the ISP router where they go from their high speed internal network to your download link at speeds around two orders of magnitude slower.

If you aren't on the bottleneck, you really can't fix it.

However, what you can do is you can make a system that you control be the bottleneck (by configuring it to only use 95% of the bandwidth that you actually are paying for) and then BQL and fq_codel will work there.

Since you can't install something on your ISPs network, managing your download speed is MUCH harder, and you end up having to play games with how quickly you respond with acks to data that arrives and other similar games to try and trick the server on the other end of the Internet to send you data a bit slower until you get to the point where it's sending you data slow enough.

If your the two routers on each end of your ISP link were running fq_codel, bufferbloat would be solved for the wired networks.

The EFF's open wireless router project

Posted Jul 27, 2014 20:10 UTC (Sun) by mtaht (guest, #11087) [Link]

To clarify, bufferbloat happens at bottlenecks, period, not just on routers but inside network stacks as well.

For example, there was truly excessive buffering in the PPP drivers before David Woodhouse smashed then down to 2 (1?) year(s) back. The invention of BQL (Tom Herbert), made it possible, to squeeze the ethernet tx ring down from up to 4096 64-64k packets down to less then 192Kbytes on 10Gig, and as small as a single large packet on 10Mbit - before BQL went into the device drivers, none of the new fangled flow queuing or aqm technologies had much effect.

I put BQL on a beaglebone black recently, and got a nice 15x reduction in network latency over the default pfifo_fast + non-bql version and a large improvement in bidirectional throughput:

http://snapon.lab.bufferbloat.net/~d/beagle_bql/beaglebon...

There is much room left to beat the bloat out of usbnet, and wifi can be thoroughly improved, in the linux stack, also.

Bufferbloat is not just a router based problem.

The EFF's open wireless router project

Posted Jul 30, 2014 8:20 UTC (Wed) by intgr (subscriber, #39733) [Link] (8 responses)

> you end up having to play games with how quickly you respond with acks to data that arrives

That won't help with TCP at all because TCP only reacts to packet loss, not latency. If TCP's congestion control were designed to react to latency, we wouldn't have this bufferbloat problem in the first place: buffers filling up increases latency and would signal it to scale back.

The bufferbloat movement seems to accept it as dogma that active queue management on every midnode is superior to latency-sensitive congestion control on just the end-nodes.

The EFF's open wireless router project

Posted Jul 30, 2014 12:38 UTC (Wed) by mtaht (guest, #11087) [Link] (4 responses)

The problem that we have seen with latency sensitive TCPs are threefold.

1) (and most damning) is the best a latency sensitive tcp has been seen to work at so far is a target of 100ms for things like bittorrent and LEDBAT. With AQM we get (eventually) below 20ms with pie and below 10ms with codel, and with FQ-based techniques it's closer to 0 for sparse traffic and the size of the queue for big flows. With the fq_codel hybrid, it's closer to 0 for sparse traffic, and less than 10ms for big flows. So doing it e2e is at least 10x worse than sticking a better algorithm at the bottleneck.

A lot of people reading this paper: http://perso.telecom-paristech.fr/~drossi/paper/rossi13tm...

miss that the alternative to AQM or FQ is using low priority congestion control AND accepting a *100ms delay target*. Which bugs me. Do you want nearly 0 delay or not? It's your time your wasting.

And despite all that, some early tests with LEDBAT seem to show you CAN get a lower delay target IF you assume a FQ'd system and couple your congestion controller to multiple flows, so there is still hope for and need for further research in this area.

2) delay sensitive TCPs compete badly with loss based TCPs. From a game theory perspective, as soon as there is one loss based TCP on the link, everybody else loses. You can either upgrade everybody's tcp to delay based or incrementally deploy aqm and fq techniques.

3) I personally would have liked a split TCP world, where stuff exiting ethernet entered wifi and switched to a delay sensitive tcp. But that didn't happen.

Anyway, so we tried everything, early on in the bufferbloat project, and we continue to do so...

but at the moment...

fq_codel wins, spectacularly, over everything else we've tried, and it's getting pretty widely deployed.

..

Lastly, we are all in favor of continuing improvements to TCP and related transports, and perhaps missed in the noise about things like fq_codel are how much other parts of the host stack have had the latency ripped out of them, with new techniques like BQL and sch_fq, and better drivers, all of which have had spectacular effects across the kernel mainline - not just on latency reduction but on real world throughput due to the tighter control loops. BQL in particular did wonders for 10GigE, and does great things at any speed. Recently I added BQL to the beaglebone black, and got a 15x reduction in self induced latency overall vs the non-BQL, non-sch_fq version:

http://snapon.lab.bufferbloat.net/~d/beagle_bql/bql_makes...

I sure wish everyone was adding BQL to their ethernet drivers, it's only about 7 lines of code, and in an age of ever slower internet of thingamabobs, it's needed.

Next up - make-wifi-fast - and this is driver and stack level rework more than it is fq/aqm stuff, to better handle packet aggregation in particular.

The EFF's open wireless router project

Posted Jul 30, 2014 12:40 UTC (Wed) by mtaht (guest, #11087) [Link]

oh, failed to make my point that lowered latency can increase throughput.

http://snapon.lab.bufferbloat.net/~d/beagle_bql/beaglebon...

Now I have. :)

The EFF's open wireless router project

Posted Jul 30, 2014 13:22 UTC (Wed) by mathstuf (subscriber, #69389) [Link]

> It's your customer's time you're wasting.

This would seem to be more along the reality and explain why the administrators don't see it as them losing any time with congestion.

The EFF's open wireless router project

Posted Jul 30, 2014 19:35 UTC (Wed) by intgr (subscriber, #39733) [Link] (1 responses)

Thanks for this explanation.

Sorry if my initial post was confrontational. Back when the bufferbloat movement got started, I tried looking for reasons why the AQM approach was preferred, but all I found was some flamewars that seemed dismissive and poorly reasoned.

To be fair, back then there weren't any AQM algorithms to solve the problem entirely either. I have to wonder, if a similar amount of effort were to be put into developing TCP congestion control algorithms, maybe we would already have a solution to these drawbacks?

(PS: for anyone else wondering, FQ stands for "flow queue")

The EFF's open wireless router project

Posted Jul 30, 2014 19:40 UTC (Wed) by dlang (guest, #313) [Link]

There have been a lot of people putting work into congestion algorithms. Many of them have published papers about how wonderful their solution is.

However, in every case, when combined with the traditional loss-based algorithm that's widely deployed, the new algorithm looses badly and so it can't be used on the Internet (possibly on Internet-next-next if no existing software is ever allowed to connect to it, but that's extremely unlikely to ever happen)

The EFF's open wireless router project

Posted Jul 30, 2014 19:32 UTC (Wed) by dlang (guest, #313) [Link] (2 responses)

the receiver can influence how fast the sender outputs data, if it couldn't, there would be no way for a CeroWRT to affect the traffic inbound to it from the Internet.

I may be wrong on the exact mechansim, but there is only so much feedback that takes place. As I understand it, there is window size, and how quickly the receiver acks the data to tell the sender that it no longer needs to take up space in that window.

The EFF's open wireless router project

Posted Jul 31, 2014 9:48 UTC (Thu) by intgr (subscriber, #39733) [Link] (1 responses)

> the receiver can influence how fast the sender outputs data

Most likely it's just dropping packets like a congested router should do.

It's true that you can also throttle traffic by delaying ACKs so that the TCP window fills up, or shrinking the window in the first place, but that seems somewhat complicated and modifying packets is not a nice thing to do. I haven't heard of the kernel having any infrastructure to do either.

The EFF's open wireless router project

Posted Aug 1, 2014 0:10 UTC (Fri) by zlynx (guest, #2285) [Link]

ECN also works pretty well. I used to use it on a T1 connection. I had a Linux router and I gave it an outgoing RED w/ECN queue on the LAN connection.

All of my Windows and Linux systems on the LAN cooperated with ECN quite well. It improved packet flow and reduced the number of packets that had to be dropped by the queue.


Copyright © 2014, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds