Poplar ProductivityWare Articles:
Installing Ubuntu Linux on an Everex StepNote SA2053T Laptop
by Jennifer Hodgdon

In July 2007, I decided to purchase a new computer for my business. Here are the considerations that went into my decision:

Given these considerations, I researched the available computers, read reviews on several sites, and ended up finding a really good price on an Everex StepNote SA2053T laptop. I brought it back to my office, installed the battery, plugged it in, and the adventure began. Since it wasn't straightforward to get the laptop working with Linux, I decided to write this article to describe the process. The article is pretty long and fairly technical, but I hope it will be useful to anyone who wants to install Linux on this model of laptop, or any other laptop with similar hardware components. Contents:

You may also be interested in seeing the Ubuntu testing report I submitted on this laptop.

One more note: This laptop is apparently not manufactured by Everex, and there are some other manufacturers that sell the same or similar laptops under different names. So, I believe that much of this article applies to the following types of laptops (I can't be certain, but it appears so); some may have slightly different components:


Summary and Thoughts

Overall, I would have to say that getting Linux to run on this particular laptop in July of 2007 was not easy -- it should be a bit better now, but you still cannot expect everything on the computer to "just work".

The process made me appreciate the complexity of the hardware inside the computers most of us normally take for granted. There are many different graphics cards, wireless cards, and other components built into computers (and especially laptops); almost none of the functionality of the chips these components contain is standardized. This means that someone has to write a "driver" program for all of the components that appear in your laptop. The component manufacturers generally create drivers for Windows, but not many of them have been interested in supplying information (or better yet, open-source driver code) to the people working on Linux. So, the Linux crew has taken on the huge task of trying to support every piece of hardware you might have in your computer. They've done an amazing job, but not everything on the laptop I purchased works well with Linux, and lots of what I did get working required some effort to figure out.

If you are considering purchasing a laptop to use with Linux, and want to avoid problems, my advice would be to find one that is known to work well ahead of time. Another possibility is to purchase a laptop with some version of Linux pre-installed; there are now at least 20 vendors selling such laptops (including some well-known manufacturers, such as Dell and Lenovo). Here are some sources for finding reports, advice, and pre-installed Linux computers:

Back to table of contents


Initial Installation

The first step in setting up a Linux laptop is to pick a Linux distribution, obtain an installation disk, and install. While you might expect this to be the easiest step, on this particular laptop, it wasn't. We tried current (as of July 2007) versions of Ubuntu, Fedora, Mandriva, Knoppix, Sabayon, DSL, and SimplyMepis; none of them would get past the kernel booting stage [see Update below, though!]. We also tried some older versions of Fedora that my partner (a Linux enthusiast, and Linux systems administrator) had, but they suffered the same fate. Turning on verbose output, we found that the boot process was hanging in the step where it tried to load the "8139too" kernel module, which is the driver for the Ethernet card in this laptop. Later on, we found out that loading the "sdhci" module, which is the driver for the SD/MMC card reader, also caused the kernel to hang.

After an extensive Internet search, and trying various boot options that worked on other laptops (but not for me), we finally came across this web site about installing Linux on an Averatec 2460 laptop. Not only did the author have the same problem as me, but he provided an alternate install disk for download, which worked. Since the site provided an Ubuntu 7.04 "Feisty Fawn" install disk, that is the distribution I chose.

Update: As of April 2008, you should be able to install Ubuntu Linux without the headaches described in the previous two paragraphs! The Ubuntu folks changed the way they compiled the kernel (which fixed the 8139too module problem), the Debian folks added some installation options (which allow you to "blacklist" the sdhci module during installation), and the Ubuntu folks put the installation option on their "alternate" installation CD. Together they made it possible to install Ubuntu on this laptop -- here are the steps (Note: I haven't actually tried them, since I already had Ubuntu installed on my computer, and was able to just upgrade, but I do think they will work):

Disk Partitions:

When I did my installation, I made custom partitions as follows during the install:

Other Kernels/Distributions:

If you want to compile a different kernel that will load on this laptop, or use a different distribution, there are two things you need to do. We've verified that making these two changes allows the kernel to load, and that not doing them causes the system to hang so badly that alt-sysreq does not even work, requiring a hard reboot, with kernel versions 2.6.20, 2.6.22, 2.6.23, and 2.6.24. These changes should be applicable to any distribution of Linux, since it is a kernel problem:

Back to table of contents


Upgrading to New Ubuntu Versions

Upgrade to Ubuntu 7.10

In October 2007, Ubuntu released version 7.10 "Gutsy Gibbon", to replace 7.04 "Feisty Fawn". In hopes of being able to use a dual-head extended monitor system, I decided to upgrade. Here are the steps I took, beyond the suggestions on the Gutsy Upgrade page. Probably not all of them were necessary, since the upgrade ended up going fine, but I wanted to know I could revert to Feisty if I needed to. Here is what I did:

Upgrade to Ubuntu 8.04

In April 2008, Ubuntu released version 8.04 "Hardy Heron", to replace 7.10 "Gutsy Gibbon". This upgrade was exciting, because (as noted above) for the first time, I was able to use the linux kernel that came with the distribution. So I was a little less cautious during the upgrade. Here is what I did:

Back to table of contents


Post-Install Issues and Resolutions

After installing Linux, much of the laptop worked fine, but there were a few issues that I noticed immediately, and some more that the Ubuntu laptop testing procedures uncovered. Some of the issues were resolved quickly; others required a lot of trial and error, and extensive web searching; a few remain unresolved.

Here is a short list of things that worked fine after the initial Ubuntu 7.04 install (the Laptop Testing Page I created has more details on some of the tests):

The following sections give details of things that didn't work perfectly initially, telling how I eventually resolved them (if I was able to), and other things I tried that didn't work to resolve the issues. I have left out details of basic Linux commands, basic Linux knowledge, how to install and remove software on Ubuntu (apt-get), how to run commands in a terminal, how to make shell scripts, how to download source code and read instructions to get it to compile, and how to edit files. If you lack knowledge of these things, a good place to start is the Ubuntu Documentation Home Page. Also note that most of the commands shown below have to be run as root (or prefaced with "sudo").

Back to table of contents


Display and Graphics

This laptop has a wide screen that supports 1280x800 maximum resolution. However, after installation the maximum screen resolution available through the System / Preferences / Screen Resolution menu item was 1024x768, and all of the available resolutions had the wrong aspect ratio (i.e. they were not wide-screen resolutions). I also wanted to be able to use an external monitor for two purposes: (a) to extend the desktop ("dual head") across both screens, and (b) to mirror the desktop (e.g. to do a presentation with a projector).

To solve the resolution problem in Ubuntu 7.04 Feisty, there are two solutions I know of:

  1. Install the "915resolution" package (apt-get install 915resolution). This package hacks the Intel graphics card bios (temporarily) to overwrite its internal resolutions. With this solution, I could set up dual-head operation by modifying the xorg.conf file, and using Xinerama (there are various guides for this on the Internet -- search for "xinerama xorg.conf dual-head", or try this guide). However, this solution had a couple of problems:
    • Mirroring the laptop onto a non-wide-screen monitor didn't work well (the left edge of the screen was cut off, making it unusable for presentations).
    • The display-related hotkeys (the function keys that are supposed to blank the monitor, switch between internal and external display, and adjust brightness) irreversibly turn off the display (both internal and external), necessitating a hard reboot.
    • To get things to display on the external monitor, if it hadn't been connected before, you have to completely reboot (not just restart X-Windows by typing ctrl-alt-backspace).
  2. Install the intel X-windows video driver, in place of the default i810 driver (apt-get install xserver-xorg-video-intel; you will also want to remove 915resolution if you previously installed it, and you can go back to the i810 driver with apt-get install xserver-xorg-video-i810). This is a new driver for Intel graphics cards, and it supports multiple screen resolutions. The brightness hotkeys work, although the other display hot keys don't seem to have any effect. You can connect an external monitor and just restart X, without rebooting, to make it display. A few difficulties with this solution:
    • When a non-wide-screen external monitor is connected at X startup time as a mirror, only non-wide-screen resolutions are offered, and the laptop screen is cut off at the bottom. This is OK for doing a presentation, however, as the audience would have the full display. Disconnecting the external monitor and restarting X gives you back the laptop-correct display.
    • Xinerama does not work with this driver, so setting up dual head would require getting the development version (1.2) of the "xRandR" x-windows extension, but it won't work with the version of X-Windows in Feisty.

After upgrading to Ubuntu 7.10 Gutsy, which has xRandR 1.2, dual-head works fine on the intel driver. However, the screen resolution problem of wide-screen vs. non-wide-screen still applies. I am probably going to get a wide-screen monitor; I might also see if I can find out how to fix the monitor resolution issues, because they might be fixable. See this page on the Debian wiki for information about how to use xRandR to set up monitors. I found it to be the most complete reference, but there is an error on the page: in the /etc/X11/xorg.conf file, to tell X-windows to have a large virtual size, you need to put in

Virtual width height
not
Virtual width x height
Also, the height has a maximum of 2048 pixels on this laptop.

Back to table of contents


Wireless

Update for Ubuntu 8.04

In Ubuntu 8.04, the wireless card works fine with the new "rt73usb" driver that comes with the kernel, and the Network Manager application that comes with the Gnome desktop. So none of the notes below are necessary -- just make sure (using lsmod) that the only "rt73" driver that is being loaded is called "rt73usb", and you should be fine.

What type of card do I have?

When I first installed Ubuntu, I was able to plug in an Ethernet card and connect to the Internet with no problem. However, the wireless card did not work so well -- I attempted to configure it through the Network Manager application, but although the Network Manager could scan for and locate wireless access points, it was never able to connect to any of them, using either open access or WEP authentication. I also tried some other network management and diagnostic tools, such as wifi-radar, but nothing gave me anything very useful, or allowed me to connect to a wireless router.

I next tried a whole series of steps I found on the Internet, under the mistaken impression that I had a Broadcom BCM4318 wireless card (which was on the Everex page for this laptop). These included loading the bcm43xx kernel module, the bcm43xx-fwcutter application (which was supposed to extract information from the card's firmware), and ndiswrapper. None of these helped.

Then I realized that I actually have a wireless card that is on an internal USB hub, called the "RT2571WF", and based on a Ralink RT73 chip. This was on a different specifications page on the Everex web site -- apparently they changed manufacturing to this chip at some point, and not all the documentation had been updated. So, I started over with trying to find a working driver.

Drivers

The Ubuntu installer sets this wireless card up with the "rt73usb" driver. This driver wasn't working in Ubuntu 7.04, so I had to blacklist that module to prevent it from being loaded (add it to /etc/modprobe.d/blacklist).

Then I had to find a driver that worked. The two main drivers out there for this chip are the Ralink-provided driver (the company actually supports Linux, and has provided open-source drivers), and the one from Serial Monkey (an open-source project working on a new and improved Ralink wireless driver that will support several chips). Both could be downloaded, built, and installed from source, following instructions in their README files. Note that you might have to chmod and fromdos the Ralink files after extracting the archives. Also note that as of the 2.6.23 version of the Linux kernel, the Serial Monkey driver is included in the kernel.

Both drivers compiled under the 2.6.20 kernel. To get the Serial Monkey driver working, I had to have the full kernel source configured, present, compiled, and currently running. The Ralink driver compilation was not quite that picky. I currently prefer the Serial Monkey driver; see below for details.

Using the Ralink Driver

The Ralink driver works, but it has a few issues. First, it doesn't work well with the Network Manager application (Network manager doesn't recognize the device correctly, and I had to reboot every time I wanted to switch wireless networks or switch from wired to wireless). The Ralink driver also doesn't support scanning for wireless access points, at least not with any utility that I have found, and the RUtilT utility provided by Serial Monkey does not work with the Ralink driver either. So, to use the Ralink driver, you need to remove the Network Manager (apt-get remove network-manager), and manage your network connections with shell scripts.

If you want to build some scripts of your own for the Ralink driver, rather than using the SerialMonkey driver (much easier, see below), here is the procedure I was using to connect to a wireless network, before I got the Serial Monkey driver and RUtilT working (commands are in parentheses where appropriate):

  1. Figure out the SSID for the wireless access point (ask someone who is working in your vicinity, if you are at a coffee shop or library).
  2. Edit the /etc/Wireless/RT73STA/rt73sta.dat file, putting in the SSID information (and passwords, if you need them). There is documentation on what to put in that file in the README file that comes with the RT73 driver source code; it's pretty straightforward. The driver source also comes with provide a sample file.
  3. Unload and reload the rt73 kernel module (rmmod rt73; modprobe rt73). This will cause the rt73sta.dat file to be re-read. You might also be able to do this through iwconfig commands, but I am not sure about that.
  4. Bring your wired Ethernet interface down (ifconfig eth0 down). Bring the wireless interface up (ifconfig rausb0 up).
  5. Assuming you are using DHCP to obtain an Internet address, run the DHCP client command (dhclient rausb0).

If you want to switch back to wired Ethernet, it's a bit simpler (assuming your /etc/network/interfaces file has the information for the wired Ethernet network in it): just bring the wireless interface down (ifconfig rausb0 down), and then bring the Ethernet interface up (ifconfig eth0 up). Try "man interfaces" to get information on what to put in the /etc/network/interfaces file. The one Ubuntu sets up for you by default is also likely to work.

Using the Serial Monkey Driver

Once I got the Serial Monkey driver to compile correctly, I found it worked much better than the Ralink driver. You'll still need to get rid of the Network Manager, and do some scripting to bring down the wired-ethernet driver, load the rt73 module, and bring up the wireless interface (this was called wlan1 for me under Feisty). But Serial Monkey supplies an interactive GUI-based utility called RUtilT, which will scan and connect to wireless access points, so it's a lot easier to use than the Ralink driver. (You can get the source for RUtilT from the same web site as the driver source, see above.) Note that you need to run RUtilT as root, if you want to use DHCP -- the built-in RUtilT utility for acting as root did not work for me.

After updating to Ubuntu 7.10 Gutsy, I found that the Network Manager had been reinstalled. Also, the wireless interface for some reason was called wlan0 instead of wlan1. But other than that, the Serial Monkey driver and RUtilT work fine under Gutsy, with the 2.6.20 kernel I was using before. I also compiled the 2.6.23 kernel, booted into it, then downloaded the most up-to-date source code for the Serial Monkey rt73 driver, and it compiled, installed, and worked fine. I didn't have to re-compile the RUtilT utility -- the one I had seems to be just fine under Gutsy with the 2.6.23 kernel.

When I upgraded to the 2.6.24 kernel, things were not so good. First off, things have changed a bit: the Serial Monkey drivers are now included in the kernel source. So, first I updated my kernel configuration to compile those drivers, and tried to use the new "rt73usb" module. Although this module works with the command-line network configuration tools (ifconfig, iwconfig, and iwlist), it doesn't seem to work with either the Network Manager or the RutilT utility (Network Manager doesn't seem to talk to it at all or offer any hope of scanning, connecting, etc.; RutilT hangs when I try to scan for wireless channels, making it impossible to connect to them, and it has to be killed with a "kill -9" command. This is in spite of upgrading to the latest RutilT utility). I also tried compiling the latest source for the legacy rt73 driver from the Serial Monkey web site (which I have been using since kernel version 2.6.20 without trouble), but the interface it generated couldn't even be brought up with the ifconfig command, so RutilT couldn't talk to it at all. So, it appears that I can use the rt73usb driver from the kernel source, but I'll have to use the command line utilities to connect to actual wireless access points. This is annoying, but not really fatal. I might eventually investigate whether there are other wireless scanning utilities that might work, but I haven't yet. Since the standard "sudo iwlist wlan0 scanning" command does work, probably GUI-based utilties would too.

Again, after updating to Ubuntu 8.04, everything works "out of the box" -- Network Manager and the "rt73usb" driver work together, and I can connect to open-access, WEP, and WPA wireless networks.

Back to table of contents


Touchpad

The touchpad mouse on the laptop worked initially, in its basic operation. However, there were two minor issues: (a) I kept hitting the pad while typing, which acted as a mouse click, and often meant I had mistakenly clicked into a different window and was no longer typing where I meant to type, and (b) the scroll sections along the right and bottom edges didn't work.

The resolution of these two issues was pretty easy: All I had to do is to add the following line in the "Synaptics Touchpad" section of the /etc/X11/xorg.conf file, and the scrolling worked:

Option "SHMConfig" "on"

Then I downloaded the qsynaptics application, which allows me to turn off the tapping behavior whenever it gets annoying (apt-get install qsynaptics). It can either be run from the command line, or added to the menu system (I put it in the System / Preferences section of my Gnome desktop menus).

In Ubuntu 8.04, qsynaptics is not available. All you have to do to manage the touchpad is to go to the System menu, and choose Preferences / Mouse. The touchpad tab controls these options.

Back to table of contents


Card Reader

The card reader on this computer apparently should use the "sdhci" module as a driver. However, when this module is loaded into the kernel on the laptop (which is the default in every distribution we tried, and prevented installation), the computer locks up (see Initial Installation section above). So, for now the card reader is not working. I did search for alternate drivers, but didn't find any for this particular card reader.

An external USB card reader worked just fine when I plugged it in (it mounted as a "generic external storage device", automatically). Also, I can connect my digital camera to the laptop with its USB cable with no problem, and download the pictures. So the fact that I can't use the card reader is not a huge roadblock for me. The fact that Linux install disks don't work on this laptop because of the card reader driver is a bigger issue, of course. I do plan to do some more debugging on this issue.

Back to table of contents


Modem

This laptop (like many others) is equipped with a "Win-Modem" internal modem, which is to say that on Windows operating systems, the modem works via software that uses the sound card to generate tones, and pipes the sound out the telephone jack. For more information, visit the Linmodems Support page.

The modem did not work initially -- software that tried to use the modem reported that there wasn't a recognized modem on the computer. After reading the Linmodems site, and trying their diagnostic tools, I downloaded the latest source code for the Smart Link Soft Modem driver (slmodemd), and attempted to compile it with ALSA support. Several software applications then recognized the modem, and they would engage the phone line, but none of them was actually able to dial out. I have not made time for further debugging yet, but it appears to me that the problem is in generating the sounds or getting them to the modem. Anyway, I do not really need the modem at this moment, so I'll probably look at it at some point again, but I am not sure when.

Back to table of contents


Playing DVDs

For reasons related to Digital Rights Management and copyrights, Ubuntu does not distribute software capable of playing DVD movies on its install disk -- see the Ubuntu Restricted Formats page for more information. Following the instructions on that page, I installed the "Ubuntu Restricted Extras" and the libdvdcss2 package. I also switched to the "Xine" Movie Player (the default "Totem" player did not work for me, for some reason), and this allowed me to play DVD movies.

Back to table of contents


Sound Recording

There is a known bug in Ubuntu 7.04's Gnome Sound Recorder -- it doesn't work. So I initially thought the microphone or sound card was not working, until I found the bug report. Then I downloaded the open-source Audacity package (apt-get install audacity), and it works fine, so I do know that the sound card is working fine. It did require connecting an external microphone (the jack is conveniently on the front of the case).

Back to table of contents


System Specifications

Here is a detailed list of system specifications for my laptop. This list is compiled as a composite of information from the Everex web site and the output of commands such as "lspci -nn" and "lsusb" (for those who want the gory details):

Back to table of contents


Poplar ProductivityWare: your Seattle-area source for web databases, web programming, Palm OS applications, and analytical/modeling software

Home | Web Programming | Custom Software | Articles | Downloads | Testimonials | Values | Contact Us

Poplar ProductivityWare® is a trademark registered in the U.S. Patent and Trademark Office

Copyright (C) 2003-2008 Poplar ProductivityWare LLC

On This Site:

Home: See an overview of the company

Web Programming: Find out how we can improve your web site

Custom Software: Learn about our custom Palm OS and analytical software services

Articles: Get free information on a variety of topics

Downloads: Download free software

Testimonials: See what other clients have said

Values: Learn about the values that govern our business, and read our privacy policy

Contact Us: Locate our phone, email, and mailing addresses


RSSRSS Feed: Keep track of our new articles and downloads by subscribing (learn about RSS here)


Search the Poplar ProductivityWare site using Google: