GeoCitiesRank My SiteTake A TourMy GuestbookChat
Pages Like MineSearchSend This PageForums
Email Me
SiliconValley

Linux on the Toshiba Satellite Pro 430CDS Notebook


Receive a mail whenever this page is updated

[Main] [Personal Info] [Linux] [IPacct] [Linux on T430CDS] [Links] [Search]

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. 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:

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".
David Bateman, has the most recent development drivers at ftp.rp.csiro.au/pub/people/dbateman/ct65550/, it only contains the chips driver so is smaller than the standard version, and it contains some small bug fixes.
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-48.5
   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 ftp.cs.unc.edu/pub/users/faith/linux/

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 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 hyper.stanford.edu/pub/pcmcia/. 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 sunsite. 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 400CS page, to turn the fan on/off. This is a port of the DOS program that can be found in Toshiba's DOS Utilities page (search for 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, Linux on the Toshiba T400CDT Notebook and the Linux on the Toshiba 410/415CS, PCMCIA and SOUND. 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.
You are visitor number counter since 30/Mar/1997.
[Main] [Personal Info] [Linux] [IPacct] [Linux on T430CDS] [Links] [Search]

Send comments, questions, suggestions to:

Joao Ventura <jcv@bigfoot.com>
Click Here!