Quick Search:

Return to Quick Linux Tips

Installing Red Hat 8.0 on Toshiba Satellite 1115-S103 (v1.5)
Last modified: Friday November 9, 2012

There is also a Red Hat 9 Version of this document.

Before I start I'd like to thank Rick Richardson and Chris Elmquist who are the ones who figured out most of this stuff. I'm just documenting their suggestions.

The Toshiba Satellite 1115-S103 is a low priced but fairly high performance laptop. It has a 1.50 GHz Celeron procesor and comes with 256MB of RAM and a 20G hard drive. It also includes a DVD-ROM drive, 14.1" TFT XGA (1024x768) display, 10/100 ethernet, modem, three USB ports, parallel port, TV and VGA outputs. What it doesn't contain is a floppy drive (although there appears to be room to add one), serial port or PS/2 keyboard/mouse port. Full detailed specs can be found HERE.

Preparing for the install

It comes pre-installed with Windows XP which I shank using Partition Magic 7.0 to a much smaller size. I then used PM to create a 50M /boot partition, 1G swap partition and the remaining space for /.

Install Red Hat 8.0

Use this command line to boot off Disc 1:
boot : linux nopcmcia
If that doesn't work for you try the following instead:
boot : linux nopcmcia nousb
Install Linux normally. When prompted for monitor type choose "Generic Laptop Display Panel 1024x768". Otherwise install it as you like.

Updating PCMCIA driver

The PCMCIA driver as shipped with Red Hat 8.0 is broken and will not work. What will happen is at bootup time you will get an error such as the following and the system will lock up:
Starting pcmcia:  PCI: No IRQ known for interrupt pin A of device 02:04.0.  Please try using pci=biosirq
PCI: No IRQ known for interrupt pin B of device 02:04.1.  Please try using pci=biosirq
I tried the suggestion and used pci=biosirq but that didn't make any difference. What you need to do is disable the PCMCIA driver and update it to a newer version if you want to use PCMCIA devices.

Once installed you'll need to boot in single user mode to disable PCMCIA. When you get the GRUB screen select the default kernel and hit A to append the word single  to the boot command line as follows:

grub append> ro root=LABEL=/ single
This will cause the kernel to boot single user and give you a command line before the PCMCIA driver gets loaded. You can then disable to startup of PCMCIA as follows then continue with the boot process:
sh-2.05b# chkconfig pcmcia off
sh-2.05b# exit
At this point I recommend you register with Red Hat Network and fully update your system before continuing. After that is done make sure you also have the latest kernel-source module installed. The easiest way to do that is with the following command run as root:
# up2date kernel-source
Make sure you reboot with the latest kernel just to make sure. Download the latest PCMCIA drivers from http://pcmcia-cs.sourceforge.net/ftp/. I used the latest at this writing which is pcmcia-cs-3.2.3.tar.gz.

Now do the following as root:

# cd /usr/src/linux-2.4
# make mrproper
# cp configs/kernel-2.4.18-i686.config .config
Note that the version may be different when you run this. The latest kernel was 2.4.18 when I wrote this.
# make menuconfig
You may use make xconfig  if you prefer but you'll need to have stuff like Tk installed.
Go into General Setup .
Select PCMCIA Support  and hit N  to turn it off
Go up one level by hitting Esc then scroll down to Power Management 
Make sure Power Management support  is turned on
Make sure ACPI support  and Advanced Power Management BIOS support  are turned off
Exit all the way back out and Exit saving changes 
# make dep
# make bzImage
# make modules (This takes a while, about 30 minutes)
# make modules_install
# make install
This will cause a new kernel called kernel 2.4.18-19.8.0custom to be built, installed and added to the GRUB menu. It's a good idea to remove the current broken PCMCIA driver and reboot:
# rpm -ev kernel-pcmcia-cs
# reboot now
Make sure you select the new "custom" kernel you just built above. Now you can build and install the new PCMCIA driver. Start by untaring it in /usr/src then:
# cd /usr/src/pcmcia-cs-3.2.3
# ./Configure
Linux kernel source directory [/usr/src/linux-2.4]: 
Build 'trusting' versions of card utilities (y/n) [n]: 
Include 32-bit (CardBus) card support (y/n) [y]: 
Include PnP BIOS resource checking (y/n) [n]: 
Module install directory [/lib/modules/2.4.18-19.8.0custom]: 
Notice that I chose the defaults for everything. Your Module install directory will vary by kernel release you are using but the default it finds should be fine.
# make all
# make install
# service pcmcia start
# chkconfig pcmcia on
The last line turns PCMCIA support back on after a reboot so only do that if you have no problems up to this point. If everything works you should make sure you're always booting the custom kernel. Edit /etc/grub.conf  and make sure default=0  which makes the most recent kernel the default.

Power Management

The most correct way to get power management working is with ACPI. However I was never able to make it work. I would get frequent lockups so it wasn't worth the trouble yet. See below if you are brave enough to try.

