« Google Approach to TCO (Total Cost of Ownership) | Main | My old office building being demolished for Apple's new campus »

Experimenting with Powerline Networking

My Wi-Fi home network has been coming short in many ways: My daughter's computer next room and just 15 feet away from the wireless router drops out of the network every now and then and most of the area upstairs gets either no or very weak signal. Assuming that this is due to low strength signals from the built-in transmitters in the Linsys router, I purchased and installed an external Airlink 101 8dbi directional Antenna. This helped a bit but didn't eliminate the problem.

I would have perhaps lived with these problems but then it became a showstopper, at least in my mind, for my (future) pet home project: upgrading the laptop powering the home radio system to run MythTV near TV in the hall upstairs and providing TiVO like capability without its monthly expense.

During last few days I seriously entertained the option of running CAT5 cable all over the house and have a wired LAN. But this is no small task. Besides, I couldn't think of a way to hide the wires from sight. Almost 100% sure that Veena, my wife, wouldn't approve of wires all around the house, I finally dropped this idea.

I had almost lost the hope of a fully networked house when the idea of a powerline based home network hit me. Did some reasearch on the web and then without losing time went to the local Frys and found Netgear Wall-plugged Ethernet switches, model XS104 on the shelf. The rated bandwidth of 85Mbps seemed pretty good. So, I went ahead bought two of those.

Plugged one of those switches to an electric socket near the LinkSys router and connected them with a CAT5 cable. The other switch went to the socket near my daughers' computer and the accompanying CAT5 cable connected completed the connection. Although not as clean as wireless network, it didn't add too much wire clutter and it worked flawlessly.

But did it deliver the rated bandwidth of 85Mbps? To verify I decided to run a few bandwidth measurements using the simple but effective pcattcp program. Under this measurement, one computer runs pcattcp program in receiving mode and another in sending mode. By default, the sender sends 2084 packets of 8KB data buffers one after another and the receiver discards the data. At the end, the sender displays the measured transfer rate in KB per second.

I took many measurements involving a sender computer and a receiver computer under different connectivity. The sender is always connected to the Router by a CAT5 cable but the receiver is connected to the network in different ways:

  1. Through the same Rounter. Reported bandwidth: 11,400 KB/s

  2. Through the Wall-Plugged Switch that connected to the Router. Reported bandwidth: 11,400 KB/s

  3. Through the Wall-Plugged Switch plugged-in to the socket in the next room. Reported bandwidth: 1,360 KB/s

  4. Through the Wall-Plugged Switch plugged-in to the socket upstairs in a far corner. Reported bandwidth: 990 - 1,150 KB/s

Note that the direct connection (through the Router or the switch directly connected to the Router) gives a bandwidth of 11.4 MB/s which is very close to the 100Mbps rating of the router and LAN cards (A byte is close to 9 bits in data transmission!). However, the observed bandwidth of 1.3 MB/s over Powerline network in two adjoining rooms is much less than the rated 9.7 MB/s ( 85*11.4/100 ) and gets even worse over a slighly longer distance.

Although I am not happy with the fact that the real performance is nowhere close to the promised performance, it is a lot better than my existing 802.11b Wi-Fi network and the connections appears to be much more stable.


This page contains a single entry from the blog posted on March 3, 2006 10:20 PM.

The previous post in this blog was Google Approach to TCO (Total Cost of Ownership).

The next post in this blog is My old office building being demolished for Apple's new campus.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.33