Linux on the Toshiba Satellite Pro 430CDS
Linux on the Toshiba Satellite Pro 430CDS Notebook
ares (1997-2004)
My 430CDS ceased to function on May 2004, from board corrosion by leaking
battery fluid by the internal clock batteries.
It served me for 7 years, and was continuously used until I bought its
replacement, a Toshiba Satellite 3000-601, in May 2002.
|
|
- Introduction
- The Toshiba Satellite Pro 430 CDS is a notebook with a Pentium
120 Processor, equipped with 16MB EDO RAM, a 1.26GB hard disk, a
10x CD-ROM, and a external floppy drive swappable with the internal
CD-ROM. I consider it to be a very good computer for running Linux.
For more information, consult the
Toshiba specs page or the Detailed Specs PDF Document. This
document tries to describe my experience with the installation of
Linux on this notebook. I also describe the options I used when
compiling kernel 2.0.30 to customize it to my needs.
Since the 430 has now been discontinued, and all the hardware
support is already in the main releases, I do not plan to update
this page anymore. Thanks to all the thousands of visitors!. Please
don't ask me to include links to your site. If I thought your site
should have a link, I would already have included it.
- Installation:
-
- The first time you turn the computer on, it boots Windows and
asks you if you want to use Windows 95 (4.00.1111) or Windows for
Workgroups (3.11). After it has installed itself, you can then
proceed to make the diskettes for the OS you have chosen (about 40
disks total). After all this, it is (finally) time to begin
installing Linux.
- I used FIPS to split the disk in two partitions. I left a big
one in the vfat file-system (I use it for shareable files, like
this page), about 800MB in size, and the rest for Linux
(500MB).
- I used RedHat, on CD and
the autoboot feature to install Redhat 4.0 direct from the CD,
without any floppy (this uses an executable to start a DOS boot program
from the CD-ROM).
- The installation is almost the same for this computer as for
any other PC. When asked about the type of mouse answer PS/2, since
the pointing stick is a PS/2 mouse. In the XFree setup, choose only
the SVGA driver. Probably there is an option to select the graphics
chipset, choose the Chips and Technologies set.
- Mission accomplished. You now have a Notebook running
Linux.
- I recommend a kernel recompilation, to make the sound driver
work, and also to get rid of all the unnecessary drivers. As long
as you're doing it, add the
noblink patch, as it is very useful to avoid having to make a
cursor search every time you are using a console program (e.g.
joe). The included patch fails, so download also a patch for the
recent kernels, available in the same site.
- Common Problems:
-
- X-Windows:
- Starting from version 3.2, XFree86 has support for the Chips
& Technologies CT65550 that the 430 uses. However, this support
is only stable on version 3.3. If you use 3.2, you should be
experiencing a lot of lockups, I would advise you to upgrade to
3.3. Until then, maybe setting option "noaccel" will help
you, at the expense of slower performance.
I have reports from 430CDT users that at 800x600 16 bits-per-pixel
and up, "snow" appears on the screen. This problem is also solved
by option "noaccel".
XFree is running perfectly now, with no problems whatsoever. It
supports both 640x480 and 800x600 directly on the Dual Scan
Display. I used XSetup to make my XF86Config file, but it only gave
me 640x480 max resolution. I had to alter it to give me 800x600.
Don't bother to use 640x480, although the new version supports
image stretching (a lower resolution is simulated using a higher
resolution), the image is not so good and the cursor hot-spot is
not on the same point as the cursor
(/usr/X11R6/lib/X11/doc/README.chips has details on how to solve
this).
XF86Config (excerpt)
Section "Pointer"
Protocol "PS/2"
Device "/dev/mouse"
Emulate3Timeout 50
Emulate3Buttons
EndSection
Section "Monitor"
Identifier "Laptop Screen"
VendorName "Toshiba"
ModelName "DD-STN"
HorizSync 31.5-43
VertRefresh 40-75
# VESA 800x600@60Hz Non-Interlaced mode Horizontal Sync = 37.9kHz
Modeline "800x600" 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync
# VESA 640x480@72Hz Non-Interlaced mode Horizontal Sync = 37.9kHz
Modeline "640x480" 31.50 640 664 704 832 480 489 492 520
EndSection
Section "Device"
Identifier "Chips & Technologies CT65550"
VendorName "Chips & Technologies"
BoardName "CT65550"
EndSection
Section "Screen"
Driver "SVGA"
Device "Chips & Technologies CT65550"
Monitor "Laptop Screen"
BlankTime 2
SuspendTime 5
OffTime 10
DefaultColorDepth 16
SubSection "Display"
Depth 8
Modes "800x600"
ViewPort 0 0
EndSubSection
SubSection "Display"
Depth 16
Modes "800x600"
ViewPort 0 0
EndSubSection
SubSection "Display"
Depth 24
Modes "800x600"
ViewPort 0 0
EndSubSection
SubSection "Display"
Depth 32
Modes "800x600"
ViewPort 0 0
EndSubSection
EndSection
XFree Startup message
XFree86 Version 3.3 / X Window System
(protocol Version 11, revision 0, vendor release 6300)
Release Date: Jun 2 1997
If the server is older than 6-12 months, or if your card is newer
than the above date, look for a newer version before reporting
problems. (see http://www.XFree86.Org/FAQ)
Operating System: Linux 2.0.30 i586 [ELF]
Configured drivers:
SVGA: server for SVGA graphics adaptors (Patchlevel 0):
.....
cl6412, cl6420, cl6440, video7, ct65520, ct65525, ct65530, ct65535,
ct65540, ct65545, ct65546, ct65548, ct65550, ct65554, ct64200,
ct64300, ark1000vl, ark1000pv, ark2000pv, ark2000mt, mx, realtek,
AP6422, AT24, s3_virge, generic
(using VT number 7)
XF86Config: /usr/X11R6/lib/X11/XF86Config
(**) stands for supplied, (--) stands for probed/default values
XIE extension module for XFree86 3.3
(**) module xie.so successfully loaded from /usr/X11R6/lib/modules
PEX extension module for XFree86 3.3
(**) module pex5.so successfully loaded from /usr/X11R6/lib/modules
(**) XKB: rules: "xfree86"
(**) XKB: model: "pc102"
(**) XKB: layout: "pt"
(**) Mouse: type: PS/2, device: /dev/mouse, baudrate: 1200,
3 button emulation (timeout: 50ms)
(**) SVGA: Graphics device ID: "Chips & Technologies CT65550"
(**) SVGA: Monitor ID: "Laptop Screen"
(**) FontPath set to "/usr/X11R6/lib/X11/fonts/misc:unscaled,/usr/X11.....
(--) SVGA: CHIPS: chip revision: 69
(--) SVGA: Chipset: ct65550
(--) SVGA: CHIPS: no monitor detected.
(--) SVGA: CHIPS: 2048 kB VRAM
(--) SVGA: CHIPS: DD-STN probed.
(--) SVGA: CHIPS: LCD
(--) SVGA: CHIPS: Display Size: x=800; y=600
(--) SVGA: CHIPS: Frame Buffer used.
(--) SVGA: CHIPS: Using embedded Frame Buffer.
(--) SVGA: CHIPS: Frame Accelerator Enabled.
(--) SVGA: CHIPS: VL Bus
(--) SVGA: CHIPS: base address is set at 0x7000000.
(--) SVGA: CHIPS: Linear addressing is enabled at 0x7000000.
(**) SVGA: CHIPS: 16 bpp.
(--) SVGA: CHIPS: Internal DAC disabled.
(--) SVGA: CHIPS: using programmable clocks.
(--) SVGA: chipset: ct65550
(--) SVGA: videoram: 2048k
(**) SVGA: Using 16 bpp, Depth 16, Color weight: 565
(--) SVGA: Maximum allowed dot-clock: 80.000 MHz
(**) SVGA: Mode "800x600": mode clock = 40.000
(--) SVGA: Virtual resolution set to 800x600
(--) SVGA: SpeedUp code selection modified because virtualX != 1024
(--) SVGA: CHIPS: 1002752 bytes off-screen memory available
(--) SVGA: CHIPS: H/W cursor selected
(--) SVGA: CHIPS: SpeedUps selected (Flags=0xF)
(--) SVGA: CHIPS: Memory mapped I/O selected
(--) SVGA: Using XAA (XFree86 Acceleration Architecture)
(--) SVGA: XAA: Solid filled rectangles
(--) SVGA: XAA: Screen-to-screen copy
(--) SVGA: XAA: 8x8 pattern fill
(--) SVGA: XAA: 8x8 color expand pattern fill
(--) SVGA: XAA: CPU to screen color expansion (bitmap, TE/NonTE imagetext, TE/NonTE polytext)
(--) SVGA: XAA: Using 6 128x128 areas for pixmap caching
(--) SVGA: XAA: Caching tiles and stipples
(--) SVGA: XAA: Horizontal and vertical lines and segments
- APM:
- I used the apmd-2.4-1.i386.rpm in the RedHat CD to install the
apm package (it was a contributed package). This package provides
access to battery status information and may help you to conserve
battery power, depending on your laptop and the APM implementation.
If you use a recent kernel ( > 1.3.46), you will not need to
apply any kernel patches. You should however compile the kernel
with APM support, just answer yes to Advanced Power Management
BIOS support in the Character Devices section while
making make config or make menuconfig. After it is
installed it provides a program to print battery status
information, a program to display that same information in a nice
bar graphic in X. It also provides a daemon to monitor the battery
level, and can even warn you if it reaches a low level. You can
also use this package to put the computer in stand-by and suspend
mode. You can get apmd from the apmd for Linux page
APM kernel options (make menuconfig)
[*] Advanced Power Management BIOS support
[ ] Ignore USER SUSPEND
[*] Enable PM at boot time
[*] Make CPU Idle calls when idle
[ ] Enable console blanking using APM
[*] Power off on shutdown
I enabled PM at boot time and CPU idle calls, because the kernel
help mentions power savings when these options are enabled. I
disabled Console Blanking, since this causes some problems when
switching to graphics mode (the screen stays blank until you press
a key). The other two options seem to work with none of the
problems described in the kernel compilation helpfile.
kernel messages
APM BIOS version 1.2 Flags 0x02 (Driver version 1.2)
Entry f000:dee3 cseg16 f000 dseg f000 cseg len ffff, dseg len ffff
Connection version 1.1
AC on line, battery status charging, battery life 100%
battery flag 0x09, battery life 184 minutes
- PCMCIA:
- In order to use PCMCIA services, you have to install and run
the pcmcia_cs package. This is already included in the RedHat CDs.
I need to enable PCMCIA Card Services to use my Ovislink LS-PCM T2T
Ethernet Card. I had previously problems with setting up this card.
After it got damaged, I sent it to be repaired and I was given a
new one. Because a certain amount of time passed, a newer version
of pcmcia-cs was released. It works OK now, but I don't know how
the problem was fixed. You can get the PCMCIA package from pcmcia-cs.sourceforge.net.
The following is the file I use to configure pcmcia and the kernel
messages when loading the PCMCIA modules:
/etc/sysconfig/pcmcia
PCMCIA=yes
PCIC=i82365
PCIC_OPTS="irq_list=9,10,11 poll_interval=100"
CORE_OPTS=
CARDMGR_OPTS=
poll_interval I use to spare the use of a interrupt, if you
want to let card services use a interrupt for monitoring card
status changes, remove this option.irq_list is used to avoid
PCMCIA driver from assigning one of the already assigned
interrupts. This last option is very important, since the card
services usually steal the mouse interrupt, thus preventing access
to the mouse, with this option set correctly that is impossible.
kernel messages
Linux PCMCIA Card Services 2.9.10
Intel PCIC probe:
Intel i82365sl B step at 0x3e0 ofs 0x00, 2 sockets
host opts: none
irq list (scanned) = 9,10,11 polled status, interval = 1000 ms
cs: IO port probe 0x0100-0x03ff: excluding 0x1f8-0x1ff 0x220-0x22f 0x378-0x37f 0x388-0x38f 0x3f8-0x3ff
cs: IO port probe 0x0a20-0x0a27: excluding 0xa20-0xa27
cs: memory probe 0x0c0000-0x0fffff: excluding 0xe4000-0xfffff
eth0: NE2000 Compatible: port 0x300, irq 9, hw_addr 00:A0:0C:11:5C:86
- Sound:
- The Toshiba 430CDS uses a ESS688 Audio Drive, which is
supported by Linux under the Sound Blaster driver. This is a 16-bit
Sound Blaster Pro compatible. The notebook comes with integrated
speaker and microphone, but you can also connect an external
microphone and/or speaker through standard jacks. The card is
factory configured to use irq 10, but for DOS game compatibility I
reassigned it to use irq 5. If you have problems not hearing the
audio, please try to use a mixer program to set the output levels
correctly. You will most certainly need to recompile the kernel to
use the card, so here is my kernel setup for the sound (I use the
sound driver as a module):
Sound kernel options (make menuconfig)
<M> Sound card support
Old configuration script (For: SM Wave, PSS & AudioTrix Pro) -->
[ ] ProAudioSpectrum 16 support
[*] Sound Blaster (SB, SBPro, SB16, clones) support
[ ] Generic OPL2/OPL3 FM synthesizer support
[ ] Gravis Ultrasound support
[ ] MPU-401 support (NOT for SB16)
[ ] 6850 UART Midi support
[ ] PSS (ECHO-ADI2111) support
[ ] 16 bit sampling option of GUS (_NOT_ GUS MAX)
[ ] GUS MAX support
[ ] Microsoft Sound System support
[ ] Ensoniq SoundScape support
[ ] MediaTrix AudioTrix Pro support
[ ] Support for MAD16 and/or Mozart based cards
[ ] Support for Crystal CS4232 based (PnP) cards
[ ] Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers
[*] /dev/dsp and /dev/audio support
[ ] MIDI interface support
[*] FM synthesizer (YM3812/OPL-3) support
(220) I/O base for SB Check from manual of the card
(5) Sound Blaster IRQ Check from manual of the card
(1) Sound Blaster DMA 0, 1 or 3
(5) Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7 (use 1 for 8 bit cards)
(330) MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card
(5) SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16
(65536) Audio DMA buffer size 4096, 16384, 32768 or 65536
[ ] Additional low level drivers
/dev/sndstat
Sound Driver:3.5.4-960630 (Wed Aug 13 23:13:38 WET DST 1997 root,
Linux localhost 2.0.30 #3 Mon May 26 00:00:04 WET DST 1997 i586 unknown)
Kernel: Linux ares 2.0.30 #1 Wed Aug 13 23:15:39 WET DST 1997 i586
Config options: 0
Installed drivers:
Type 1: OPL-2/OPL-3 FM
Type 2: Sound Blaster
Card config:
Sound Blaster at 0x220 irq 5 drq 1,5
OPL-2/OPL-3 FM at 0x388 drq 0
Audio devices:
0: ESS ES1688 AudioDrive (rev 6) (
Synth devices:
0: Yamaha OPL-3
Midi devices: NOT ENABLED IN CONFIG
Timers:
0: System clock
Mixers:
0: Sound Blaster
- Pointing Stick:
- In order to use the Pointing Stick you must have PS/2 mouse
support compiled in the kernel. If you use modules, you only have
to insmod psaux to load the mouse driver (or use kerneld).
To make sure you have support, do cat /proc/misc, and you
should see a line mentioning 1 ps2aux. If this line didn't
appear, or there was some other error, you probably don't have
mouse support in the kernel. To compile PS/2 mouse support in the
kernel, you must answer yes to Mouse Support in the
Character devices section, and then choose PS/2 mouse
support. As you can see below, I use a kernel module, for this
part. If you are not familiar with using and compiling kernel
modules, please compile this device into the kernel by choosing
Y.
Many persons have reported problems with the mouse. Usually this
is a interrupt conflict with the PCMCIA card services. If you have
problems, check /proc/interrupts to see if irq 12 is being
used by the mouse. If it is not, then the device that is using irq
12 is responsible for your problem. If it is the PCMCIA card
services, refer to the PCMCIA section.
PS/2 kernel options (make menuconfig)
[*] Mouse Support (not serial mice)
< > ATIXL busmouse support
< > Logitech busmouse support
< > Microsoft busmouse support
<M> PS/2 mouse (aka "auxiliary device") support
[ ] C&T 82C710 mouse port support (as on TI Travelmate)
- SVGAlib:
- SVGAlib 1.2.11 now has support for the Chips & Technologies
655xx chipset. You can download it from Metalab. I
have used it, and I have found no problems. With this driver you
get the SVGA and the highcolor modes that the CT65550 is able to
display.
- Fan:
- There is a program in Jonathan Buzzard's page,
to turn the fan on/off. This is a port of the DOS program that could
be found previously in Toshiba's Downloads page (fan.zip). The
documentation for all versions doesn't mention support for the
T430, but I believe it works with all Toshiba models, and it works
perfectly for me. I use it all the time when I am connected to the
power supply.
- Other Links:
-
- Acknowledgements:
- This page is based upon the pages for Linux on the
Toshiba Satellite 100CS Laptop. My Thanks as well to
David Hinds, for being so helpful with my problem with the PCMCIA
card, David Bateman for providing me with a alpha XFree driver
before 3.3, and of course Linus Torvalds, for making all this
possible.
- Disclaimer:
- This is freely available information which comes with
absolutely no guarantees. Use at your own risk. Neither I nor the
persons responsible for the site in which this page is located work
for or endorse Toshiba. All trademarks are the property of their
respective owners.
|