If you want basic power power management to just work use the latest Omnibook module to which Rick contributed code to make them work on the Toshiba 1115. The key is the Omnibook module includes APM emulation that at least allows the battery monitor to work. You can follow the directions on Rick's Page or follow the directions below.

Grab the latest Omnibook module, at the time of this writing located at http://prdownloads.sourceforge.net/omke/omnibook-2003-01-07.tar.gz?download. Untar the file in /usr/src 

Go to the /usr/src/omnibook-2003-01-07  directory and do the following:

# make
# make install
Congrats, you now have a module built. To load it automatically at boot time you need to add the following line to /etc/rc.local  in the start section:
insmod omnibook apmemu=1 user=1
You should now have some new files:
# ls /proc/omnibook
# cat /proc/omnibook/dmi
# cat /proc/omnibook/battery
# cat /proc/apm
If all those files are there then the Gnome battery meter should work accurately. After that if you want the screen to blank correctly you need to do something REALLY ugly.

Set up your screensaver by going to the Red Hat and select Preferences -> Screensaver. Set the mode to Blank Screen Only with your preferred blanking time. There is no point in setting a pretty screen saver since you will only see it for about 1 second. Then you can install the following Perl script named lightwatch complements of Rick:

use strict;

#  This handy script watches when the screensaver activates and
#  toggles the lcd backlight.  You won't see more than a 
#  second of the screensaver, so you might as well chose one
#  which consumes few mips.

$ENV{'PATH'} = '/bin:/usr/bin';
delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'};

# $<=0;  # become root not just effective root

open(XS,"/usr/X11R6/bin/xscreensaver-command -watch|") or die;
while(<XS>) {
   if(/^BLANK/i) {
      system("echo off > /proc/omnibook/lcd");
   } elsif(/^UNBLANK/i) {
      system("echo on > /proc/omnibook/lcd");
After you install that script in your home directory and make it executable go to the Red Hat and select Extras -> Preferences -> Sessions then select Startup Programs then click Add and add the full path to the script to the list of commands started when you log in.

Basically, what this Perl script does is monitor the Gnome screensaver program and when the Blank screensaver gets started it will tell the Omnibook driver you installed to shut off the LCD display. It will turn the LCD monitor back on as soon as the screensaver gets disabled. It works surprisingly well.

Configuring the modem

Thanks to Troy for letting me know about the release of slmdm-2.7.8 which added support for the winmodem chipset present in this laptop. The process is pretty painless. Start by grabbing a copy of the code from http://linmodems.technion.ac.il/resources.html, look for the section labelled NEW !!! : Modems based on SmartLink chips. and grab the code.

The README is pretty self explanitory. If you've been diligent about upgrading your kernel using only the Red Hat Network then the default path will work as long as you are running the most recently upgraded kernel. Otherwise you'll need to adjust this line to point at the correct sources:

# Path to your kernel's includes
 KERNEL_INCLUDES:= /usr/src/linux/include
Then just compile and install it:
# make
# make install
rm -f /dev/ttySL0
mknod -m 666  /dev/ttySL0 c 212 0
ln -sf ./ttySL0  /dev/modem
Then you can just test it with minicom:
# minicom -s
Go go Serial Port Setup
Set Serial Device to /dev/modem
Set Bps/Par/Bits to 57600 8N1
Return to main menu and Save setup as dfl
Hit Esc to exit out of setup and you should be able to dial out now.
After confirming it works you can set up your PPP dialup like you would normally.


There are a few things that don't work (yet):
DVD: Playing DVDs isn't hard. I'll document the procedure shortly.

Video: Every few logins my display gets messed up but logging out and back in always seems to fix it. Worst case you can hit CTRL-ALT-BKSP and it will kill the X server and allow you to log back in.

Suspend/Resume: We can all dream, can't we?

If you have any leads on getting any more features working please drop me a line.

Other Useful Resources

Rick's Installing Redhat 8.0 on Toshiba Satellite 1115-S103 - Rick did most of the work in figuring out how to make LInux load on this laptop. He goes into a lot more technical detail about ACPI and other issues he's run into.

Red Hat 8.0 Tips Tricks - This site puts in one place the most common tips for getting RH 8.0 to work the way it's supposed to. Tips including installing a DVD player, getting MP3 support back and MUCH more! A must read for new RH 8.0 users.

Unofficial Toshiba 1115-S103 Info - Another website with tons of Toshiba 1115-S103 info, most of it is hardware XP related but still very useful.

Comments From People Like You!
Red Hat 8.0 on Toshiba Satellite 1115-S103
Add a Comment add a comment
08-Aug-2003 09:59
I don't recommend this version of the instructions any more.  Please instead use the Red Hat 9 version which should work fine for Red Hat 8.0.

Please E-mail Me with any questions, comments or corrections.