Another Long Winding Cisco Road

So, lately I’ve been investigating buying new routing and networking equipment for home, as the NBN (Australia’s FTTH roll-out) is coming closer and my old ADSL2+ modem/router (a Billion 7800NL, one of the first consumer routers capable of IPv6) was getting a bit long in the tooth; the configuration is not retained across reboots and the web interface crashes with HTTP 500 errors more often than not.

So, out with the old an in with the new. There were a few choices:

  • A new consumer-grade router, such as one of the newer models from Billion (which are quite good, but have low tinkerability).
  • A Mikrotik-based solution. This was a close call, as I’m a fan of Mikrotik and my friend Jamie is even more of one (he loves them). However, I want to get more experience with Cisco products as I want to be able to put that on my résumé. Hence, I wanted a Cisco solution.
  • I also considered the Cisco 2801, as they are not much more than an 1841, but have four HWIC slots instead of two, so I wouldn’t have to spend time deciding which HWICs to get, I could just have them all! However, the fans are apparently very loud (as professional rackmount gear tends to be) which would not suit the living room locale very well at all.
  • So in the end I settled on a Cisco 1841. Lower fan noise, still supports HWICs for swap-out fun and excitement, and has the full features of the IOS software available.
My new Cisco 1841
My new Cisco 1841

You may have noticed I didn’t go for a Cisco 1801 which has ADSL support built in. This is deliberate, as the NBN is closing in on my street and I don’t want to be left with a router that supports old technologies – all I will need for a fibre connection is an ethernet port, which the 1841 has two of out of the box. I can also add in 3G backup connections (which is more of a want than a need) as well as things like WIC-1AM or WIC-2T modules (i.e. utterly useless but kind of cool).

For wireless, I’m undecided as to what direction to go in. I definitely want something dual-band (2.4GHz and 5GHz) as my laptop supports dual band and I want to invest in technology that will last at least a couple of years. This rules out most consumer gear quite quickly. A Mikrotik solution is another option and is probably the front-runner. The second option is a UniFi AP Pro, which supports a whole host of cool features like multiple VLANs and SSIDs etc; it’s a little cheaper than a Mikrotik solution but also a lot less flexible. Finally, the most expensive option is to buy a wireless card for the 1841. There are many problems with this approach: I’ll use up an HWIC slot, the modules are incredibly expensive, it’s not even 802.11n, likely to be a complete pain in the neck to configure, and not dual-band. The only benefit is that it keeps everything in one box.

I’ve only received the router in the last week or so, and the eBay auctions for WIC modules haven’t yet finished. There’s a long way to go yet. So wish me luck on my path to routing enlightenment!

Why I Have A Home Server

Home Server
My current HP Microserver and ADSL gateway.

It’s pretty much impossible to use a computer these days without also using the Internet. It’s also pretty much impossible to use the Internet without using a cloud service of some kind. Most people I know depend on cloud services entirely, but not me. There are several good reasons I have my own servers, including my own home server.

It’s a learning experience. This is certainly one for the geeks, but hey, I’m a geek. By running my own servers  I learn about the building blocks of the Internet. I’m a professional systems administrator, and my own home environment is a good place for me to try out things that I don’t get to try at work, or don’t have time to. Part of IT is constantly learning, and that’s what I try to do.

I can run whatever software I want. I’m not limited by whatever Google decides to put into Gmail. I can run my own Exchange server if I want (I do). It may not be free software, but it gives me huge advantages in syncing between devices. If I want to try something out, I just can.

My own privacy is assured. I don’t have to trust my email provider that they aren’t reading my emails or looking through my online backups. I only have to trust myself with my data, and if you can’t trust yourself, who can you trust? I don’t have anything to hide, but I think we should value privacy far more than most people currently do. After listening to Jacob Appelbaum at linux.conf.au in January 2012, I’m assured of this.

I run backups to my own server, and for geographic protection send self-encrypted files to the cloud. I use GPG to encrypt my data, and so should you. I know DropBox and other like services say they encrypt your data so they can’t read it, but how would you ever know?

I will admit that running a home server can be more expensive than trusting the cloud with all my data, as I have to pay for hardware (I spend about $500 a year just on server hardware, but you could spend much less), for power, for a static IP address, and for software licensing (I spend $450 a year here, but with free software I could spend much less).

