Weirdly broken Wi-Fi access points
kmjn.org
kmjn.org
1. Wifi routers are very complicated. You need smart people at all levels of the stack to build a modern wifi router. You need people who know 802.1ac like the back side of their hand, people who know how to set up and deploy linux environments, embedded engineers for debugging OEM driver issues, networking gurus for handling the voodoo in levels 2-4 of the OSI stack, application people for rolling the user interface, cloud people for cloud support. Normally this isn't a big deal, if it wasnt for the next point
2. The profit margins on consumer routers are complete trash. Even if you're one of the big boys with double digit market share, you're going to have a very hard time keeping a decent engineering team staffed and your marketing team staffed at the same time while still breaking even.
3. Consumer router sales are SKU driven. There are dozens of price and performance points you have to hit to meet the demands of the consumer market. You cannot make be profitable with less than 10 actively selling SKUs. Every time you release a new SKU, it's a new opportunity for marketing to try to sell the device to brick and mortar stores that they're trying to expand into. If you aren't releasing 5-6 SKUs each year, you're going to have a very hard time keeping your router on store shelves.
4. Since sales are SKU driven and your engineering team is probably under funded, you have the exciting problem of maintenance releases. If your company has 50 supported SKUs and you find a non-driver issue in one of them, the chances are that it affects 10 other SKUs as well, if not all of your other SKUs. Pushing that maintenance firmware to 50 SKUs could easily take 6 months of combined QA or Firmware development time. As far as your marketing department is concerned, all that time you spend on maintenance releases is time that isn't spent on making new SKUs with exciting new features.
tldr: get a business class wifi router
OpenWRT is better in this sense, but even there some people split into recent LEDE project: https://www.lede-project.org
Regarding bricking. Linksys WRT1900ACS is designed with that in mind. It has two partitions, and you always flash updates to another one, so if something goes wrong, you can easily switch to the other partition which will hold previous installation, using special on / off sequence. It's a neat idea, and more routers should follow it.
If you need stability, go with a high end consumer router and load OpenWRT/DDWRT on it. OpenWRT and friends are very stable, but don't often take advantage of advanced features like automatic channel selection, traffic prioritization, or beamforming.
If you absolutely need features, go with a ubiquiti AP. My only issue with them is their hardware leaves a lot to be desired, and is rarely powerful enough to cover a full home, this isn't necessarily ubiquiti's fault though.
Business class APs expect you to set up multiple APs in the office, so their hardware is typically a lot less powerful than what you'd see in a consumer wireless router. A ubiquiti AP will gladly cover your 1 bedroom apartment, but don't expect it to cover your 3 bedroom home
DD-WRT has been pretty solid for that, even in non-ideal network setups (currently have it connected to the ISP router as a 2.4GHz client, then acting as a 5GHZ AP for my other devices).
As an aside, if you're after a nice, fast, low power solution, you can also look into the Netgate pfsense hardware, eg, http://store.netgate.com/ADI/RCC-VE-2440.aspx.
They're very popular in Europe but oddly never seem to have had the same impact in North America, although you can find them if you look around a bit.
They did do a linux based variant at one point but switched back to their custom rolled OS a couple of years back. Not sure of the story there or if it's possible to do a custom firmware. There was something on google code at one point.
Too bad the new ones are ugly as hell. Oh well, my older model still works.
And these days so many people get it through their cable provider (or DSL, whatever) who have a marked interest in not generating support calls means you may get decent equipment.
You would think that, unfortunately it isn't true. Usually those ISP provided combination routers are completely outsourced - as in their hardware and firmware are both made by a chinese OEM overseas.
Believe me when I say there is nothing worse than the firmware on those chinese routers. They'll grab a bunch of open source software, reskin it, plug the chipset's reference driver into the OSS, then do a basic sanity test and ship it. You get what you pay for, and the ISPs want to pay as little as humanly possible.
I don't know what they do about the support. I remember one time we brought in an ISP's combination modem/router for performance tests against our device lineup, and it would crash if you ever tried to pull more than 40mbit/s through its ethernet ports.
More a case of you get what they (the ISP) pays for (or doesn't pay for).
You don't have to use the integrated access point just because it's there.
I have wasted so many hours on the phone with their support without getting anywhere. They wouldnt even acknowledge there is a problem until I showed them graphs. Then they sent an "engineer" over who also knew fuck all and accomplished nothing. He then seemed to have reported back there was nothing wrong and now they ignore me.
I should switch ISPs but the performance of the network compared to the price is excellent. Just this shitbox of a router.
Now I'm wondering why, whether it's legislation or the way our ISPs relate to the infrastructure.
This is mainly because those networks are deployed by adding an second SSID to the router with WPA enterprise auth. The solution many people choose is putting the router in the basement with a lot of aluminium foil around it.
This is why we can't have nice things. I hope they find a way to defeat people doing this, but my guess is it would be prohibitively expensive (war driving entire cities, etc).
Their philosophy seemed to be to throw as many inexperienced graduates at the problem as they could afford and eventually it would somehow work - as though an infinite number of engineers would eventually produce the works of Shakespeare!
They all work really well in the testing lab, where there's 50m of cat5 between the DSL modem and the DSLAM on the floor below. But then you find out once it's deployed that they have big issues with certain kinds of interference, so for a small segment of your userbase they have more dropouts than other routers. Since the company has already bought tens of thousands of them at this time, it's not really practical to just recall all of them and buy new ones. So the ISP files a bug with the upstream vendor. After some months of pushing, the vendor gives the ISP a special firmware build that's supposed to fix the problem. The fix never gets into the official firmware line (presumably because it has other downsides that the mfg doesn't want to talk about, maybe it's more conservative in line measurements etc), so now the ISP is locked into running this custom firmware version. Oh and that one probably has its own bugs that the older one didn't.
I saw this happen so many times, with routers from multiple vendors over my years doing this kind of thing. I don't run consumer networking equipment in my home anymore.
So you're going to have to start putting your networking gear away in closets, behind doors, like the rest of us ;)
Also, it's being made by people who haven't made a router before. 99% of the issues you'll ever have with your wifi router are driver issues. Omnia is using OpenWRT for their base, however they'll still have to make the chipset driver work with OpenWRT, and at a reasonable speed.
Even if they get the driver working, it's unlikely that the device will be running at speeds comparable to other market competitors. It takes lots of unpleasant driver hacks, custom networking stacks, and prioritization magic to hit the benchmark numbers that Asus, Netgear, and Linksys push out.
I'm not saying you should write off the Omnia completely, I just recommend sitting back and waiting for it to be released/benchmarked before purchasing it.
I think most non-geeks don't realise just how bad their routers are making their web experience.
I ordered a Netgear Nighthawk R7000 and I'm very happy with it.
I haven't seen a head-to-head comparison.
Now of course this is just my own anecdote. But it remains a fact that WiFi setup can be incredibly hit-or-miss, and there's no reason in principle why two devices 3 meters away should have occasional 2-3 seconds packet delays.
Taiwan is a popular choice, due to the combination of proximity to manufacturing in China and an English friendly business culture.
Every so often the big brands go shopping to build a new product and they select something that meets their needs from the white-label products available.
The product then gets customised for them. What the big brands contribute is industrial design of the case, some qa, packaging, ui styling, a distribution channel and consumer trust in their name.
Which leads to funny scenes like watching engineers at a white label do board relayouts and emi retesting because the industrial designer wanted the antennas to sprout out of a different bit of the case. Because it looks more badass that way...
This also leads to the phenomenon where say, v4.15 of a router was cool, but 4.16 sucks - because internally its a totally different chipset, with a different os (e.g. vxworks vs Linux). Ref e.g. WRT54...
The reason this happens is not because the brand name rewrote anything - they just selected a different white label partner who customised a totally different product to look the same (probably because they promised to deliver cheaper for same SKU). This then gets sold under the old, popular model name.
http://www.draytek.co.uk/products/business/vigor-2860
I finally gave up on consumer routers, and bought one of these instead - the learning curve is steep, but it's overloaded with features and runs brilliantly.
Why is this? It sounds like having recognition of your model numbers is a bad thing, if you need to keep revving them so much.
It's very hard for marketing guys to call Costco and say "hey, you remember that router we tried to sell you 6 months ago? well we just gave it a firmware update!", and close the sale
it's very easy for marketing to call Costco and say "hey we got this fantastic new router you guys might be interested in stocking", and close the sale
Not a hardware guy, but I've looked at D-Link firmware code in the past, and it is just utterly shoddy. Just making the hardware and making sure it is compatible with some router-os should be simpler. (Essentially what happens in the mobile/laptop industry with android/windows).
Wifi has a single quality indicator, the "signal power" which is useful but doesn't say it all (it doesn't even take SNR into account). Somebody should come up with a monitoring algorithm, possibly mixing radio stats and stability of pings, that converts into a simple indicator on the UX of all operating systems. Something like green/yellow/red. Once people know their connection is "always red with MacBooks", they will fix it; hotel managers can ask for support from suppliers, airbnbs can go to the mall where they bought the router and complain.
This would be up to the Wifi Alliance to fix, but they are the worst slow-moving committee ever seen on this planet, so I'm not holding my breath. They're probably implementing a new useless encryption algorithm that will be broken in 5 minutes and stay broken for another 5 years till they agree on something else.
I once contacted Wifi Alliance regarding this one: https://github.com/d33tah/call-for-wpa3
This was their response:
> Thank you for contacting Wi-Fi Alliance.
>
> In regards to your question about work on security developments, there is a member task group that is working to advance Wi-Fi security enhancements. You can find all the current work groups on the Wi-Fi Alliance website at http://www.wi-fi.org/who-we-are/current-work-areas.
>
> In order to participate in discussion and work groups, companies must become a member of Wi-Fi Alliance.I've had numerous problems with my own Time Warner Cable modem/router. It'd always become pretty bad after about 3 days of operation, dropping my speed to about 2% of what it was initially. I spend months debugging the damn thing, using a custom router, swapping cables, etc, and nothing would fix it.
Until I got a timer and got it to reboot every day at 3 am (the https://xkcd.com/1495 route) and never had the problem again.
My download speed, measured after a reboot, was 50mbps. It would then drop to ~1mbps after a few days and stay there.
Both examples are from "public" wifi where the person with the problem is unlikely to be the only user.
Some routers do not allow traffic from IPs which are not active DHCP leases. When DHCP lease expires, they block traffic. But many routers don't enforce this.
Some routers give out super short DHCP leases - as short as 30 seconds. But the typical length is 12 or 24 hours.
A public or semi-shared wifi router is more likely to use these policies to prevent exhausting the local subnet address pool, which is typically around 254 addresses.
Mac OS X doesn't believe that renewing a DHCP lease in 30 seconds is ever really necessary, limits the renewal frequency to once per minute.
I'd check the dhcp lease time.
On your topic, though, Princeton noticed something similar with regards to iOS and DHCP, although it is several years old now: https://www.net.princeton.edu/apple-ios/ios41-allows-lease-t... (last tested version was iOS 6.1)
I've seen DHCP servers that TAKE 60 seconds to give a lease.
Sometimes when I write DHCP clients I choose the metric as "fastest", then just choose the first answer and don't wait for any more. And it takes on average a few milliseconds to get a lease.
We built a portable device that starts a DHCP client and tries to get a lease on an Ethernet plug event, and if no lease is acquired after a certain amount of time, the device assumes it has been plugged directly to a PC (or an "ad-hoc", isolated network with a switch and no router) and will kill the client and start a DHCP server itself, so you can access the device's webserver directly. I wasn't onsite, but the solution was simple - we just increased the timeout to wait for a lease before starting the server.
When the port goes active (layer 2 link) the switch inspects but doesn't forward packets to try and ensure you've not just added a loop into your ethernet network. After a minute or so, if everything looks normal, the switch then starts letting the device talk to the rest of the network.
If you don't know about it then this can be annoying at best as you seem to have a layer2 link but DHCP can seem to take an age to start working :)
Except that packets don't really get dropped for wire errors at all anymore. Not unless the bandwidth is oversubscribed and there's a collision (really a buffer overflow on a router).
I use an ASUS 750N, which is starting to show its age faster than I expected, but otherwise services the devices in my house just fine. Except for my laptop, which is the only device I actually need to use over wifi on a regular basis.
That firmware looks lovely! I will give that a whirl when I have time to dink around with it, possibly this weekend. Thanks for that!
If you are in a hospitality situation you can demand a refund on your Internet charges, or if the Internet is "free" consider asking for a discount on your bill.
That said, power line networking (the author mentioned devolo) is notoriously fraught with challenges. A company I helped start was acquired by the folks who put power line networking on the map (Tut Systems) and their were a lot of interesting interference sources they tried to mitigate. Inductive loads (motors) coming on and off was a big challenge, and places like hotels would have large fans that would circulate air through the common areas or hallways. Fluorescent lights were another noise source.
All in all it was a poor excuse for a network and everyone was amazed they got a megabit per second point to point through it reasonably reliably.
Curiously, the behavior became dramatically more frequent (from once every few months to several times a week) when I moved in with family, which meant plugging it into a different modem, and adding a bunch of Windows devices to the network.
(When I move back out, I'll probably leave this router behind and get myself something that runs Tomato.)
Incidentally, this is often the cause of problems with "routers" that people experience --- it's not the (IP) routing part that's giving trouble, as that's stateless and involves not much more than packet forwarding. Things like NAT do involve state, since the router has to assign a port mapping and keep track of (TCP) connection lifetimes. If connections aren't closed correctly or the router misses detecting them for whatever reason, the port mappings will stay in the table until they time out (which may take hours or more) or the "router" is rebooted. The problem becomes more frequent the more devices there are on the network which are making connections.
Personally I couldn't care less about their wifi though - I appreciate the power outlets much more.
Link here: http://cafbit.com/entry/rapid_dhcp_or_how_do
Previous HN discussion here: https://news.ycombinator.com/item?id=2755461
I've had a router start sending me two DHCP offers, with different IPs. The first offer containing an IP outside the range it was supposed to allocate. After my computer tried to accept the first offer, the router started ignoring me.
This behavior survived rebooting the router (and everything else involved), flushing the DHCP table fixed it for some reason.
1) stop giving out leases
2) suffer catastrophic failure in miniupnpd and stop allowing port forwarding
This is a $200AUD device and it's utter trash.
I ask this because OS X's DHCP stack is known to exhibit some strange and unfriendly behaviours: http://cafbit.com/entry/rapid_dhcp_or_how_do
Also it might be interesting looking at a packet capture from both android and mac laptop to see what the difference is.
I tried rebooting the router, but that does not always resolve the problem. However, when I reboot the Mac, the problem goes away for at least a couple of days.
I ended up with an interesting issue where the modem itself would "hang". My ping to Google would skyrocket from 5ms to 3000ms+, my download speed would drop from 250~ megabits to 0.20, the upload speed however would remain constant at about 30Mbps
Rebooting anything and everything had no effect, throwing various kinds of routing equipment in front of the modem (from OpenWRT to PF sense to even OpenBSD) made no difference. Eventually I purchased a "KanKun SmartSwitch". Some cheap Chinese wall adapter that you could power devices on and off using a phone app. Conveniently it ran OpenWRT and was hackable, so I was able to automate simply rebooting the modem when pings spiked into the 4 digit range (pinging Google every 60 seconds with a simple bash script)
I spent months talking to various Comcast departments. Technical Support, Tier 2, Tier 3, NOC, Headend, Engineering. Eventually I was told that (across the 14 states in my "division") there's only about 20,000 of the model of modem I had, simply not enough to be able to establish a problematic pattern (presumably most customers would just reboot the device when it crashed
Frustrated, I noticed on the Amazon store page that there were numerous complaints about the device with the same issue. I assumed it most likely to be a firmware issue, as the headend engineering team could not correlate any changes from my device on the node at the timestamps I gave them, still archived here http://intelminer.com/reboot.txt
Upon speaking to Amazon about a refund or exchange, they referred me to Arris/Motorola citing it was under warranty. Arris/Motorola then "helpfully" explained that they certify everything BUT the software of the device to be functional, as such I was not covered under warranty. (But hey why not buy a Surfboard 6190 instead? it IS newer!)
It seems like almost a racket for planned obsolescence. Release a decent modem, hire some interns to write crap software, then encourage the customer to "upgrade" the "faulty" hardware when they call in. After all, it's not under warranty now is it?
Perhaps because your ISP is responsible for providing and flashing the modem's firmware? That being said, I don't exactly trust Comcast to provide reliable software for my modem.
Also these routers are like swiss army knives they can do everything from DHCP Server to full BGP and MPLS. The only limitation is the CPU, Ram and the Interfaces.
Purchasing a dedicated modem and using an Apple AirPort Extreme was the only thing that resolved the issue, which annoyed me and made me feel like Apple is further locking me into their ecosystem of devices.
https://www.reddit.com/r/apple/comments/2zo1uo/if_you_have_s...
See here for a document from Cisco describing the issue:
http://www.cisco.com/c/en/us/td/docs/routers/access/3200/sof...
interestingly enough, hard setting the channel to 100 might violate FCC regulations, and DFS should still be used...
Now it just randomly stalls TCP connections open until the local node closes them, but allows the remote node to continue receiving packets(!), which is probably the worst thing a TCP system can do aside from simply not connecting.
I quite literally had to attempt this post twice before giving up and connecting to a UDP VPN. I have watched my colleagues cancel and refresh webpage loads for the last few months.
IIRC how wifi does it is that the device signals the router and then shuts down the radio for some 100s of ms. This indicated to the router to hold the packets.
Now if the router do not have a clue about the signal, it would likely treat the device as gone. So when it comes back on and expects to continue from where it left off, the router gets royally confused.
Not sure why doing a dhcp request would fix it though, but then i have not the first clue about OSX innards.