Wednesday, August 26, 2009

Whoop-Eee

On Friday, my latest woot! arrived -- a new ASUS Eee PC 900A (that's the device on the right in the picture, next to my full-size laptop). The Eee PC is one of a new class of laptop computers called a "netbook," so named because it is designed to be minimalist where the primary function is to access Internet services. In addition to being minimalist, it is also small and light -- a third smaller than a regular laptop ("notebook") computer -- making it very portable for carrying around to coffee shops and the like that have wireless network access.

I don't have an immediate need for a netbook right now, but woot! had a good price for this one, and it seemed like I could find some use for it. I can imagine taking the netbook on long car trips or when I'm traveling to visit my parents, as a lighter-weight alternative to the larger, older laptop. It also seems like it would work well in applications where I need to get access to devices (for work) through a serial port, and don't feel like lugging around a laptop in an already cramped network closet.

My initial opinion of the Eee, specifically: The keyboard is a bit smaller than a normal keyboard, so it does take some getting-used to if you have a lot to type (I usually do). Unfortunately, the keyboard also does not have a sturdy feel to it at all, and doesn't lock well into the case, so it feels very spongy. I suspect I will be making some minor modifications to try to correct the sponginess a bit. The display is a crisp 1024x600 8.9 inch display. Some fonts can be hard to read at that resolution and size, but the crisp display does help a lot with that. My unit came with a customized Xandros Linux distribution on it, designed to give Windows users a pretty familiar user environment. I'm not really a big fan of the user interface and have installed my own OS (Gentoo Linux) on it. I could probably customize Xandros to do what I wanted (Xandros is based on Debian Linux) but I personally don't see any advantage to doing this. I was able to connect external USB hard disks and other devices (including a full-size USB keyboard and mouse), and they all worked well. The processor is a 1.6 GHz Intel Atom processor, which is pretty fast but only has 512K bytes of cache, taking the performance down a bit. Despite this, the unit still can play full-length compressed movies without any problem. The battery lasts about 3 hours - however, I read that the unit consumes a good deal of "phantom power" while off, which would lead me to think that keeping it on its charger when not in use would be a good idea. There is a 4GB solid state disk (SSD, a disk made with higher-speed flash memory) that is a bit on the slow side, and a bit tight on space, but for the purpose of this device isn't too shabby. The touchpad works nicely, but the two "mouse" buttons below it are cheap and unpleasant to press. The touchpad responds well, you can do a mouse click by tapping the touchpad, and can simulate a scroll-wheel by sliding two fingers together up and down on the touchpad.

In short, this is not the system I would use for my daily home usage, as my laptop is much better for that. However, for computing on-the-go, this is not a bad machine. Understanding this limitation and remembering that it isn't a replacement for a full-size laptop (although I know people who do) will set expectations accordingly.

One additional issue I have with the Xandros Linux install from a technical point-of-view is the way they manage the SSD. The initial operating system (3.5G worth) is loaded onto the first partition, and the remainder of the disk (500MB) is set-up as an overlay on top of the first partition. In other words, the first partition is mounted read-only, and the second one is overlayed on top of the first to store any changes (deltas) to the first. This isn't the way I would do it, and isn't the most efficient way to handle both volatile (like web page caches) storage and efficient use of the SSD. What I would have done is to leave the OS mounted read/write and make darn sure that there isn't anything writing to the drive in the background. I would put the volatile storage in a RAM disk and overlay that on top of the /var, and maybe /tmp filesystems. Some strategically placed symbolic links could probably handle that well. As I learn more about the unit and prepare my Linux distribution of choice, I will likely head in that direction.

Finally, I discovered a very odd thing about this system and the custom Xandros Linux and the way it controls the built-in wireless adapter. Apparently when you turn off the wireless adapter, the OS has some way of telling the BIOS to disable that device. Yes, you read that correctly - the OS communicates directly to the BIOS and in the BIOS NVRAM the wireless adapter will be set to "Disabled" in the BIOS set-up when you disable it from Xandros. This caught me off-guard when I first installed Gentoo Linux on the system and couldn't get the wireless adapter to work ("What?! It just isn't there!!). I have been unable to find out how, exactly, it does this, but I think it is some special ACPI call and I will eventually find it.

Kind of a summary of the device (vital specs):
  • 1.6 GHz Intel Atom processor (Pentium-M class chip, good stuff)
  • 1 GB of DDR2-400 memory (single module) expandable to 2 GB (supports 533 & 667 MHz, but runs at 400 MHz)
  • 4 GB SSD as a PCI Express Mini card (can be replaced and expanded, 32 GB SSDs are available). The 4GB SSD is a ASUS-PHISON UDMA/66-compatible device. Use the ata_piix driver as it looks to the OS like a standard PATA drive.
  • Display through the Intel GMA950 chipset at 1024x600 on 8.9" display (external VGA port available for external monitor)
  • 3 USB2 ports
  • 10/100/1000 Ethernet port (Atheros AR8121 PCI-E) - uses the atl1e device driver, not in the kernel used for the Gentoo live-CD (or in this case, live-USB stick).
  • integrated 802.11b/g wireless adapter (Atheros AR5212) - uses the ath5k driver in 2.6.27 and beyond, or the madwifi drivers
  • Touchpad is Elantech ETPS/2 - Is getting better Linux support, but as a regular PS/2 style mouse under Linux, it functions similarly to a Synaptics touch-pad, and in fact, there is ongoing work to better support the Elantech device. There are 2 buttons below the touchpad.
  • Audio is Intel's ICH7 (82801G) HD-audio chipset (but is far from HD). Works well. Has an integrated microphone (have not used yet) and speaker(s?) (sounds OK for what they are). There is a headphone and microphone jack on the side of the unit.
  • The Linux version of the Eee 900A does not have an integrated webcam!
  • Has an integrated SD HC slot which appears as a USB device. Booting and using the SDHC and any external USB storage media (hard drives, flash drives, etc.) are fully supported and you can even boot from them. Very nice.
For those unfamiliar with Linux, I add this final footnote: You will notice I use other names before the word "Linux" in the discussion here. Linux (or, more correctly, GNU/Linux) is actually just the kernel, which is the software that manages all the hardware in the computer. The Linux kernel by itself only makes up half of the operating system. The remainder of the operating system are pieces of software that manage interaction between the user and system functions and the kernel, and together with the kernel form what we affectionately think of as a UNIX-like operating system. The word you see together with Linux is the distribution name. Because nobody has really been able to come to a consensus as to what supporting software in the operating system should be included or how it should be added to, updated, or managed, various groups of people have created operating system bundles known as "Linux distributions." Xandros, Red Hat, Fedora, Gentoo, Debian, Slackware, and CentOS are all examples of Linux distributions. Each comes with its own strengths, weaknesses, and guiding philosophy. The good news is that while the distributions are somewhat different, most software inter-operates well between Linux distributions because of the open nature of the software and development and cooperation between the various groups. The same kind structure is present in Windows and Mac OS, but the companies that develop these operating systems have kept the source code tightly-controlled and hidden and dictate what applications/software and kernel are included. This creates a great deal of consistency but limits choice and prevents outside oversight that greatly restricts who can identify/fix bugs and security problems.

No comments: