Linux Installation notes - Toshiba Tecra 550CDT laptop
1. Introduction
This document describes various points and procedures connected with the
installation of Linux on a Toshiba Tecra 550CDT laptop computer. It was
desired to have a dual-boot Linux/Windoze-95 system. At the time of
writing there was little information available regarding this laptop and/or
the installation of Linux on it. This document was written to partially
remedy the situation.
11 April 2002: there is now
another page
describing Linux on this laptop. It is based on more recent
experience than this document (I no longer have access to the laptop and so
cannot provide such updated information). In particular, this new document
seems to suggest that PCMCIA now works in CardBus mode under Linux and that
the IrDA port is functional under Linux. Note that I cannot give any
assurances about this since I cannot test it myself.
1.1. Acknowledgements
Most of the information for this document comes out of my own experiences.
Several other people have provided extra information:
1.2. Revision history
Version 1.0 - 3 June 1998
Version 1.1 - 13 August 1998
- Added link to sample XF86Config file.
- Added a comment on RedHat's Xconfigurator.
Version 1.2 - 18 August 1998
- Added more extensive Xconfigurator documentation.
- Included extra X configuration information provided by users.
Version 1.3 - 21 August 1998
- Added section 4.5 on the internal modem.
Version 1.4 - 30 October 1998
- Added information about the server option of Xconfigurator.
Version 1.5 - 11 April 2002
- Added a note to the introduction regarding more recent Linux experience
on this laptop.
- Updated some IrDA web addresses in section 2.
- Updated IrDA/PCMCIA support status in section 2 based on the latest
information I can find.
1.3. Feedback
If you have any comments, suggestions or additions to the information in
this document, please send them to me,
jwoithe@physics.adelaide.edu.au.
1.4. Distribution policy
(c) Copyright 1998 Jonathan Woithe.
This document is free documentation; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This document is distributed in the hope that it will be useful, but without
any warranty; without even the implied warranty of merchantability or
fitness for a particular purpose. See the GNU General Public License for
more details.
You can obtain a copy of the GNU General Public License by writing to the
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
2. Hardware notes
This section describes a few notes regarding the hardware settings which are
mildly useful when installing Linux.
Please note! In late February 1999, Toshiba announced that it was
not going to release any details regarding the chips used
inside their laptops. The immediate result of this is that the IrDA port
will never be supported unless Toshiba changes its mind. There are also
implications for the CardBus mode of the PC Card controller.
Dag Brattli,
developer of Linux/IrDA
is now recommending that no one wanting to run Linux on their laptop
should buy a Toshiba Laptop. Make sure you let Toshiba know exactly why
you are not purchasing their product!
Update: 11 April 2002: To quote from the latest PCMCIA howto available
from the
Linux PCMCIA information
website:
- Support for Toshiba's ToPIC bridges was hindered for a long time by a lack
of sufficiently detailed technical documentation. While some datasheets
have been available, a few idiosyncracies of the ToPIC chips were not
adequately explained. Toshiba has now started giving direct technical
help on some of these issues and I expect that the major ones will soon
be resolved.
It would therefore appear that (32-bit) CardBus mode is likely to be
supported on the 550CDT with recent versions of the Linux PCMCIA package.
In addition,
a more recent page
regarding Linux on this laptop appears to indicate that IrDA is functional,
at least in SIR mode and possibly also in FIR mode.
2.1. BIOS settings
The BIOS settings can be accessed by holding ESC during power-on, and then
pressing F1.
In order to be able to use the PCMCIA slots, the "PC Card controller mode"
(2nd page of BIOS setup) option should be set to "PCIC" (aka PCMCIA).
Although the inbuilt Toshiba controller (ToPIC95 and friends) chip does
support the newer 32 bit CardBus interface, programming details have not yet
been attainable by the Linux CardServices author. Until that happens,
CardBus cards will not be supported in Toshiba laptops which use these
chips. By setting the PC Card option to "PCIC", the controller emulates a
standard Intel i82385sl-B.
I have had success in setting the "PC Card controller mode" option to
"Auto-Selected". What I think happens is that the controller adapts to
whichever mode is being assumed by the operating system at the time. This
would enable CardBus cards to be used under (say) windoze-95 while the
16 bit PCMCIA cards would still work under Linux.
Setting "PC Card controller mode" to "CardBus" will prevent any operation
under Linux.
It is worth taking note of the "Sound" settings (also on the 2nd page) to
avoid having to reboot later. The settings I used were:
- WSS I/O Address = 0x530
- SB Pro I/O = 0x220
- Synth I/O = 0x388
- WSS/SBPro/MPU401 irq = 5
- WSS (play) DMA = 1
- WSS (rec) & SBPro DMA = 0
- Ctrl I/O Address = 0x370
- MPU401 (MIDI I/F) = 0x330
2.2. Booting from Floppy Disk
I have not confirmed whether the 550CDT can boot from the newer bzImage
compressed kernel images. Other Tecra laptops do apparently suffer this
problem so there is every likelihood that the 550CDT does too. The solution
is to use the gz compressed kernel images instead.
A successful install from CDROM can be done using the Slackware bare.i
kernel image since the CDROM is a standard ATAPI drive. Make sure that
the CDROM is plugged into the appropriate port BEFORE applying power to the
computer.
3. Software versions used
PCMCIA-cs version
I installed pcmcia-cs version 3.0.3. I did not encounter any problems aside
from those mentioned previously in connection with the controller mode.
Graphics
The 550CDT uses an S3-Virge/MX graphics chipset. This is directly supported
in XFree86 3.2.2 and later in the SVGA server.
Linux kernel
2.0.30 was installed in this instance. I suspect that any version
>= 2.0.0 would work fine. I installed the latest ppa driver for the
IOMega Zip drive since it seemed like a good idea.
Sound
OSS/Free 3.8s9 was installed into the kernel tree before compiling the
kernel.
4. Installation notes
The 550CDT i had access to was shipped with Windows-95 build 4.00.1111
(OSR2); it is therefore possible that these laptops could use a FAT32
filesystem. Therefore, fips15c was used to shrink the windoze-95 partition
since it has FAT32 support. In the case of this laptop, though, a standard
FAT16 had been employed with 2 partitions - a 2Gb and a 1.8Gb (making up the
3.8Gb HDD size). The first partition was shrink slightly to 1.5Gb and the
second one was deleted using Windoze's fdisk.
The bare.i kernel booted without any dramas and without any special boot
flags. A standard Slackware installation proceeded without problems.
Out of the box, the CMOS clock was very wrong (it thought it was 1990).
This was rectified before beginning any compiling to prevent complications
with make.
4.1. Kernel compile options
Code maturity level options
I didn't use any development drivers
Loadable module support
To facilitate PCMCIA operation loadable module support was enabled, as
was Kernel daemon support.
General setup
I enabled everything except "Kernel math emulation" and "Limit memory to
low 16Mb". The processor type is "Pentium".
Floppy, IDE, and other block devices
"Normal floppy disk support" and "Enhanced IDE/MFM/RLL disk/cdrom/tape
support" and "Include IDE/ATAPI CDROM support" was enabled. There's no
need to include support for bugfixes in some IDE chipsets since the 550CDT
doesn't have them.
Networking options
TCP/IP networking was enabled (along with a few defaults which come with
it).
SCSI support
SCSI support was activated with SCSI disk and tape support included.
The "IOMega Parallel Port ZIP drive SCSI" support was included as a
module. SCSI support was desired since a PCMCIA SCSI card was to be used
with this laptop. The kernel SCSI details were not compiled as a module
only to simplify the setup of the PCMCIA utilities. I can't see any reason
why the SCSI support couldn't be modularized.
Network device support
Only "Dummy net driver support" was included. A PCMCIA network card was
also to be used with this laptop, so no further devices were included.
ISDN subsystem
Not used.
CD-ROM drives (not for SCSI or IDE/ATAPI drives)
Not used.
Filesystems
Included "Second extended fs support", "DOS FAT fs support", "MSDOS fs
support", "VFAT (Windows-95) fs support", "/proc filesystem support", "NFS
filesystem support" and "ISO9660 cdrom filesystem support".
Character devices "Standard/generic serial support", "Parallel printer
support", "Mouse support (not serial mice)" and "PS/2 mouse support"
This was enabled. The "accu-point" device on the Toshibas is seen as a
PS/2 mouse.
"Advanced Power Management BIOS support" was enabled with "Make CPU Idel
calls when idle" and "Power off on shutdown" suboptions active. If
"Enable console blanking using APM" is enabled, the LCD will be
inexplicably turned off whenever there is a switch to graphics mode (when
an X server is started, for example). It can be turned on again using
Fn-F5 but this is a pain. It's better to forego this APM feature IMHO.
"Enhanced Real Time Clock support was included".
Sound
The sound driver was compiled as a module. The Crystal CS4232 support
was activated along with the "FM Synthesizer (YM3812/OPL-3) support".
With the BIOS sound settings detailed earlier, the kernel was configured
thus (all I/O bases are in hex):
- CS4232 audio I/O base = 534
- CS4232 audio IRQ = 5
- CS4232 audio DMA = 1
- CS4232 second (duplex) DMA = 0
- CS4232 MIDI I/O base = 330
- CS4232 MIDI IRQ = -1
If the CS4232 is set to 5 (as one would think necessary based on the BIOS
wording), the MPU401 component complains at module startup that it can't
get IRQ5 (IRQ5 already in use) accompanied by a message to the effect that
port 0x330 is already in use. Things seem to work with the above
settings. I have only tested Audio though.
Kernel hacking
Not enabled
4.2. Booting arrangements
The choice of which OS to boot is made using Windoze's config.sys menu
mechanism. If 'linux' is chosen, loadlin is used to load linux. In
msdos.sys set BootMulti=0 and BootGUI=0. There has been talk that the
appearance of the windoze logo can upset Linux but i did not observe any
strange side effects. However, setting Logo=0 in msdos.sys won't hurt.
If automatic startup of the GUI is desired, "win" can be placed in the
autoexec.bat file.
4.3. PCMCIA details
Version 3.0.3 of PCMCIA-cs (card services) was installed as per
instructions. It seems that interrupt-based card insertion/removal
detection was reliable barely 20% of the time. As a workaround, the
PCIC_OPTs="poll_interval=100"
line was added to /etc/rc.d/rc.pcmcia to enable polled mode. This method
was 100% reliable.
/etc/rc.d/rc.M had a call to rc.pcmcia inserted so CardServices would
be installed automatically at startup:
if [ -x /etc/rc.d/rc.pcmcia ]; then
. /etc/rc.d/rc.pcmcia
fi
This was inserted after the call to ldconfig but before sendmail was
started. When called like this rc.pcmcia does not appear to require the
"start" argument.
The network card used was a "Xircom Creditcard Ethernet Adapter IIps".
Once inserted it worked without a problem. The IP address (and all other
details pertaining to the configuration of the ethernet device) are
contained in /etc/pcmcia/network.opts.
An Adaptec APA-1480 SCSI card did not work. This card is a (32 bit)
CardBus card which, for reasons already discussed, do not currently work
in Toshiba laptops utilising the ToPIC95 controller. It didn't even appear
to trigger a card insertion event. However, an Adaptec APA-1460 SCSI card
worked without a problem.
4.4. Xwindows setup
The 550CDT uses the S3 Virge/MX graphics chipset. Support for this was
added in XFree86 3.3.2. I don't know if its possible to get it to work with
earlier XFree86 versions; personally I think it's easier to simply obtain
this (or a later) XFree86 version.
The following are various strategically chosen bits from my working
XF86Config file. I am sure it is not optimal but it works and is a good
starting point. I would still recommend using XF86Setup to do the
configuration, using the following information where necessary; for
instance, i haven't managed to find any reference to the sync rates for the
LCD yet.
Section "Monitor"
HorizSync 31.5-48.5
VertRefresh 55-90
Modeline "1024x786" 65.00 1024 1032 1176 1344 768 771 777 806 -hsync -vsync
Modeline "800x600" 50.00 800 856 976 1040 600 637 643 666 +hsync +vsync
Modeline "640x480" 36.00 640 696 752 832 480 481 484 509 -hsync -vsync
EndSection
Section "Device"
:
# XF86Setup puts a number of commented out options in here. They don't
# seem to be necessary.
EndSection
Pietro Terna
(pietro.terna@torino.alpcom.it)
has noted:
My monitor choice has been Custom:
"NonInterlaced SVGA, 1024x768 @ 60 Hz,
800x600 @ 72 Hz".
I'm using version 3.3.2 of the XFree86 stuff.
My experience has indicated that 16bpp support is buggy. Your milage may
vary.
A number of people have asked for the
complete XF86Config file. This is provided with no warrantee
at all. Note that it was generated using XF86Setup from XFree86 3.3.2 and
has not been modified in any way. It will probably not work at all
with any earlier versions of XFree86, although I have not tested this.
Note that if choosing to use this XF86Config you will have to make sure
that /usr/X11R6/bin/X (or /var/X11R6/bin/X if /usr/X11R6/bin/X is a symlink
to /var/X11R6/bin/X) is symlinked to XF86_SVGA, the SVGA server. XF86_S3 or
XF86_S3V will not work.
Garret Cotter (garret@mrao.cam.ac.uk
) has supplied this XF86Config
file. It was also generated from XF86Setup and reportedly works well.
RedHat 5.1 (and earlier) users please note: it seems that the version
of Xconfigurator shipped with at least these versions of RedHat is broken with
respect to the S3Virge/MX chipset as used in this laptop. Specifically it
attempts to use the S3V server to drive the video which, as noted above, will
not work. Since RedHat 5.1 ships with Xfree86 3.3.2 the problem must lie
in Xconfigurator itself. If you are installing using one of these RedHat
distributions, my recommendation is to do one of the following.
If Fn-F5 is used to switch output devices, the right quarter of the screen
may contain an image of what is further to the left. This is caused when
various screen timings are set by the switching software but presumedly not
restored. The X server does not know about the switch and so carries on as
if nothing has happened. To restore the proper appearance, do
CTRL-ALT-Fn-; (aka CTRL-ALT-Numeric_+)
CTRL-ALT-Fn-p (aka CTRL-ALT-Numeric_-)
to switch to a different resolution and then back to the desired one. This
requires that you have at least 2 resolutions defined for the colour depth
being used.
4.5. Internal modem
The 550CDT can be fitted with an optional internal modem. This device shows
up as COM2 under windows. However, at the hardware level the modem is a
Toshiba modem port and only appears as COM2 under windows due to the
use of a VxD. That is, the modem does not implement a true RS232
communication port; rather it is a proprietory port on the ISA bus. As
a side note, the PCI device identified as
Bus 0, device 10, function 0:
Communication controller: Toshiba Unknown device (rev 20).
Vendor id=1179. Device id=701.
Slow devsel. IRQ 11. Master Capable. Latency=64.
I/O at 0xffc0.
in /proc/pci is actually the infrared port controller, not the modem device.
(Toshiba also told me that the Tecra 750/780's built in MARS modem chip is
not a PCI device either, which contradicts other sources of information on
the web. In any case it's not all that important).
The upshot of this is that the 550's internal modem will not work
under Linux. If you wish to use a modem you will have to use either an
external modem plugged into the COM1 port or obtain a PCMCIA
modem. In either case it would probably be a good idea to disable the
internal modem (using the BIOS settings).
Some people will notice that Linux does seem to detect COM2 during bootup
and identifies it as an 8250 UART. According to Toshiba, the Toshiba modem
port does actually have a control port at 0x2f8; this is probably the reason
why the COM2 probe identifies something and why it only "detects" an 8250
UART.
5. Other sources of information
"Linux on the Toshiba Tecra series laptops"
available as the link Toshiba Tecra 710CDT and 720CDT
via the Linux Laptop Homepage,
http://www.cs.utexas.edu/users/kharker/linux-laptop/.
PCMCIA-HOWTO
distributed with pcmcia-cs-* distribution. Also available whereever
the Linux Howtos are found.
/usr/X11R6/lib/X11/doc/README.S3V
distributed with XFree86 3.2.2.