All in all, running my own home server gives me great satisfaction, confidence in my own abilities, more freedom and more privacy, at the expense of some time (though now it’s up and running, I probably do 10 minutes of maintenance a month) and a bit of cash. Not a bad deal.

Cisco Catalyst 3550 Fan Mod

First of all, the usual warning: I take no responsibility for any harm done to yourself or your equipment if you decide to take my lead and mod the fan on your switch. It’s your fault for listening to some guy on the Internet you’ve never met.

A little while ago I acquired some old 3550 switches from a friend, and I haven’t used them much because they’re horrifically loud. Recently though, I decided to try and make them quiet enough to leave on in the living room. While I didn’t succeed, I made enough of a difference that I thought it might be worth sharing.

Please note that this mod isn’t going to work if your switch is a) under warranty; b) installed in an equipment rack with hot/cold aisles; or c) you don’t like taking the cover off equipment that has 240v inside.

Basically, the gist is this: The fan inside the switch has a cover on it. By removing half of the cover (the half that isn’t attached to the fan motor) and then mounting the fan upside down, you reduce the vibrations of the fan’s casing. Please also note that the outlet fan is thus turned into an intake fan; it takes cold air from the back of the router and blows it over the power supply unit.

The finished fan installation. Much quieter!

Research on the Internet (#cisco on Freenode and some forums) led me to decide that complete removal of the fan wasn’t an option, due to the switch overheating. I then wanted to replace the fan with a quieter computer fan, but the connector, though the same, is wired differently. Though I own (and can operate) a soldering iron, I’m also quite lazy. Turning the fan upside down (as suggested by a friend) was much easier!

Update 2011-08-17: I initially tried this with my non-PoE switch. Today I tried this with my PoE switch and tested it running a few PoE devices. It quickly overheated, so I don’t recommend this with the PoE (inline power) models.

TP-Link Homeplug AV200 Review

A few months ago I moved in with my girlfriend (yay! :D), and this necessitated the moving of all my computer equipment to her house. At my old place, I had strung Ethernet cables all down the hallway between the various rooms, and although aesthetically unpleasant, certainly did the trick. Moving in with my girlfriend meant I could no longer have the freedom to string cables everywhere. It looked horrible, somebody was going to trip on something eventually, and being in a rented house meant that we had to keep the place looking half-decent (Ethernet cables, surprisingly enough, are not everybody’s idea of a home decoration). So what to do?

My first thought, naturally enough, was to hook up some wireless adapters. This plan worked very well for one area of the house (where my server rack now sits), but horribly for another (where my desktop is). I read about the new-fangled Homeplug idea, which involves sending Ethernet frames over the AC power network in our home. I was dubious, but intrigued; Homeplug seemed to be the solution to my problems, in theory:

  • Turns existing cables that are in every home into a computer network.
  • Doesn’t use up valuable space in the wireless spectrum.
  • Devices can just plug in via standard Ethernet, without the need for drivers.

Of course I decided to give it a go! I hurried on down to my local computer store and bought myself a pair of Homeplug adapters, these ones made by TP-Link (who, despite being Chinese owned and operated, make some excellent equipment). I plugged one in near my router and cabled it in, and plugged the other end in near my desktop computer. Unfortunately I had to plug it in via the powerboard due to the size of the adapter, but according to the documentation makes no difference. I immediately noticed several problems:

  • The network is slow. Very slow. The theoretical speed of these Homeplug adapters is 200 Mb/s straight out of the box, which should compete with 802.11n very nicely. The real speed I got was 10Mb/s, which is slower than the Internet connection we have. Not good.
  • The whole Homeplug network is a single collision domain. For the un-Ethernet-savvy, this basically means that the 10Mb/s I mentioned above is shared between every device plugged in via Homeplug, instead of standard Ethernet where every device would get 10Mb/s to itself.

Worst of all though, was this:

  • If my desktop was plugged in via Homeplug, every two or three seconds, for no reason other than that Homeplug was plugged in, my computer would freeze. I have no idea why. I reinstalled Windows and used a different Ethernet adapter, and it made no difference at all. On the other hand, Homeplug worked absolutely fine in every other computer I plugged it into.

In the end, I couldn’t stand my computer pausing every three seconds to think, so I gave up on Homeplug (I handed the adapters to my housemate, who is successfully using them to plug a wireless black-hole in his bedroom). I’m now using a top-end wireless adapter and a strong aerial, and it seems to be working.

As an aside, I read that Homeplug does have serious security issues in it’s out-of-the-box configuration. You have to set up something similar to wireless network security in order to prevent your neighbours from connecting to your Homeplug network.

Basically, the short version is this: Homeplug is an awful idea, and avoid it if at all possible. Just use wireless, which is faster and far better tested. But if you are going to buy a Homeplug adapter or two, buying the TP-Link models isn’t a bad idea, they’re pretty decent.

linux.conf.au 2011 – Day 1

Today was the first proper day of linux.conf.au, which is being held this year in Brisbane. This morning we were treated to a welcoming speech by conference organiser Dr Shaun Nykvist, and a presentation on the Google Summer of Code happening this year. In the welcoming speech, Shaun detailed how the organisers and volunteers had to work against water and time to get the conference ready despite Brisbane’s horrific flooding:

“I’ve got some lovely photos of our old venue with sandbags against the flood zones. It’s a shame the sandbags were about three metres lower than the water.”

After morning tea (some very lovely cakes and biscuits were provided) it was time for the Miniconfs. During the morning session I attended the Open Programming Miniconf, organised by my friend Chris Neugebauer. The first talk was about perl5i, which is a package of library modules for perl that makes it an almost usable language (almost, I don’t think that there is anything can truly save it). It was very interesting stuff, seeing how the syntax and semantics of a language can change. The speaker (Michael Schwern) was brilliant as well, which is always nice.

The next talk was about the F# programming language, designed by Microsoft. Brian McKenna’s speaking wasn’t great (but it was his first big talk, so that can be forgiven). Although I dislike the idea of languages that run on top of runtimes (such as JVM and .NET), F# looks like a good invention. Indeed, it’s basically where Microsoft develops and tests features that might be useful to put into C#.

After that was a talk by Brianna Laugher on generating English-language text using software tools, from a set of data. She was using it as part of her job at the Bureau of Meteorology to automate the generation of weather reports from their models. The idea was hugely interesting, and something that I want to implement. However, I didn’t really understand how the generation itself worked… quite a few arcane symbols seemed to be in use. I think I got the general gist though.

The final talk before lunch was about Go, the programming language developed at Google. I originally thought Go was a programming language for children, but I’ve now been set straight. It looks like something to test out… which is being added to my very long list of stuff to try now.

After lunch I went to see two talks from the Haecksen Miniconf. The first was about how open source software can help save the world, mostly by developing open source software to fix natural disaster problems, and doing it really really quickly and cheaply. The second was about setting up an overly-complicated home network, an area with which I am well acquainted.

Then it was back to the Open Programming Miniconf, where I learned about the demise of Java (basically, the Java community is dead, but Java itself will probably survive, and the JVM will definitely survive). The final talk before afternoon tea was about how to create compilers for the JVM using a parser written in Scala. Unfortunately due to the use of Scala I lost most of the detail of the talk, it went straight over my head. Which is a pity, because I was really looking forward to that talk. Ah well, guess you can’t win them all. After all this though, I was really interested in designing programming languages and compilers. I might have to give it a go.

During the final session of the day I was treated to a brilliant talk by Adam Harvey, who is a PHP developer (i.e. actually develops the PHP interpreter) telling us about the state of the PHP language. It seems Debian Stable is hugely out of date… but this is nothing new. He’s a great speaker, and I look forward to hearing his talk tomorrow, even though I don’t know what it’s about.

Last up was Jethro Carr, a hacker from NZ I know from attempting to complete his 30 Days of Geek challenge. He talked about the software revision control management tool thing he wrote, and talked about the benefits of using such software. Personally I quite enjoy using Redmine, but it’s requirement for Ruby means that I might be looking for an alternative when I get around to setting up my own installation. Currently I use the Quokforge service, run by one of my friends on OSDev.org.

So that was day 1. Or rather, the official day 1. Since then I’ve bought a printer and been to an Irish pub. More LCA news coming tomorrow, I hope.