Ceci n'est ce pas Matt Gumbley


Updated Mon Dec 30 22:03:38 2002

Site Map
Site Home page
Matt's home page
Angela's home page
Natasha's home page
Hannah's home page
Our Wedding Pages

Personal
Online CV
Family history

Projects
Latest News
The Crypt
(Old, Dead Projects)
Miscellaneous
QtGantt
HTML Macro System
SigChange
Home Page Sync
Psion EPOC
Overview
Mixed Language Programming
GDB Debug Stub
hForth Port
Disassembler
Psion SIBO
All SIBO projects are in
The Crypt
Linux
Toshiba 40xx & Linux
Network-RS232 Bridge
Psion Protocol Analyser
Serial Line Analyser
Work on plptools
Psion .img tools
Happy Badger Linux
Linux Psion Link Ideas
Amateur Radio
Amateur Radio Software

Popularity

accesses so far..


Matt J. Gumbley - http://www.gumbley.demon.co.uk

Linux and the Toshiba Satellite 4030 CDT

Author: Matt J. Gumbley
Final Update: Fri Oct 1 14:43:52 1999

THIS PAGE IS NOW OBSOLETE


Please note that I no longer maintain these pages.

The new maintainer is James Stansfield - you may find his pages at http://www.iridani.net/net/40x0/index.asp

Please don't send me any mail regarding Linux on Toshiba laptops, as I can no longer offer help/advice. Please direct all contacts about this to the mailing list, details of which you will find in this page.

Regards,
   Matt
24 March 2001

WARNING


This page is now out of date, and is being replaced with the new page, which is more of a "this is what you do" page. The page you are now reading has what Sam Freed described as "a great pioneering narrative feel to it" - basically, we were all groping about in the dark, and I was trying to report our successes. We succeeded: the Toshiba 4030 (and related laptops) are great machines to run Linux on, and now we need a new page that says "Yeah, it works, OK - this is what you do."

Many, many thanks to all those that contributed to this page, and the members of the linux-tosh-40xx mailing list who have helped so many users install Linux on these systems.

This page is held for posterity, and is no longer being maintained.

Matt Gumbley
1st Oct 1999

Abstract

I needed a laptop for testing products against Windows 95, 98 and NT systems, and for use when I'm on the road. I also needed something for network configuration and testing, and so wanted to install Linux on said laptop. This is a description of what happened with my installation, and with other people's.


Note: Thanks to all those people who have got in touch with me about this page - it's great to know that it has helped!

Please direct feedback about this page to the mailing list: Thanks to Paul Brown and Andrew Crawford of Newton Solutions, we now have a mailing list on which to discuss matters relating to Linux and the Toshiba 40xx series of laptops.

To subscribe, send a mail to majordomo@geekstuff.co.uk with the body of the mail saying subscribe linux-tosh-40xx

The list isn't only for Toshiba 4030 CDT owners, but for anyone who has a similar system.

I'll collate the collected wisdom of the list on this page as time permits. Please don't contact me directly about this stuff - that's what the list's for!

Table of Contents



1 Changes

  • 26/7/99 Added Douglas Johnson's excellent notes on "RH6 X Accelerated for Newbies"
  • 1/7/99 Added Richard Facchetti's notes on the 4060XCDT, more notes on the RH 6.0 keyboard lockup, serial port weirdness notes, some suspend notes, X server patch available.
  • 14/6/99 Keyboard lockup with RedHat 6.0? Just disable GPM at boot.
  • 11/6/99 Added a RedHat 6.0 notes section, since this is plaguing people. (Also see this if you're using a late 2.1 or 2.2 (and presumably 2.3) kernel.) Also added a PCMCIA Compatibility section. Also added fan program info. Added resources section.
  • 10/6/99 Now we have a mailing list - see details at top of page. DON'T contact me at work - go via the list (then others more qualified than me can answer!)
  • 17/05/99 Note to mail me at work rather than at home; update on sound card support; received tech info from Trident and passed it on the the XFree86 team.
  • 29/3/99 Reminders that my sample config uses a GB keymap; Warnings about Xconfigurator. Thanks to Honza Jirousek for notes on internal modem, X and vesafb; Antonio Conde and Andrew Mehlos for multimedia info.


2 Acknowledgements

I'd like to thank my employer for allowing me relative freedom of choice when buying a laptop (and for actually buying it!), the maintainers of the "Linux for Laptops" pages for their invaluable advice when choosing a laptop, and to Linus Torvalds, Richard Stallman, The XFree86 Organisation, Red Hat software etc. for developing a system that's actually worth installing on a laptop.

Thanks to Trident, whose press release told me that the (unsupported) video chipset was pin-compatible with one that was, enabling me to add support for it in the XF86_SVGA server. Thanks to them for providing chipset info so the server can be extended. This has now been passed on to the XFree86 team, so we should hopefully see better support for the chipset in the near future. Particularly, I'd like to thank Scott Hovey and Iming Pau.

I also need to thank Bernd Reichert for the NT OS + Linux mini-HOWTO, David Hinds for the Linux PCMCIA HOWTO, Kenneth Harker for the Linux on Laptops pages, and everyone who has contacted me since I released this page - I'd thank everyone in turn, but then we'd never get to the real content! You know who you are - thanks!

Thanks should also go to Toshiba who have given in, and supplied information about their IrDA hardware to the Linux IrDA team. IMHO, it's about time that hardware manufacturers acknowledge the importance of Linux.


3 Introduction

I was asked to spec. out a laptop that suited our requirements - we basically wanted a laptop to run Win95 and NT on. This in itself could be satisfied by just about any laptop on the market, but I had several reasons for choosing a Tosh, and this model in particular. I originally wanted a Tosh 4000 CDT, but it's apparently impossible to obtain one of these now, and so I went for the next model up.
  • Needs >= 32MB memory. NT and 95 will run in 16MB, but it's painful. Of course, Linux will run with anything over 2 bytes, and for what I needed, 8MB would have been fine...
  • No touchpad. Having to use a mouse is bad enough when you're a hardened command line & vi addict like me, but if it had to be rodent-capable, a touchpad is simply unacceptable. I find myself brushing the palms of my hands over them and making the accursed mouse go where it isn't wanted. plus, I've read a research paper in CHI proceedings a couple of years ago that investigated touchpads and found them to be one of the worst forms of pointing device. So, something had to be found. I like trackballs, but laptops with them are difficult to find. The only alternative is the "trackpoint" - the "eraser-head". This limited my choice somewhat: an IBM ThinkPad (oooh, sexy but expensive), or a Tosh. The Tosh won.
  • Needs a large disk, so we can install 3 OS's on it.
  • Needs a large-ish TFT screen. Dual-scan is for people who don't need to look at a screen all day. TFT screens are more expensive, but your eyes will thank you for it.

You can find the full specifications for the 4030 CDT on Toshiba U.K.'s Website.

One thing that put me off the 4030 CDT is its video chipset - a Trident Cyber 9525DVD - this isn't currently officially supported under XFree86, and at the time of writing this, it doesn't look likely that it will get supported in the 3.3 line - I'll have to wait for XFree86 4.0.

This does not deter studly hackers like me; I have built a modified SVGA server and XF86Config file you can use (see later).

For networking/modem, I chose a Xircom RealPort REM56G-100, since I know that it's supported under all 3 OS's.

I know the 4030 has a built-in modem, but I had difficulties getting it working under Linux.

3.1 Similar systems

Scott Hunter tells me that the Toshiba 4030, 4060 and 4080 all share the same internal hardware with different size TFT's, hard drives and memory. My patches are working on his 4080 with 14" display <envy>

Don Sanders tells me that "I have a slightly different model Tosh from you (4080XCDT) and things aren't going completely smoothly (I'm missing 8 pixels from the top of my screen and have 8 black pixels on the bottom and have to start up XF86_SVGA & then startx and the X server seems to be taking up a lot of CPU for no apparent reason)."

I saw similar border behaviour to this when I was testing the original X server using the Cyber9387 chipset driver. I never managed to correct it using XVidTune, although I was being careful to keep the refresh rate locked at 60Hz. YMMV. Don tells me that 1024x768 at 16 bit is supported and the picture is rock solid. I've tried it at 8 and 16 bpp at 1024x768, and it works fine. 800x600 is OK, but the screen is stretched, with a black border on the bottom and right edges, and looks as if it's shimmering slightly. 32bpp is corrupt.

Ricardo Facchetti sent his Linux installation roadmap - it's a little large to incorporate in the text of the page, so it's a separate page: here.


4 Windows 95/98 Dual-Install

When we bought our Tosh, it came with Windows 95/98 pre-installed, with the option of choosing one and deleting the other.

Since all the disk repair tools I have understand FAT16 / VFAT, as does Linux, and since nothing I have understands FAT32 (yet), I had to choose FAT16. Plus, I'm not too keen on having Internet Explorer 4 as my main disk browser. I could always install Windows 98 Lite, and re-install the old Windows 95 Explorer, but since I haven't really got time to mess about with that kinda thing, I just chose Win95. Better the devil you know.

After install, I found the disk laid out thusly:

/dev/hda: 255 heads 63 sectors 526 cylinders
/dev/hda1  *  1     1    261   2096451   6  DOS 16-bit >= 32M
/dev/hda2     262   262  525   2120580   5  Extended
/dev/hda5     262   262  522   2096451   6  DOS 16-bit >= 32M
/dev/hda6     523   523  525     24066   4  DOS 16-bit < 32M
Win95 was in /dev/hda1, the other two partitions were blank.

5 Preparing the disk for Linux and NT

I'd need to install NT 4.0 Workstation on here too, in its own NTFS partition, so decided to remove hda2, 5, and 6, and create three new primary partitions:
/dev/hda2 a 1.5GB NTFS partition for NT
/dev/hda3 a ~500MB Ext2 partition for Linux
/dev/hda4 a 32MB swap partition for Linux
I'll be using the NT boot loader as the first-stage loader. It'll take over the MBR, and I'll have an option in there for Windows 95 and one for Red Hat. This is to be done using the techniques described in the NT OS Loader + Linux mini=HOWTO

To prepare the disk, I used DOS' fdisk to delete both logical DOS drives under the extended partition (drives D: and E:), then to delete the extended partition itself.

DOS is so challenged that I could not create a second primary partition using DOS' fdisk, so I rebooted with a Linux boot disk, and did it using Linux fdisk.

In Linux' fdisk, I created the partitions shown above, then started the Red Hat install. (I did it this way, since I *know* old fdisk, not the new Red Hat disk druid thing!)

/dev/hda: 255 heads 63 sectors 526 cylinders
/dev/hda1  *  1     1    261   2096451   6  DOS 16-bit >= 32M
/dev/hda2     262   262  453   1542240   6  DOS 16-bit >= 32M (gets NTFS'd)
/dev/hda3     454   454  522    554242+  83 Linux native
/dev/hda4     523   523  525     24097+  82 Linux swap
Note: I recreated /dev/hda4 - it's the same number of cylinders as the old /dev/hda6, but has more blocks. I could have taken it to cyl 526, but there may be some valid reason for not using the last cylinder on the drive, so kept it at 525.

Rebooted... DOS 95 came up, drive D: couldn't be accessed, but that's OK. (NT reformatted that later anyway). Windows booted, which was the main thing.


6 Time to put your Red Hat on

I'm using the Red Hat Powertools 5.1 set, and the Intel CD (CD #1) boots fine, if you power the laptop off, hold down 'c', and reboot.

At the boot: prompt, I just pressed Return.

I didn't need PCMCIA support during the install (at this stage, I didn't have the PCMCIA modem/network card).

I went through Disk Druid to the best of my ability :-) assigning /dev/hda3 to / and /dev/hda4 as the swap drive. I formatted both checking for bad blocks.

Since I only gave Red Hat 500MB, and this machine isn't going to be my main Linux machine, I only installed the bare minimum, plus some networking essentials.

The installer went ahead and installed everything. The following is notable:

  • apmd failed to install.
Probing found a PS/2 mouse on /dev/psaux; I wanted to emulate 3 buttons.

And then, the Nightmare of X started.... I chose Cyber9397 as the video driver - I had to pick something! The SVGA server installed. Chose "Custom" for the monitor, and from the tech. spec., entered "Non-Interlaced SVGA, 1024x768 @ 60Hz, 800x600 @ 72Hz" Chose 50-100 for the vert. sync. rate, and Probed... it failed. Entered 2MB VRAM, although I have 2.5. No clockchip. See later section for how to get X working.

I chose "no" when asked about LAN networking.

Made a custom bootdisk...

Installed the bootloader in the first sector of the boot partition, since the MBR will be NT's when I install that.

Didn't specify any options. Added the Win95 partition to the LILO config file, since someone might select Linux when they really meant Windows 95. I know, it's an easy mistake to make.

Everything finished, and the machine rebooted happily to Win95.

Inserted the bootdisk, rebooted, and... wahey!


7 Console and Graphics/X

7.1 Getting X Working

Needless to say, startx failed :-(

Getting X working was tedious, but eventually successful.

It did report though that the chipset might be tgui9420dgi. This is going to be fun...

FYI, SuperProbe from the original RH5.1 says:

First video: Super-VGA
  Chipset: Trident (chipset unknown) (PCI Probed)
           Signature data: e0 (please report)
  Memory:  2048 Kbytes
  RAMDAC:  Sierra SC1148{2,3,4} 15-bit or SC1148{5,7,9} 15/16-bit HiColor
           (with 6-bit wide lookup tables (or in 6-bit mode))

7.2 Upgrading to XFree86 3.3.3.1

I downloaded the latest version I could find on the Imperial College mirror of ftp.redhat.com, under 5.2 updates. Installing this required me to update some other packages. I really only wanted to install these:
XFree86-75dpi-fonts-3.3.3.1-1.i386.rpm
XFree86-libs-3.3.3.1-1.i386.rpm
XFree86-VGA16-3.3.3.1-1.i386.rpm
XFree86-SVGA-3.3.3.1-1.i386.rpm
Xconfigurator-3.89-1.i386.rpm
But Xconfigurator needs...
newt-0.30-2.i386.rpm
mouseconfig-3.1.3-1.i386.rpm
XFree86-3.3.3.1-1.i386.rpm
And installing newt would mean I have to upgrade:
chkconfig-0.9.6-1.i386.rpm
kbdconfig-1.8.3-1.i386.rpm
rhs-hwdiag-0.30-1.i386.rpm
sndconfig-0.27-1.i386.rpm
timeconfig-2.5-1.i386.rpm
sndconfig also needs:
isapnptools-1.15a-3.i386.rpm
awesfx-0.4.2-1.i386.rpm
All the above installed fine, although I had to use --nodeps to install newt.

SuperProbe now gives me:

First video: Super-VGA
  Chipset: Trident (chipset unknown) (PCI Probed)
           Signature data: 95251023 (please report)
  Memory:  2048 Kbytes
  RAMDAC:  Sierra SC1148{2,3,4} 15-bit or SC1148{5,7,9} 15/16-bit HiColor
           (with 6-bit wide lookup tables (or in 6-bit mode))
Well, at least it gets the signature data slightly more accurate!

I had to hand-tweak the XF86Config file, but I got X a little further than having the server crash. I had to say that the chipset was a cyber9520, which is supposedly supported, and fill in the VideoRam 2048 line that Xconfigurator said it would do for me (but didn't).

The screen flickered, and got nowhere. But at least it flickered! I got a message "SVGA: Detected a Trident 9382", (incorrect) "SVGA: Detected a TFT 1024x768 Display" (correct) followed by "chipset: cyber9382"

7.3 My Custom X server for the Cyber 9525

After some more tweaking, I looked around for an updated XFree86, but found nothing. I looked on Trident's website and found a press release that said that the 9525 was pin-compatible with the 9520, which is supported. So, I downloaded the source to the X server, patched about a bit, and built my own X server. Until this chipset is officially supported by XFree86, you might like to try what we have here, and at this point, I think a disclaimer is in order.
                 WARNING    WARNING     WARNING    WARNING

USE OF THIS SOFTWARE CAN DO PERMANENT DAMAGE TO YOUR MONITOR AND/OR
VIDEO CARD.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL 
MATT GUMBLEY (OR HIS EMPLOYER) OR THE XFree86 PROJECT INC. BE LIABLE FOR 
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 
OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
That said, I've not had any problems with this server, running at 1024x768 @ 60Hz. If it blows up your Toshiba, then I'm extremely sorry, but there's not a lot I can do. Apologies. You know the risks you take...
  • X3331-Cyber9525-bin.tar.gz, the binaries/configuration files you'll need. To install:
    • Obtain, and install all packages listed above, under "Upgrading to XFree86 3.3.3.1". Don't bother configuring anything, as it's all here for you.
    • Download the above package.
    • log in as root
    • cd /
    • gzip -cd X3331-Cyber9525-bin.tar.gz | tar xvf -
    • This replaces XF86_SVGA, SuperProbe, the Cards database, and gives you a sample XF86Config file that works for me.
    Note: Don Sanders tells me that the XF86Config file I supply in this archive contains the line:
    FontPath "/usr/share/fonts/default/URW"
    Which isn't valid on a RedHat 5.2 system, and also, the line:
    XkbLayout "gb" Which won't be valid for non-GB people!
    Note: Honza Jirousek reminded me that you shouldn't use Xconfigurator after you've installed the sample XF86Config - it'll create a config that'll make your screen gradually go white. I don't know what the cause of this is, and I don't know what damage it could cause - I guess the refresh of the transistors in the screen is not being handled correctly - it looks scary, and I advocate starting your X server with sync;sync;sync;startx, and getting ready to hit the switch.

    If you do use Xconfigurator after installing my XF86Config, put the mode lines from mine back, and get rid of the Xconfigurator-generated ones.

    Honza also tells me that "Unfortunately XF86_SVGA can't coexist with linux 2.2.* fbcon (vesafb graphical console) on this hardware, so you can have either nice full-screen console or a reasonable X server. I guess the latter will be the choice of most laptop owners - I switched to your server as well."

  • X3331-Cyber9525-src.tar.gz, the source code to the modifications I made. They overwrite the relevant files of the "server only" source distribution.
Note, however that for X to work, you must disable "screen stretch" either in the BIOS or in Win95/98/NT. X won't start if this is enabled. If you take the "noaccel" option out of XF86Config, X will lock the machine solid, and you'll have to hold the power button in for a few seconds.
  • A patch against the original tree, as performed by Pavel Machek, who also did some "tiny cleanup". Many thanks, Pavel.

    7.4 Full Screen Console with vesafb

    Honza Jirousek has supplied the following information: "Text mode console on this notebook runs either in a small area in the center of the screen or in quite ugly "stretch mode" (switch it on in BIOS setup). Linux 2.2.* kernel provides a generic vesafb, framebuffer device for machines with VESA 2.0 compliant video BIOS (which includes this notebook), and fbcon, graphics mode full screen console. Read Documentation/vesafb.txt included with kernel sources and tips at http://www.uno.edu/~adamico/banshee. You can get a nice looking 128x48 chars console plus a boot logo (!) this way. A drawback (a huge one) is that it currently (as of XFree86 3.3.3.1) doesn't cooperate well with XF86_SVGA server (X server uses only upper third of the screen ?!?). This has to do something with conflicting graphics mode initialization performed by both vesafb and XF86_SVGA. Most likely it will be fixed in future releases of XFree86, until then one has to make a choice between a nice looking console and a nicely working X. See also my note on XF(86|68)_FBDev." (below)

    7.5 Another Way to X

    Honza Jirousek has supplied the following information: " Another way to run X on this notebook is to run generic fbdev X server over vesafb (requires kernel 2.2.*). This is however suboptimal, as this server will never be accelerated, and the current implementation suffers some keyboard-related problems (requires special key mappings and has problems with auto-repeat of some keys) and also doesn't allow XKB extensions, which disqualifies it for internationalization. THis server doesn't come with XFree86 binary distribution by default, only in the source distribution (as XF86_FBDev). I ran another version of it (XF68_FBDev) downloaded from http://www.uno.edu/~adamico/banshee, where you can also find all the info needed, before cyber9525-patched XF_SVGA appeared and the speed was comparable to unaccelerated XF86_SVGA. "

    8 Networking

    We're using a Xircom "RealPort Ethernet 10/100 + Modem 56", REM56G-100BTX/EU1/M (For 10Base-T and 100Base-TX). As Jerry Pournelle would say, "Recommended". No need for extra cables, just plug your 10Base-T RJ-45 cable in, and off you go. It takes both card slots, so if you have some funky PCMCIA peripheral that you need, beware.

    To take better advantage of the card, I upgraded to Linux 2.0.36, as found on the Red Hat Updates page. Installation of this was rather tedious, and I won't go into it here. You have to install all the new kernel stuff, usually using the --force option, and remove all the old stuff (I kept the old kernel itself lying around, in case).

    You might have to keep a copy of /etc/sysconfig/pcmcia around, since new installs of the kernel-pcmcia-cs package (or something kernelly) seems to install a version of this file that disables PCMCIA. Read the PCMCIA HOWTO for all the details.

    8.1 On the LAN

    Created /etc/sysconfig/network-scripts/ifcfg-eth0 like this:
    DEVICE=eth0
    IPADDR=a.b.c.d
    NETMASK=255.255.255.e
    NETWORK=a.b.d.e
    BROADCAST=a.b.c.255
    ONBOOT=yes
    
    (Where a,b,c,d,e are parts of your network numbers; Read the Network Admin Guide if you're unsure).

    Created /etc/resolv.conf:

    search ourdomain.co.uk
    nameserver a.b.c.f
    

    /etc/sysconfig/network is like this:

    NETWORKING=yes
    FORWARD_IPV4=false
    HOSTNAME=penguin.ourdomain.co.uk
    DOMAINNAME=ourdomain.co.uk
    GATEWAY=a.b.c.g
    GATEWAYDEV=eth0
    

    Under 2.0.34, I needed to do a ifup eth0 manually to bring the network up nicely.

    Under 2.0.36, this isn't needed. (Get the kernel-pcmcia-cs package as well!)

    8.2 Using the modem

    With Linux 2.0.34, xirc2ps_cs.c 1.25 probed for eth0, found the card, and came up with "serial_cs: register_serial failed.".

    Life's too short to work out why, so I upgraded to 2.0.36, and it works fine on /dev/ttyS3 (although I had to disable the internal modem in the BIOS to avoid an interrupt conflict; see the PCMCIA HOWTO).


    9 The Internal Modem

    To get my Xircom modem working, I had to disable the internal modem in the BIOS. Honza Jirousek has supplied the following information:

    "Internal modem is a PCI-based Lucent Technologies winmodem (possibly based on LT Luna PCI chip) and certainly not workable under Linux. Under Win98 with Toshiba drivers it works in Win programs and in DOS window, but it doesn't work in "DOS mode". For some reason it uses IRQ 3 and I/O port 0x2f8 (you can actually set this in BIOS setup), so DOS/Linux think there is a COM2/ttyS1 - but there is no standard UART interface to communicate to, thus no communication. Get a good PCMCIA modem card (I've got 3com "super-combo" 3CXEM556C - 56k modem + 10baseT + 10base2 - and it works great with pcmciacs-3.0.9) and you won't be sorry. The quality of internal winmodem is questionable even under Win98 with Toshiba drivers, at least according to my experience with 56k calls to two local ISPs in NYC."

    So there you have it. Forget about the internal modem.


    10 The Serial Port

    Brian Slesinsky foudn problems using his serial port:
    " Hi, I'm trying to get COM1 (/dev/ttyS0) working under DOSLinux, to connect to an external modem. Linux seems to boot fine but it doesn't recognize ttyS0, only ttyS1, which I believe is some other device (infared?). The IRQ and I/O ports seem to be correct (they match Windows 98), but the command 'setserial /dev/ttyS0 autoconf' doesn't seem to recognize the UART. Any suggestions?

    ...

    I figured it out: I'm using loadlin to boot, and when I booted after running Windows 98 (using "restart in MS-DOS"), the serial port doesn't show up. However if I boot without running Windows 98 (by booting while holding down the control key and selecting the MS-DOS prompt from the menu) it seems to work fine."

    I've noted the following:
    My /dev/ttyS0 (major 4, minor 64) is the port on the back of the machine. Kernel 2.0.35 detects 'tty00 at 0x3f8 (irq=4) is a 16550A', which is odd, since I don't have a /dev/tty00 - perhaps it's getting confused. The port works fine with minicom, connected to a terminal.
    I also get tty03 detected, which is the Xircom's modem. (/dev/cua3)
    Stangely, I can't use minicom to access my modem any more, but PPP works fine?
    In Win95, the infrared box in control panel says "Enable infrared communication on COM5, providing application support on COM4 and LPT3)"... ?


    11 Advanced Power Management

    Honza Jirousek has supplied the following information: "Compiled the kernel with the following set
    • CONFIG_APM
    • CONFIG_APM_CPU_IDLE
    • CONFIG_APM_DISPLAY_BLANK
    • CONFIG_APM_POWER_OFF
    This will reduce power consumption when the CPU is idle (typically by reducing the CPU frequency), turn off the backlight of the LCD screen when the normal Linux screenblanker is activated, and turn off the computer after a shutdown -h. Kernel power-off handling changed with 2.2.* series, linux now requires to be explicitely told to power-off by "halt -p" or equivalent. In stock RedHat 5.2 "halt -p" on the command line is not enough, /etc/rc.d/init.d/halt has to be modified.

    I haven't played with suspend/resume on this machine yet, but on my previous Toshiba notebook (Tecra 730) the settings above was all that was needed in the kernel. It also needed apmd with automatic suspend script to perform "cardctl eject" on PCMCIA cards. More on this later ... "

    Andrew Mehlos also notes keyboard lockups with > 2.1.100 kernels - this is covered in the RedHat 6.0 section.

    Ivo sent in the following for those wanting to try suspend: " If you close the laptop while running X, the laptop will suspend. If you open the laptop again, you will find X hopelessly garbled and you will have to reboot. I had this same problem with my previous laptop, the 490 xcdt, and I found a solution to this problem on the net somewhere, and in case you haven't: here it is...

    The basic solution is to swith to a text console before suspending. You can do this by hand but it's nicer to make apmd do it as follows: Create two scripts in (for example) /etc/sysconfig/apmd-scripts, apmd-suspend and apmd-resume.

    apmd-suspend contains the following lines (don't forget to make it executable):

    #!/bin/sh
    # switch to a safe vt. Suspending while in X will crash X
    /usr/bin/chvt 1
    exit 0
    
    This will make linux switch to virtual console 1 before suspending.

    apmd-resume looks as follows:

    #!/bin/sh
    #
    # Switch back to vc 7 (hoping that's where we left. If not, tough luck).
    # also, unload/reload any sounddriver necessary.
    /usr/bin/chvt 7
    
    Which will make linux switch back to X on virtual console 7 (assuming this is where X is running). Too bad these things are currently hard coded but I haven't found a way to store the current vc.

    Finally, instruct apmd to run these scripts when suspending/resuming. This can be done through apmd's commandline options. On redhat/mandrake systems this is defined in /etc/sysconfig/apmd. Add the following two options to this command- line:

    -s /etc/sysconfig/apmd-scripts/apmd-suspend -r
    /etc/sysconfig/apmd-scripts/apmd-resume
    
    I.e. the entire commandline might look something like:
    [ivo@laptopje sysconfig]$ cat apmd
    APMD_OPTIONS="-p 10 -w 5 -W -s /etc/sysconfig/apmd-scripts/apmd-suspend -r
    /etc/sysconfig/apmd-scripts/apmd-resume"
    
    Restart apmd and test if it works (at your own risk of course, standard disclaimer applies).
    "

    12 Multimedia

    Antonio Conde tells me that the audio chipset is an ESS 1978. Windows 95 reports the following resources in use:

    ESS Device Manager uses IRQ 11, I/O FC00-FCFF
    Gameport Joystick uses I/O 0200-0207
    Maestro DOS Games/FM Devices uses I/O 0220-022F, 0388-038B, IRQ 05, DMA 01
    Maestro MPU401 Devices uses I/O 0330-0331

    Andrew Mehlos tells me: " Flipping through the manual [gasp], it says it's compatible with the Windows Sound System and an SB-Pro; most of the documentation that comes with the kernel source would seem to indicate that it's an OPL3/SA[1x] chipset. (by virtue of being WSS _and_ SBPro compatible, anyways). Hmm. So I check /proc/pci (running 2.2.3 kernel), which knows it's an audio controller, and knows it's revision 16, but doesn't know the Vendor(id 125d) or the Device (1978), and says the IO is at 0xfc00 [0xfc01], and running IRQ 11, like the internal modem, the video card, and the USB port. Huh. However, the 'lspci' utility says it's an ESS controller, with "unknown device 1978" and revision 10 (as opposed to 16). (lspci also calls it a 440BX board; I'm pretty sure it's a 440DX, however). "

    He later replied: " Well, I got email back from the OSS people; apparently the ESS 1978 is the same as a Maestro-2 card, which no one seems to support yet, but they said they're working on something for it.

    You can however get the SB PRO drivers working by first initializing the card in DOS and then booting linux using loadlin and then configureing either the OSS/Free kernel drivers using the SB PRO definition or you can configure the commercial OSS drivers using the SB PRO definition. The drawback is that you only get 8 bit audio.

    We expect to add native (16bit audio) and other support for the ESS Maestro2 card shortly.

    ... So that's kind of a bummer, since I don't have any DOS disks sitting around, and the isapnptools package doesn't know a thing about it. Argh. I wonder if I can fit the drivers on a minimal floppy disk and still have 500-600k left for the kernel... Hmm. At least we know what it _is_ now, though. :) "

    Andrew later replied: OSS has drivers for the Maestro 2E in the latest version from www.4front-tech.com -- I've got sound working on my laptop now... CD's sound great, but the driver is definately still beta... mp3's sound fairly ugly, in all honesty. Hopefully Alan Cox will get the 2E stuff in a -ac? kernel soon. But at least sound is there now.


    13 RedHat 6.0 Notes

    Several people have noticed problems with RedHat 6.0 on the 4030 and 4080XCDT:
    • The keyboard locks up on reboot:
      1. during installation, select "no mouse"
      2. Andrew Mehlos reports: " One thing I've noticed with the last couple Toshiba laptops I've put Linux on, especially with > 2.1.100-ish kernels is that it seems to disable the keyboard upon powering up. Not sure if it does it with other makes, but on the 4030CDT and the 4000CDS I've used, the trick is changing the BIOS to do Resume on power-up instead of boot, let it boot to the login screen, hit the power button to suspend it, and then bring it back up. "
      3. Alexandro Russo reports: " I am having the same problem; it seems specifically related to 6.0. I haven't had time to find a real solution to this problem; here are a couple of "dirty fixes".
        Select your mouse as PS/2. then, either
        - keep pressing and releasing a key (e.g. Caps Lock) during the boot until the gpm has started.
        or
        - when frozen, put the computer in standby and then turn it on. "
      4. Scott Hunter reports: " [disabling the mouse during install] ... is overkill. All you need to do is when the install asks which services to start at boot you want to disable the GPM service. This is the service that provides mouse support for text based applications. It seems to not like the Toshiba's but I haven't looked into why. Disable it and 6.0 will boot and work just fine. Least on mine it does. :-)"
      5. Honza Jirousek reports: " My case definitely indicates it's PCMCIA. Happened to me with RH6.0 and RH5.2 + PCMCIA 3.0.9 as well. In case of 5.2, i installed it OK without PCMCI card, and after setup of PCMCIA support I got lockups. The /etc/pcmcia/config.opt fixed it - but don't ask me for details, most of the exclude sections are black magic for me. I have 3com Megahertz 3CXEM556 10Mb ethernet/56k modem combo and I thought the problem was with the card - so I searched tip on dejanews and foud this config.
        I never did anything to gpm. But hearing other people, it sure sounds like a resource conflict between PCMCIA card and PS/2 mouse. "
      6. Bobby Cossum reports: " I finally got as far as getting my system up and running with pcmcia support and gpm both going and got minicom to dial my isp. i'm running a 4010cdt, with a 3com noteworthy 56k modem in pcmcia socket 0, suse 6.1, kernel version 2.2.7, pcmcia version 3.0.9, and gpm version 1.17.5.
        What did the trick was getting into /etc/rc.config and setting
        PCMCIA_PCIC_OPTS = "do_scan=0 irq_mask=0xefff"
        Near as I can tell this keeps the pcmcia driver from scanning irq 12 and causing a conflict with the ps/2 mouse.
        What I'd like to know, now, is whether this is eqivalent to setting
        exclude irq 12
        in /etc/pcmcia/config.opts, or, maybe, if I knew the name of the module for my modem
        module "xxxxxx" opts "irq_list=3" "
    • Setting the correct mouse device. Bruce Maxwell reports: "After installing your Xserver patch, I had to link /dev/mouse to /dev/psaux for X to find the mouse from your config file."

    13.1 RH 6.0 X Accelerated for Newbies

    Included below is the full text of a mail by Douglas Johnston, to the mailing list:
    Date: Sun, 25 Jul 1999 10:59:53 -0300 (ADT)
    From: Douglas Johnston 
    To: linux-tosh-40xx@geekstuff.co.uk
    Subject: [linux-tosh-40xx] RH6 X Accelerated for Newbies
    
    I have been following all the little bits on this mailing list about
    installing X on the Toshiba laptop, and gave it a go last night. It worked
    beautifully, so I just wanted to help put it all together for all the
    newbies that are surveying this list.
    
    Caveat: I have a plain-vanilla Red Hat 6.0 distribution and am running it
    on a Satellite 4060XCDT. While these instructions should work for most
    recent distros, I cannot verify this, and so you're on your own.
    Hopefully, there should be enough information here to get you well on your
    way, though. These instructions also reflect what I did: I do not claim
    that there may not be better or more efficient ways of doing this. Read
    EVERYTHING here before you start.
    
    
    Quickstart
    ==========
    
    1) Grab Matt's patched X Server/XF86Config file and install the set.
    2) Make sure they're working: tweak the XF86Config as necessary.
    3) Grab and install the new XFree86 3.3.4 set.
    4) Link the /etc/X11/X to the new SVGA server.
    5) Go to the XF86Config and comment out the chipset and noaccel option.
       Add the option "accel".
    6) Try it. Optionally, tweak your MTRR.
    
    
    
    Full Newbie Version
    ===================
    
    Install the Gumbley X Server:
    
    1) Go to Matt Gumbley's site and follow the directions for the patched X
    server installation. You should know the page anyway, but it's at:
         http://www.gumbley.demon.co.uk/linux-tosh-4030-cdt.html
    
    2) Go into your XF86Config. You may have to change certain of the settings
    for your hardware, fonts, etc. In particular, pay careful attention to the
    X Keyboard Layout setting, the mouse settings, and the font paths. If any
    of these don't jive, you may have to make the necessary changes.
    
    3) Start up your X. You should know then if your XF86Config is correct. If
    you notice the screen go black, and then bleed white in from the edges,
    hit Ctrl-Alt-Backspace REAL QUICK: you've done something wrong. Go back
    and verify that you've followed the instructions to the letter.
    
    4) Once everything is working, you should have an unaccelerated X server
    which can be rather slow. The important thing is that it does work, and
    work well. If you do not need it to run faster, then you can stop right
    here. If you want to continue, back up your working XF86Config and
    SVGA_Server files (simply copying them, as in
       cp XF86Config XF86Config.patched
    should suffice), just in case something screws up later. Also, note the
    time stamp on the SVGA_Server.
    
    
    Grab the New XFree86 3.3.4 Distribution:
    
    5) If you have a recent Red Hat, you can find the necessary files at:
         http://www.rpmfind.net
       (This is an excellent site for finding almost any RPM you might be
    looking for. I am surprised by how many Red Hat users don't even know of
    this site yet.) Go into the RPM database, list the packages by name, go to
    the X series, and scroll on down until you find the XFree stuff. Many of
    the files you need are currently being marked by a little yellow "New"
    tag, so they will be easy to find. The files you need are:
       XFree86-3.3.4-2.i386.rpm            XFree86-devel-3.3.4-2.i386.rpm
       XFree86-SVGA-3.3.4-2.i386.rpm       XFree86-libs-3.3.4-2.i386.rpm
       XFree86-XF86Setup-3.3.4-2.i386.rpm  XFree86-xfs-3.3.4-2.i386.rpm
    (Keep in mind that these may be superseded by newer versions.)
    
    Install the set with "rpm -Uvh XFree86-*.rpm". If it tells you you need
    other RPMs to satisfy the dependencies, and you don't have the appropriate
    packages already installed, then you should listen to it and grab/install
    those packages as well.
    
    6) If you don't have Red Hat, go to ftp.xfree86.org or mirror, and grab
    the 3.3.4 series. Installing these is beyond the scope of this document,
    as almost every system differs enough to make an explanation very
    complicated.
    
    
    The Last Steps:
    
    7) Verify that your XF86Config has not been overwritten. If it has, then
    replace it with the .patched version you copied earlier.
    
    8) Make sure the link from X (check your /etc/X11 directory) is pointing
    at the new SVGA_Server. Check the time stamp on the linked file, and
    verify that it is new. You may have to change to link from X to the new
    server using a "ln -sf /path/to/new/SVGA_Server /etc/X11/X" if it isn't.
    If you don't know what I'm talking about here, please ask the mailing list
    for help.
    
    9) Start up X. It should still run, in unaccelerated form. If it isn't,
    and you see the white creeping death, hit Ctrl-Alt-Backspace NOW and
    double-check that you've followed the instructions.
    
    10) If all is well, then exit X and go into the XF86Config. Comment out
    (put a '#' in front) the lines 'Chipset "cyber9525"' and 
    'Option "cyber_shadow"'. Change the line 'Option "noaccel"' to read
    'Option "accel"'. Save and exit.
    
    11) Start X again. Things should now be accelerated. Grab a large window
    and drag it around the screen. You should not be seeing hardly any
    repainted of the window and it should be fairly smooth. If so,
    congratulations: you have a working accelerated X.
    
    
    A Last Option?
    
    12) It has been mentioned that the MTRR should be changed for the purposes
    of running X, but I have tried it with and without, and have seen no
    discernible difference. If, however, you wish to try it, read the
    /usr/src/linux/Documentation/mtrr.txt file and set it up as it describes.
    For my machine and X (caution: yours may be different!), I use:
      echo "base=0xff800000 size=0x200000 type=write-combining" > /proc/mtrr
    As I said, it may make a difference. However, I do not claim any real
    knowledge about what this actually does, or how it does it.
    
    
    I hope this helps someone out there. My own expertise lies in web
    development, and while I love using Linux and X, I cannot spend all the
    time I would like to get to know these better. Therefore, I caution anyone
    following these instructions that they may be inaccurate. Hopefully, list
    members will find errors in this before the errors find the newbies. All
    the usual disclaimers apply: do this at your own risk.
    
    cheers,
    Doug Johnston
    
    


    14 PCMCIA (PC Card) Compatibility

    The following devices are known to work with these laptops:
    • Xircom RealPort REM56G-100. What Matt uses - seems to work fine with no real problems, although I haven't managed to get it to work @ 100Mbps yet.
    The following devices have been reported as not working or not working fully:
    • Intel Etherexpress Pro 10/100 Mobile. Bruce Maxwell says it's supposedly supported under the latest PCMCIA package.
    • Trust 10meg (generic NE2000). Steve Hardy says it works in '98, but isn't recognised in a 4030CDT with RH5.2.
    • Paulo Meriggi has problems with a PCMCIA Wavelan.
    Andrew Mehlos suggests:" I'm not sure if it'll help for you, but I've had much better luck with PCMCIA by going into the BIOS and turning the PCMCIA mode to (IIRC) PCIC-Compatible instead of the Cardbus or Auto settings."

    15 Conclusions

    The 4030 CDT is a nice laptop, great with Win95 (if that isn't an oxymoron), but not the easiest machine to get working with Red Hat 5.1. Red Hat 6.0 can cause initial problems; see above for details.

    As a general rule when purchasing equipment that will be used with Linux, don't go for state-of-the-art, as the drivers are probably not ready.

    Pros:

    • Screen clarity
    • Excellent keyboard
    • Eraserhead mouse (not a trackpoint!)
    • CD-ROM, and bootable too!
    • Windows 95/98 dual-install leaves a D: partition free, making installation quite straightforward.
    Cons:
    • Internal modem is a WinModem. See http://www.winmodems.org/ for information on why these are Bad, bad, BAD. It mimics COM2, but I couldn't get it working under Linux, and there's probably no chance of it ever working. I disabled it in the BIOS, and use the RealPort modem.
    • Cyber9525DVD video chipset not yet officially supported by XFree86, although I have a fix.
    • Sound chipset is a little new, and unsupported.
    Major things you'll have to do:
    • Get Red Hat 5.2, life's too short to hack 5.1 into usability! 6.0 is good, but there are things to be borne in mind with gpm.
    • At least, upgrade to Kernel 2.0.36 and associated PCMCIA package.
    • Get my experimental XF86_SVGA.
    • Get a real network/modem card. The RealPort is nice.
    • Get Jonathan Buzzard's fan control program.


    16 References and Resources

    • Kenneth Harker's Linux on Laptops page - Far More Than You Ever Wanted To Know About Linux On Laptops.
    • Jonathan Buzzard's Toshiba Utilities, essential for fan control.
    • Linux Winmodem Support, keep checking back here to see if we'll ever get support for that internal modem.