Getting Fedora Core 3+ to Work on an Alienware Area-51M 7700 Notebook

I purchase my Alienware Area-51M 7700 Notebook in December 2004. At that time, Alienware did not support Linux, and that has not changed as of June 2005. Here are the hurdles I had to cross to get Fedora Core running on my notebook.

1. PATA Port Is Not Supported - Must Use SATA

At the time of my order, Alienware did not provide any SATA drives for the web customization of this model notebook. (As of June 2005, they do have an SATA option for a hard drive.) This was my first hurdle. Alienware uses a Promise SATA378 TX2plus IDE controller. This controller provides support for two SATA hard drives and a single PATA channel (containing a primary and secondary). The Linux kernel supports this controller; however, as of June 2005, support for the PATA port is not beyond preliminary in the development branch of libata. (http://linux.yyz.us/sata/sata-status.html#tx2) Not having time to become a kernel hacker right now, I finally broke down and ordered an SATA drive and the corresponding cable from Alienware. (Note that only one cable can be used; therefore, I had to pull the PATA drive out.) Fedora Core 3 now installed just fine.

2. Grub Did Not Install Properly - Had To Run Manually

Note: I did not have this problem while installing Fedora Core 4. Maybe it was a fluke. Maybe it was because it was a new drive the first time. Maybe it was a FC3 bug. I'm not going to worry about it.

This may have nothing to do with Alienware. The installation proceeded without problems until the first reboot. After the bios screens, I was greeted with a flashing cursor in the top left corner of a black screen. Booting into rescue mode with the FC3 DVD, I was able to chroot /mnt/sysimage and see that everything appeared to be fine with the installation on the hard drive. After much playing around, I finally determined that all I had to do was run:

grub-install /dev/sda
Now a reboot brought grub up as expected, and I was able to complete the installation process. I'm still not sure what caused this, but the solution seems simple enough.

3. NVIDIA Support For 1440 X 900 Resolution - Create Modeline

Note: Fedora Core 4 caused problems in general. If you download the NVIDIA driver from nvidia and allow their installer to compile it like I do, be sure to turn off SELinux before you compile it. Otherwise, attempts to use the glx Module will keep you from getting the nvidia server to run. I was able to turn SELinux back on after I installed the nvidia driver. Perhaps livna has a pre-built nvidia driver? I've got mine working now, so I won't mess with it.

I chose to purchase the "Area-51m 7700 Case with 17" WideXGA+ 1400 x 900 LCD Display - Xeno Grey" case. That description seems to be in error. Searching Alienware's Knowledge Base for "Resolution 7700" led me to the following specifications:

Specifications of the 17.1" 1440x900 WXGA display

  * Manufacturer: LG Philips
  * Model Name: LP171WX2
  * Clear Bright (Gloss finish): No
  * Active Area[mm]: 367.2  x 229.5
  * Outline Dimension[mm]: 382.2 x 244.5
  * Thickness[mm]: 6.2
  * Resolution: 1,440 x 900
  * Aspect Ratio: 16:10
  * Pixel Pitch[mm]: 0.255
  * Number of Colors: 262,144 (6-bit)
  * Luminance[cd/m2]: 200(5p)
  * Color Saturation(%): 6.18
  * Weight[g]: 700
  * Contrast Ratio: 350:1
  * Viewing Angle:
      o Up 120
      o Down 120
      o Left 140
      o Right 140
  * Response Time[ms]: 25
So the resolution is actually 1440 x 900. But this is not a default resolution for Xorg (at least in Fedora Core 3). LG Philips' web page gave me no better information. After some Googling, I determined that I had to generate and add a Modeline to the Monitor section of my /etc/X11/xorg.conf file. I then had to add this mode to the Modes line of the appropriate Display subsection of the Screen section.

Reviewing my current /var/log/Xorg.0.log showed that EDID returned HorizSync values of 29.0 - 55.0 and VertRefresh values of 0.0 - 60.0, so I changed these to attributes of the Monitor section appropriately. This also implied that I was looking for a modeline at 60 Hz or less. Further Googling led me to the command:

gtf 1440 900 60 -x
However, the values returned gave me an hsync greater than 55.0. I stepped the refresh down 1 Hz at a time, but once the hsync got under 55.0, the Xorg log still complained about the clock being greater than a maximum of 100.0. I had to go down to 56 Hz before I got a working modeline:
  # 1440x900 @ 56.00 Hz (GTF) hsync: 52.08 kHz; pclk: 99.16 MHz
  Modeline "1440x900_56.00"  99.16  1440 1520 1672 1904  900 901 904 930
This worked.

Convinced I could do better, I did more Googling and found http://www.dkfz-heidelberg.de/spec/linux/modeline/ The online tool did not support 1440 x 900, but I downloaded the two C programs. Compiling and running the dot clock variant:

gcc modeline_dot.c -o modeline_dot
./modeline_dot 1440 900 100
provided me with a better (IMO) modeline:
  # V-freq: 58.28 Hz  // H-freq: 54.35 KHz
  Modeline "1440x900_100dot" 100.00  1440 1496 1616 1840   900  900  902 932
This is the mode I'm sticking with for now. So my Depth 24 Modes line looks like:
  Modes    "1440x900_100dot" "1024x768" "800x600" "640x480"
I have, at times, noticed a thin yellow line down the far right side of my screen, but it is not always there.

4. Sound Not Auto Detected - Upgrade

I am not 100 percent sure that I had a problem; I only had Fedora Core 3 installed for a couple of days. However, during that time, I noticed that I couldn't adjust my volume, which usually means that the system believes no sound card is configured. Fedora Core 4 detected the sound card and successfully played a test sound during the installation. If there was a problem in FC3, FC4 seems to have alleviated it.

5. Internal Wireless miniPCI Card Not Supported In Mainstream Kernel - Use MADWIFI

I chose to go with the "Internal Wireless 802.11a/b/g miniPCI Card" option. My notebook came with a miniPCI Card based on the Atheros AR5211 chipset (PCI ID: 168C:0013). After Googling, I determined that my best option is to use the Multiband Atheros Driver for WiFi (MADWIFI) Linux driver. (http://sourceforge.net/projects/madwifi/ and http://madwifi.sourceforge.net/dokuwiki/doku.php)

I pulled the madwifi-0.0.20050227-1.src.rpm package from Patrick Pichon. (His site was linked from the getting_madwifi page of the MadWiki.) I did the standard:

rpm -ivh madwifi-0.0.20050227-1.src.rpm
cd /usr/src/redhat/SPECS/
rpmbuild -bb madwifi.spec
cd ../RPMS/i386/
rpm -ivh madwifi-0.0.20050227-1.i386.rpm madwifi-module-0.0.20050227-1_2.6.11_1.1369_FC4smp.i386.rpm
modprobe ath_pci
I then added alias ath0 ath_pci to /etc/modprobe.conf.

Now, I able to manipulate the device from the System Settings -> Network GUI as usual.

6. Sound Not Working for Enemy Territory - Modify rc.local

This is probably not strictly a Fedora Core problem nor an Alienware problem. However, since it is a step I had to take to get a "working" computer, I'll document it here. Simply add the line:

echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
to /etc/rc.d/rc.local. To get it to work the first time without having to reboot, run that command as root; putting it in rc.local will ensure the proper behavior after reboot.