Skip to content
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

Let's make campjs 2014 local network connectivity awesome. #3

Closed
eugeneware opened this issue Aug 14, 2013 · 91 comments
Closed

Let's make campjs 2014 local network connectivity awesome. #3

eugeneware opened this issue Aug 14, 2013 · 91 comments

Comments

@eugeneware
Copy link

Wifi and local network connectivity was a big challenge for the last campjs. Let's all put on our propeller hats and think of creative ways to make the next campjs better.

@eugeneware
Copy link
Author

My suggestions:

  1. Worse case - set up a wired network for the large hacking areas. Still have WIFI, but that should be option B, not option A.
  2. Look at setting up a separate "presenter/staff only network" to make sure that speakers can at least get the access they need to deliver their material in the best possible way.
  3. Get some wifi conference guru to help us with the issue.
  4. Ban any local wifi hotspots as they will contribute to the wifi contention.
  5. Have our local campjs server on a wired connection.
  6. Add some 3G routers to supplement the internet connectivity with some good external antennas to maximise the local camp bandwidth.

@aussiegeek
Copy link
Member

I don't have advanced wifi knowledge, but happy to help in general with making networking and such more awesome

@eugeneware
Copy link
Author

@timoxley
Copy link
Member

The device we currently have at the internet source, as recommended by a network dude is a RB2011UAS-2HnD-IN:
523_l

At the campsite also had 3 of these UniFi AP units:

"Our standard model 802.11n MIMO UniFi AP. Capable of speeds up to 300 Mbps with a range of up to 400 ft."

ubnt-uap-1

@timoxley
Copy link
Member

@geoffreyd @mipearson you may want to chime in on this with what you observed/learned. I noticed things were a lot smoother after @mipearson had a proxy set up.

@mipearson
Copy link

So, @geoffreyd did the initial improvement by moving one of the UniFi APs into the main hall, thus sharing the ~100 device load over two aps. These APs are rated to above 30 devices per AP, not 50 or 100.

My work was simpler: I set up a transparent proxy. This had three benefits:

  • we could block dropbox, youtube, apple software update
  • frequently accessed resources were cached
  • requests were sequentially queued at the proxy layer, reducing NAT & packet load on the border

@geoffreyd
Copy link

Yup, the load balancing was the biggest improvement to reducing local packet loss, and the proxy for reducing internet packet loss.

Personally, I'm not sure I'd go for the UniFi AP's again, unless we had a whole bunch. I've seen much better performance from Airport Extremes, and easier setup to boot.

If we where to have Internet again, I think we might be better of blocking all access unless through a non transparent proxy, this means it would need to be intentionally setup, so only those who really wanted it would get it.

The router we got was great, while configuring it wasn't as easy as something like IPCop, it was very powerful, and changes went into effect immediately (most devices need to reboot for changes).

Banning local hotspots will help, but also providing separate 2.5 & 5Ghz networks will also help spread the load. I think if we have a solid wireless setup, we shouldn't have any need to provide a separate presenter one.

@nog3
Copy link

nog3 commented Aug 14, 2013

It's important to note that some Macs with broadcom wifi will have issues with network equipment. Unifi stuff is usually pretty solid but it may be worth investigating a mac-only network or really just a separate g and n network.

@sidorares
Copy link
Contributor

My 2c: create raspberry pi image to use PIs (without any additional configuration) as access point (i think we had over 10 PI in total, maybe 20). Have ethernet hub with enough cables for all PIs. Install some advanced dhcp/dns/http proxies. I'm happy to try to implement dns/dhcp part in node.

@timoxley
Copy link
Member

The PI solution sounds interesting, especially since the devices are so cheap.

@geoffreyd
Copy link

Having so many access points in the same area seems like it would cause
alot of noise ... 2.4ghz only really has 3 non overlapping bands (1, 6 &
11) ... I guess we'd have to see if this is more of an issue than too many
devices on the same channels.

Can the Pi's to 5gz? if they can, then we could spread things out more.

With getting the Pi's to be AP's are they able todo 'extended networks', as
in allowing devices to seamlessly move between AP's ... this is something
the UniFi's and Airports can do, but is not a standard feature for many
wireless devices.

DNS/DHCP is not an issue, the router that we already have is more than
capable of doing this, and has a nice interface for it.

Geoffrey D.

On Thu, Aug 15, 2013 at 11:16 AM, Tim Oxley notifications@github.comwrote:

The PI solution sounds interesting, especially since the devices are so
cheap.


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-22679404
.

@mipearson
Copy link

This sounds clever, but risky: has this been attempted before with over 100 clients?

Remember that each AP needs to sit on its own channel, and those channels have crossover.

@mipearson
Copy link

Oh. What @geoffreyd said :)

Paging @wolfeidau to the thread

@sidorares
Copy link
Contributor

@geoffreyd - I only tried 2.4Ghz usb wifi with PI (you can get them for 5 to 12$) 5Ghz seems to be more expensive - http://www.ebay.com/bhp/usb-wireless-adapter-5ghz - 20 to 50$

@mipearson
Copy link

Worth noting that the dual-band Airport Express is much cheaper at $120/unit than the dual band UniFi PRO at $270/unit.

I agree with @geoffreyd, and I think we should just buy a few airport express units and leave it at that.

@eugeneware
Copy link
Author

I agree. The airport express option is sounding pretty good. I guess we put them into bridge mode and hard wire the expresses to the main router? That way the main router can handle the NAT / DHCP management without melting down.

Were the APs at campjs this year wired together with ethernet?

@mipearson
Copy link

Correct. Also, I suspect the bigpond modem (not the routeros unit) handled NAT&DHCP, which may have been part of the problem. Not 100% sure on this though.

@geoffreyd
Copy link

Yeah, we had Cat5e connecting all the AP's and the router was doing the
NAT/DHCP/DNS.

I'm not sure about the newest Airport express's, but the old (non apple tv
looking ones), couldn't handle lots of connections, it was the Airport
Extremes that stood up well. Given that they also do duel band, this would
help spread the load.

Geoffrey D.

On Thu, Aug 15, 2013 at 12:25 PM, Eugene Ware notifications@github.comwrote:

I agree. The airport express option is sounding pretty good. I guess we
put them into bridge mode and hard wire the expresses to the main router?
That way the main router can handle the NAT / DHCP management without
melting down.

Were the APs at campjs this year wired together with ethernet?


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-22681520
.

@geoffreyd
Copy link

@mipearson The net connection was double NAT'd, so the bigpond router saw our router as the only device. The biggest issue was just the pure number of connections ... I think having a manual proxy would eliminate a number of these issues.

@mipearson
Copy link

According to apple, both the most recent Express & Extreme handle "up to 50 simultaneous users". No idea what that means in real world terms.

@mipearson
Copy link

I agree with the manual proxy idea, btw.

@geoffreyd
Copy link

Yes, but in real life, they do closer to ~150 pretty well. This post linked to by @eugeneware above seems to agree.

It might be that the expresses have upped their game recently.

@iamkevinv
Copy link

I'm not convinced that we really need to manual proxy - kind of defeats the purpose of providing a network at all if we need people asking us "please sir, may I have some Internet?".

If we really enforce the Internet free campjs idea then that's probably appropriate, but as interesting the idea is, I think campjs needs Internet. The transparent prox and other systems in place did really well, the only thing I feel we need to hit on the head is the number of LAN connections. Once you had a connection the Internet speed was more than good enough.
I'm actually really keen to do research into using a mesh network at campjs. The more people you have, the better it works. It's an area of interest for me, so ill check it out. We'd end up patching in the endpoints of a network back into the AP's or cat5.

Also FYI, as much as I love raspberry pi, they aren't great networkers. The 10/100 on board is actually on the USB bus, and uses CPU.
Also, I've not got 5ghz dongles to work under raspian. I spent ages and compiled the drivers required for one I have, and it will work great until it drops the connection every 20min.
Forget it for now.

@iamkevinv
Copy link

Eugene's points 4,5,6 are really good to put in place. Wifi scanning tools periodically can ping hotspots and name and shame and block :-)

@chrisdewar
Copy link

I am also pro-internet... even bad internet is better than no internet.

Regarding airport express's - it seemed there were a lot of apple users at campjs 2, i'll bet more than a few have airport express's - i know i keep one in my gadget pack as an essential. What about BYO airport?

@timoxley
Copy link
Member

Is there some easy way we can load test a solution prior to the camp?

@colingourlay
Copy link

Yes, have everyone connect at once from phones and laptops at a BrisJS. That should give us 40+ devices.

@chrisdewar
Copy link

@timoxley
Copy link
Member

tl;dr.

@eugeneware
Copy link
Author

@rvagg what file system is on the USB stick? Does it need linux? Guess we
could plug into @mjpearson's linux minserver?

Definitely bring it along though!

On Thu, May 15, 2014 at 10:03 PM, Rod Vagg notifications@github.com wrote:

no magic recipes with npm at the moment, I'm in the process of redoing the
way that npmjs.org.au does it cause everything's changed at npmjs.org for
replication.

