August 16, 2009

IEEE 802.11n has an energy consumption issue

You can nowadays easily find laptops and routers powered by IEEE 802.11n, which are usually advertised as 5~10x of performance boosters to your wireless network. However, none of smartphones has it. Why is this happening?

As a performance enhancement technology for a physical layer, MIMO has been adopted in IEEE 802.11n, and the standard requires at least two antennas for MIMO operations. This, however, is equivalent to have at least two radio chains, which are in fact the most power-consuming component in a wireless device.

To avoid such an energy issue, an awkward approach is being taken: IEEE 802.11n with single antenna. That will have full MAC layer performance enhancement and part of the physical layer specified by IEEE 802.11n such as 40 MHz channel and higher coding rate, only lacking MIMO part. Broadcom announced this approach at the end of last year:

Excerpted from NETWORKWORLD
...
The 65-nanometer chip supports 11n in both the 2.4GHz and 5GHz bands, and can run simultaneously in both. Given the constraints of handset size and power, the chip supports only one 11n data stream and one antenna, compared with notebooks or access points that typically support two or possibly three streams, each with a corresponding antenna. The chip's Wi-Fi performance maxes out at 50Mbps of wireless throughput, according to the vendor. That's still nearly twice the throughput of 11a or 11g Wi-Fi.
...

Similarly, Marvell, whose has the only 802.11n products with three spatial streams by three antennas, also announced its new chip-sets that do the same as Broadcom in Jan, 2009:

Excerpted from PCMAG.COM
..
Until now, mobile phones have been stuck at slower 802.11g speeds because 802.11n required chips and antennas that are too large to fit into a mobile-phone form factor. The 1x1 single-stream 802.11n solution can take 802.11n down to a chip as small as 50 mm square, which could easily fit into a phone. That could boost cell-phone Wi-Fi speeds by several times. The 1x1 802.11n chips are available to manufacturers today, he said.
...

This is quite against the communication theory that tells us that even if the total transmit power is fixed, MIMO can give you multiple times of throughput performance. It sounds to me that manufacturing IEEE 802.11n chipsets somehow imposes artificial constraints to the design itself. And this point is where the protocol research should be worked.





April 25, 2009

Install NX server on Ubuntu Hardy 8.04

NX sever is useful as it can give you secured connection for complete GUI work environment. You can think of this as remote desktop in Windows. This note explains how to install NX server on Ubuntu distribution since the installation instruction provided by NoMachine (here) was not enough for me to quickly have it done.

I suppose that you have one machine running Ubuntu (server) and one another (client) for your daily work running any OS. The following installation instruction is executed in the client machine.

0. Preparation
0.1 You need SSH and SFTP servers running in the server side for installation. Make it sure they are running.

0.2 The installation of NX server requires administratator privilege. You should be able to run "sudo" command with your account.

1. To your local disk, download Debian version of NX client, node and server (you indeed need all at the server side). I'm using NX Free Edition for Linux on http://www.nomachine.com/select-package.php?os=linux&id=1.

2. Upload *.deb packages, which you've just downloaded, to your home directory on the Ubuntu server. You may want to use SFTP client program such as FileZilla (http://filezilla-project.org/) for doing this.

3. Open a SSH session to the server, using any SSH client program such as Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/). Install the packages that you downloaded by running dpkg utility.

sudo dpkg -i nxclient_X.Y.Z-W_i386.deb
sudo dpkg -i nxnode_3.3.0-17_i386.deb
sudo dpkg -i nxserver_3.3.0-22_i386.deb

You may have some warning for printer configuration file access. I ignored it because I don't need it.

5. Update the configuration file /etc/ssh/sshd_config;
(1) add "nx" to the list of allowed users

AllowUsers thkim rakesh nx

(2) add the next line for NX to get authentication information

AuthorizedKeysFile /usr/NX/home/nx/.ssh/authorized_keys2

If you encounter a problem, see this thread: here.


6. Restart SSH daemon to make the new configuration effective.

sudo /etc/init.d/ssh restart

7. Stop the server (it may have been stopped already) and restart it by running:

sudo /usr/NX/bin/nxserver --stop
sudo /usr/NX/bin/nxserver --start

8. Check the status by:

sudo /usr/NX/bin/nxserver --status

You must be able to see

NX> 900 Connecting to server ...
NX> 110 NX Server is running.
NX> 999 Bye.

It's all done!

Note)
It's possible not to get connected to a machine with a new security key if you have old information about it. In my case when I installed a new server on the machine that had been used as a server with a different OS, I had to delete My Documents/myname/known_host.