FC4 on a Toshiba Satellite M40X-RH4

From nikosapi.org wiki
Jump to navigation Jump to search
Satellite M40x.jpg


This article is here for completeness, there probably isn't much valid information left in it (unless you're using FC4).


I chose this notebook because it was affordable and I had previously installed Mandrake 10.1 on a Portege 3110ct without a single problem. This new notebook wouldn't install Mandrake without a fight so I gave up on that and went distro hunting, I found Fedora Core 4 and have been quite happy with it ever since.


The installation was super easy and I had no problems (I'm assuming you aren't getting any either). THIS IS NOT AN INSTALL GUIDE!!! This is merely an attempt to make Fedora (or other distributions) work better with your satellite. If you want a guide, go to: http://www.mjmwired.net/resources/mjm-fedora-fc4.html . I will make a few recommendations...

  1. Install all the development packages, you'll need them if you want to compile anything fancy.
  2. If you do use a three partition scheme (root, home and swap) make sure you leave about 5-6GB for the root partition (I have only root and swap partition).
  3. Try amaroK, it's an awesome program.
  4. If you're feeling brave after your install you can open up a terminal and as root do: yum update
    People always say not to do that but I like having the latest updates.


I found an xorg.conf that has the s-video out working and the vga out as well.
Get it here: xorg.conf.better.gz
To install it open up a terminal and type the following:

su -
cd /etc/X11
cp xorg.conf xorg.conf.bak
wget http://nikosapi.org/software/fc4_m40x/xorg.conf.better.gz
gunzip xorg.conf.better.gz
cp -r xorg.conf.better xorg.conf

Now log out and press Ctrl+Alt+BkSp and everything should be working.
To adjust the speed of the touchpad mouse open up the xorg.conf file and change:

Option       "MaxSpeed"  "1.55"    # Change the number to whatever you'd like

X.org Hardware Acceleration

Note: this is more advanced so deal with it. (kernel re-building)
You may not need this unless you're like me and you want to play tuxracer (yum install ppracer) or quake 3. First make sure that Direct Rendering really isn't enabled by typing this:

glxinfo | grep direct

If the first one says yes then you're in luck, if not (most likely) you'll have to continue.
You need to have a lot of development packages installed to do this, if you don't have any or some install them by running


then under "Development" select everything in the Development Tools section.

And before I begin, most of the commands are done as root so just "su -" before this.
First get the latest kernel and kernel headers:

yum install kernel kernel-devel

Go to: http://download.fedora.redhat.com/pub/fedora/linux/core/4/i386/os/SRPMS/ and get the latest kernel sources rpm. It'll be in this form (replace stars with current numbers): kernel-2.6.**-*.****_FC4.src.rpm
Install the kernel sources:

rpm -ivh kernel-2.6.**-*.****_FC4.src.rpm

Prepare the kernel sources with:

rpmbuild -bp --target=noarch /usr/src/redhat/SPECS/kernel-2.6.spec

To make building easier softlink to the source directory:

ln -s /usr/src/redhat/BUILD/kernel-2.6.**/linux-2.6.** /usr/src/linux

Go to the sources dir:

cd /usr/src/linux

Make sure the build tree is clean:

make mrproper

In the Makefile edit the EXTRAVERSION line to anything you want (you can probably leave it if you're only compiling one kernel, as the default is -prep) Copy the pre-made .config file:

cp configs/kernel-2.6.**-i686.config .config

Run the configuration program:

make xconfig

Under "Character Devices" configure both "/dev/agpgart (AGP Support)", "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)" and all the intel drivers that are available as MODULES. Here's what's the easiest configuration would look like:


After you're done, save it and run:

make && make modules_install && make install

If it finishes without any errors reboot and select your new kernel from the list. For some weird reason it might change your xorg.conf file, go to here to set it up again. Once it's working run

glxinfo | grep direct 

and see if the first line says yes, if it does run glxgears and see how many fps it's running at, it should be around 770. If it's not working e-mail me at mailto:nikosapi@gmail.com and I'll see if I can help.

DMA on the Multi drive

This is a very simple fix that doubles the read/write speed of your dvd/cd-rom drive.
First get the latest kernel (get 2.6.15 or later to be safe):

yum install kernel

To /etc/modprobe.conf add:

options libata atapi_enabled=1

Back-up grub's menu.lst:

cp /boot/grub/menu.lst /boot/grub/menu.lst.backup

Now open it and duplicate the most recent entry and add

idebus=66 hdc=noprobe 

to the duplicated kernel's boot options. Here's an example:

title Fedora Core (2.6.15-1.1833_FC4)
       root (hd0,0)
       kernel /boot/vmlinuz-2.6.15-1.1833_FC4 ro root=LABEL=/ rhgb quiet
       initrd /boot/initrd-2.6.15-1.1833_FC4.img
title Fedora Core (2.6.15-1.1833_FC4) Fast CDROM
       root (hd0,0)
       kernel /boot/vmlinuz-2.6.15-1.1833_FC4 ro root=LABEL=/ rhgb quiet idebus=66 hdc=noprobe
       initrd /boot/initrd-2.6.15-1.1833_FC4.img

Your cd/dvd-rom drive will now be known as "/dev/scd0" but should still be accessible through "/dev/cdrom". My menu.lst.


Wifi is easy enough to get running using the madwifi driver
You need: kernel-devel, svn, sharutils and regular development tools (if you haven't installed them by now please do, open up a terminal type /usr/bin/system-config-packages then click details in the development tools and take everything) Note: These instructions may become outdated please check with http://madwifi.org/wiki/UserDocs/FirstTimeHowTo to make sure everything is still kosher.

First install what you need (this is if you have your development tools, also you might want to update your kernel while you at it):

yum install kernel-devel sharutils Just add "kernel" to that list to get the newest kernel as well.

Download the latest madwifi sources:

svn checkout http://svn.madwifi.org/trunk madwifi-ng

Now enter the new source directory:

cd madwifi-ng

Compile it with:


As root install it with:

make install

Here's a simple bash script to get it working:

/sbin/modprobe ath_pci
/usr/bin/wlanconfig ath0 create wlandev wifi0 wlanmode sta

#put your router's essid between the quotes
/sbin/iwconfig ath0 essid ""

#put your router's wep key between the quotes
#if you don't need wep comment out or erase the following line
/sbin/iwconfig ath0 key ""

/sbin/iwconfig ath0 mode managed
/sbin/iwconfig ath0 rate auto
/sbin/dhclient ath0

Just copy it to a file then save it, chmod +x it and run it. You can always add this script to your /etc/init.d/ (it's a little more involved than that but there are other tutorials to show you how to accomplish that).

Any improvements, suggestions, corrections can be e-mailed to: mailto:nikosapi@gmail.com