but I have a 256G SSD-style USB stick just for npm which I'll be
bringing and can either plug it in to someone's computer to host npm or put
my Raspberry Pi on the network to do it (and cross my fingers...)


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-43201066
.

Eugene Ware
Chief Executive Officer

Phone: +61 3 9955 7041
Email: eugene@noblesamurai.com
Twitter: @eugeneware http://twitter.com/EugeneWare

Noble Samurai Pty Ltd
Level 1, 234 Whitehorse Rd
Nunawading, Victoria, 3131, Australia

noblesamurai.com http://www.noblesamurai.com/ | eugeneware.com |
facebook.com/Eugene.S.Ware http://www.facebook.com/Eugene.S.Ware

@timoxley
Copy link
Member

@mipearson @rvagg if @eugeneware brings his mac mini then we should be set for server I guess, though is it a good idea to drive infrastructure from the same machine that we're allowing users to upload their apps to?

@SomeoneWeird
Copy link
Member

@eugeneware @mipearson **

I can probably bring my old laptop along and we can use it as a server if needed. It's pretty beefy, just without a hdd atm.

@rvagg
Copy link

rvagg commented May 15, 2014

I think I have it as ext4 atm but I can be flexible if need be. Perhaps I should also set up npm as a Docker container to alleviate some of the CouchDB pain involved in making it actually run.

@timoxley
Copy link
Member

@mipearson I'm happy with whatever you're suggesting, your call!

@timoxley
Copy link
Member

What's pros/cons of the Gigabyte Brix vs NUC @rvagg suggested?

@eugeneware
Copy link
Author

@rvagg would love an npm Dockerfile! :-)

On Thu, May 15, 2014 at 10:08 PM, Rod Vagg notifications@github.com wrote:

I think I have it as ext4 atm but I can be flexible if need be. Perhaps I
should also set up npm as a Docker container to alleviate some of the
CouchDB pain involved in making it actually run.


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-43201428
.

Eugene Ware
Chief Executive Officer

Phone: +61 3 9955 7041
Email: eugene@noblesamurai.com
Twitter: @eugeneware http://twitter.com/EugeneWare

Noble Samurai Pty Ltd
Level 1, 234 Whitehorse Rd
Nunawading, Victoria, 3131, Australia

noblesamurai.com http://www.noblesamurai.com/ | eugeneware.com |
facebook.com/Eugene.S.Ware http://www.facebook.com/Eugene.S.Ware

@mipearson
Copy link

@timoxley seems to work fine for railscamp :)

Your call on whether you want to run stuff off of Eugene's machine to save a few bucks this round or set up something a bit more permanent.

Question is still open re gear for other spaces. If Eugene brings his airport expresses, we're okay. Thinking of people trying to run demos in rooms, that sort of thing

@rvagg You're right - that wipes about $100 off the price of the miniserver.

@mipearson
Copy link

Okay. Bedtime. I'll be heading to scorptec tomorrow to get these items. If we do go with a campjs-specific miniserver I'll configure it over the weekend.

@timoxley
Copy link
Member

@mipearson yeah just get the server.

@eugeneware also plan to deploy this dokku business up to a server somewhere afterwards. I'd like to be able to do an appname.iii.campjs.com so each camp's demos can live on after the camp is over.

@timoxley
Copy link
Member

may be worthwhile getting this up and running on the server https://github.com/cdnjs/cdnjs

@mipearson
Copy link

@timoxley Doing more research: even with the pro, we will probably still have issues as you can only put a certain number of devices on each radio. Also doing a bit of googling I've found anecdotes of issues with Apple devices (which is consistent with my experience at out office - I just thought it was my laptop).

One thing I didn't also know is that airport express will allow roaming.

So, what I'd like to do is forgo the purchase of the unifi pro for now. We have one that we use in our office environment that I'll bring instead as a tester - then we can see how well it performs and grab some for next camp. (it won't impact office connectivity - it's used nearly exclusively by the IT team, of which all will be at camp!)

@eugeneware Can you confirm that you'll be bringing airport expresses to campjs? And what generation? Will you be coming in on the Friday afternoon/evening? If not, I'll purchase a few tomorrow.

@mipearson
Copy link

@geoffreyd
Copy link

I'm also bringing my Airport Extreme (flat style, non-dual band, N 2.4 or 5gzh) and Airport Express, so we should be able to share the load.

@eugeneware
Copy link
Author

Hi @mjpearson,

I'll be bringing 2xlast gen airport expresses (2.4ghz), and 1xcurrent gen
(dual band) airport express. I think the 2.4ghz can't take many
connections, but the current gen one can.

And yes, I have them set up at home for roaming. My set up at home is that
they are all connected via ethernet, and they just broadcast on the same
SSID and WPA details.

I'll also bring a last gen (but dual band) airport extreme (the flat one,
not the tall one).

Cheers,

Eugene

On Fri, May 16, 2014 at 7:07 AM, mipearson notifications@github.com wrote:

@timoxley https://github.com/timoxley Doing more research: even with
the pro, we will probably still have issues as you can only put a certain
number of devices on each radio. Also doing a bit of googling I've found
anecdotes of issues with Apple devices (which is consistent with my
experience at out office - I just thought it was my laptop).

One thing I didn't also know is that airport express will allow roaming.

So, what I'd like to do is forgo the purchase of the unifi pro for now. We
have one that we use in our office environment that I'll bring instead as a
tester - then we can see how well it performs and grab some for next camp.
(it won't impact office connectivity - it's used nearly exclusively by the
IT team, of which all will be at camp!)

@eugeneware https://github.com/eugeneware Can you confirm that you'll
be bringing airport expresses to campjs? And what generation? Will you be
coming in on the Friday afternoon/evening? If not, I'll purchase a few
tomorrow.


Reply to this email directly or view it on GitHubhttps://github.com//issues/3#issuecomment-43265301
.

Eugene Ware
Chief Executive Officer

Phone: +61 3 9955 7041
Email: eugene@noblesamurai.com
Twitter: @eugeneware http://twitter.com/EugeneWare

Noble Samurai Pty Ltd
Level 1, 234 Whitehorse Rd
Nunawading, Victoria, 3131, Australia

noblesamurai.com http://www.noblesamurai.com/ | eugeneware.com |
facebook.com/Eugene.S.Ware http://www.facebook.com/Eugene.S.Ware

@mipearson
Copy link

Excellent news. If that works well CampJS can buy some of their own for next camp.

My big worry is purchasing hardware and then having it not actually work in real world conditions :/

@mipearson
Copy link

Hi.

Who took home the cabling from the last campjs? Reasonably sure it wasn't TEG (we got NaN & the Routerboard). @SomeoneWeird ? @eugeneware ? @deoxxa ? @cgiffard ?

@SomeoneWeird
Copy link
Member

Not me, maybe @rvagg ?

@rvagg
Copy link

rvagg commented Oct 27, 2014

No, I had limited capacity for taking stuff home because I flew, I'm guessing @eugeneware who may also have the wine glasses? Unless someone's driving up from Melbourne I'll probably be having to buy new glasses for QLD.

@cgiffard
Copy link

Not me, sorry! I had a bagful of my own stuff to bring back on the plane.

2014/10/28 10:06、mipearson notifications@github.com のメール:

Hi.

Who took home the cabling from the last campjs? Reasonably sure it wasn't TEG (we got NaN & the Routerboard). @SomeoneWeird https://github.com/SomeoneWeird ? @eugeneware https://github.com/eugeneware ? @deoxxa https://github.com/deoxxa ? @cgiffard https://github.com/cgiffard ?


Reply to this email directly or view it on GitHub #3 (comment).

@eugeneware
Copy link
Author

Hi. I have the cables, joiners, some coffee machine and @rvagg's wine glasses too. I can't make it this weekend due to a family wedding. But happy to drop the off to a plane mule in Melbourne if someone has luggage allowance to spare. I live in Glen Waverley

@weilu
Copy link

weilu commented Oct 28, 2014

@dcousens Are you coming up from Melbourne?

@dcousens
Copy link

Indeed I am
On Oct 28, 2014 3:34 PM, "Wei Lu" notifications@github.com wrote:

@dcousens https://github.com/dcousens Are you coming up from Melbourne?


Reply to this email directly or view it on GitHub
#3 (comment).

@dcousens
Copy link

I won't be able to fit much... But I'll take anything I can.
On Oct 28, 2014 3:34 PM, "Wei Lu" notifications@github.com wrote:

@dcousens https://github.com/dcousens Are you coming up from Melbourne?


Reply to this email directly or view it on GitHub
#3 (comment).

@eugeneware
Copy link
Author

It's all good. I've posted the cables up using Express Post. Should get there by the camp start. Tracking link: http://auspost.com.au/track/track.html?id=99601129587201004572503

It was addressed to @timoxley.

@SomeoneWeird
Copy link
Member

Boss!

@dcousens
Copy link

Close? 💃

@SomeoneWeird
Copy link
Member

Close!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests