Linux on the Toshiba Tecra 730CDT


Hi, I'm Chris Wilson. I run Linux on a Toshiba Tecra 730CDT laptop computer. I've been getting a number of requests over the net for information on how to configure Linux for this machine, so I hope to help provide some of that information more conveniently on this page.

First of all, the biggest help by far I can give is to point you to Jens Maurer's great "Linux on the Toshiba Tecra series laptops" page. This page is very well organized and provides all sorts of useful information about configuring and running Linux, including X, power management, sound, and much more, on Toshiba's Tecra series machines.

The main thing that I have to add to that information is my /etc/X11/XF86Config file, which lets the 730CDT run in 1024x768 mode. Note that this file works as-is for the 730CDT, but for the 720CDT and 740CDT models I've had reports that the clock rate needs to be changed from 65.0 to 65.1. I'm not certain whether 65.1 should be use for all or just some 720CDT and 740CDT machines. If you have a 720CDT or 740CDT, I'd recommend trying it with 65.1 first, and if that doesn't work, try 65.0. I haven't had any reports of problems with using 65.0 on a 730CDT. Quite a few people have had success with this file with 720CDT, 730CDT, and 740CDT models, and the only problem seems to be that in some cases a clock rate of 65.0 is needed and in other cases a clock rate of 65.1 is needed. Please drop me a note if you experience any other problems.

Important: as Jens Maurer's page notes, you need XFree86 version 3.2 or newer to have support for any high-resolution modes of the chipsets used on Tecras. This config file will only work with XFree86 version 3.2 and newer.

Here's my /etc/X11/XF86Config file:

Section "Files"
EndSection
Section "ServerFlags"
EndSection
Section "Keyboard"
    Protocol "Standard"
    RightAlt ModeShift
EndSection
Section "Pointer"
    Protocol "PS/2"
    Device "/dev/mouse"
    Emulate3buttons
EndSection
Section "Monitor"
    Identifier  "Generic Monitor"
    VendorName  "Unknown"
    ModelName   "Unknown"
#    Bandwidth   25.2
#    HorizSync   31.5
    HorizSync   25-64
#    VertRefresh 60
    VertRefresh 40-70
#    ModeLine  "640x480" 25.175 640 672 768 800 480 490 492 525
#    ModeLine  "640x480" 31.5   640 664 704 832 480 489 492 520
#    ModeLine  "640x480" 28.322 640 680 720 864 480 488 491 521
    ModeLine  "640x480" 28.3 640 680 720 864 480 488 491 521
    ModeLine  "800x600" 28.3 800 816 856 920 600 603 605 618
    ModeLine  "1024x768" 65.0 1024 1032 1176 1344 768 771 777 806
EndSection
Section "Device"
    Identifier  "Toshiba Tecra 730CDT"
    VendorName  "Toshiba"
    BoardName   "Chips & Technologies 65550"
EndSection
Section "Screen"
    Driver      "svga"
    Device      "Toshiba Tecra 730CDT"
    Monitor     "Generic Monitor"
    Subsection "Display"
        Depth       16
        Modes       "1024x768" "800x600" "640x480"
    EndSubsection
EndSection
Section "Screen"
    Driver      "vga16"
    Device      "Toshiba Tecra 730CDT"
    Monitor     "Generic Monitor"
    Subsection "Display"
        Modes       "640x480"
    EndSubsection
EndSection
Section "Screen"
    Driver      "vga2"
    Device      "Toshiba Tecra 730CDT"
    Monitor     "Generic Monitor"
    Subsection "Display"
        Modes       "640x480"
    EndSubsection
EndSection

Here's my current status: I installed last fall from Red Hat 3.0.3, then grabbed newer sources for some things and built and installed new versions. I'm currently running kernel version 2.0.27. My machine is a Tecra 730CDT. Sound configuration was only partly successful, and I don't have much use for it anyway, so I don't even remember exactly what the status was when I stopped working on it. I got at least one of the sound drivers working eventually and I could cat .au files into /dev/audio and they sounded right. APM works very well for me, and I use battery monitoring (xapm) and suspend/resume (apm --suspend) all the time (thought I have to be careful to remove my ethernet card before putting the machine in suspend mode or it crashes later). X works for me in 16bpp 1024x768 mode without any problems on the TFT display. I've never tried an external monitor, external keyboard, or external mouse. I use PPP to connect to a SLIRP that I run on an ISP shell account through the built-in modem, and it works no problem. I also use a PCMCIA ethernet card when I'm in my office, a Zip drive attached to the parallel port sometimes, and a U.S. Robotics Pilot attachment to the serial port to sync the Pilot palmtop with Linux files other times.

One more thing I recommend is to check the crontab your machine comes with. Look for things that run in the middle of the night once a day or once a week. For example, the distribution I installed had a line to run makewhatis at 3:21am every Saturday. This ran more than an hour on my machine. On a desktop machine, that's no problem to run it in the middle of the night, but on a laptop with suspend/resume, when you resume it tries to run all the cron jobs that should have started since it went into suspend mode. So every week when I first turned on my machine again in the morning, it would immediately start up the makewhatis job and keep the disk constantly spinning for an hour. That's kind of inconvenient if you're on battery power just quickly turning it on to check something. Look carefully at your crontab and decide which nightime cleanup jobs you don't really want to run.

Here are the options I used when building my kernel, from the /usr/src/linux/.config file generated by the configuration process:

#
# Automatically generated make config: don't edit
#

#
# Code maturity level options
#
# CONFIG_EXPERIMENTAL is not set

#
# Loadable module support
#
CONFIG_MODULES=y
# CONFIG_MODVERSIONS is not set
CONFIG_KERNELD=y

#
# General setup
#
CONFIG_MATH_EMULATION=y
CONFIG_NET=y
# CONFIG_MAX_16M is not set
CONFIG_PCI=y
CONFIG_SYSVIPC=y
CONFIG_BINFMT_AOUT=y
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
# CONFIG_M386 is not set
# CONFIG_M486 is not set
CONFIG_M586=y
# CONFIG_M686 is not set

#
# Floppy, IDE, and other block devices
#
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
CONFIG_BLK_DEV_IDE_PCMCIA=y
CONFIG_BLK_DEV_CMD640=y
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
CONFIG_BLK_DEV_RZ1000=y
CONFIG_BLK_DEV_TRITON=y
# CONFIG_IDE_CHIPSETS is not set

#
# Additional Block Devices
#
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=m
CONFIG_MD_STRIPED=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_XD=m
# CONFIG_BLK_DEV_HD is not set

#
# Networking options
#
# CONFIG_FIREWALL is not set
# CONFIG_NET_ALIAS is not set
CONFIG_INET=y
# CONFIG_IP_FORWARD is not set
# CONFIG_IP_MULTICAST is not set
CONFIG_IP_ACCT=y

#
# (it is safe to leave these untouched)
#
# CONFIG_INET_PCTCP is not set
# CONFIG_INET_RARP is not set
# CONFIG_NO_PATH_MTU_DISCOVERY is not set
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y

#
#  
#
CONFIG_IPX=m
# CONFIG_IPX_INTERN is not set
CONFIG_ATALK=m
# CONFIG_AX25 is not set
# CONFIG_NETLINK is not set

#
# SCSI support
#
CONFIG_SCSI=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_CHR_DEV_SG=m

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y

#
# SCSI low-level drivers
#
CONFIG_SCSI_7000FASST=m
CONFIG_SCSI_AHA152X=m
CONFIG_SCSI_AHA1542=m
CONFIG_SCSI_AHA1740=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_IN2000=m
CONFIG_SCSI_AM53C974=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_SCSI_DTC3280=m
CONFIG_SCSI_EATA_DMA=m
CONFIG_SCSI_EATA_PIO=m
CONFIG_SCSI_EATA=m
CONFIG_SCSI_FUTURE_DOMAIN=m
CONFIG_SCSI_GENERIC_NCR5380=m
CONFIG_SCSI_GENERIC_NCR53C400=y
CONFIG_SCSI_G_NCR5380_PORT=y
# CONFIG_SCSI_G_NCR5380_MEM is not set
CONFIG_SCSI_NCR53C406A=m
CONFIG_SCSI_NCR53C7xx=m
# CONFIG_SCSI_NCR53C7xx_sync is not set
# CONFIG_SCSI_NCR53C7xx_FAST is not set
# CONFIG_SCSI_NCR53C7xx_DISCONNECT is not set
CONFIG_SCSI_NCR53C8XX=m
# CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE is not set
# CONFIG_SCSI_NCR53C8XX_IOMAPPED is not set
# CONFIG_SCSI_NCR53C8XX_NO_DISCONNECT is not set
# CONFIG_SCSI_NCR53C8XX_FORCE_ASYNCHRONOUS is not set
# CONFIG_SCSI_NCR53C8XX_FORCE_SYNC_NEGO is not set
CONFIG_SCSI_PPA=m
CONFIG_SCSI_PAS16=m
CONFIG_SCSI_QLOGIC_FAS=m
CONFIG_SCSI_QLOGIC_ISP=m
CONFIG_SCSI_SEAGATE=m
CONFIG_SCSI_T128=m
CONFIG_SCSI_U14_34F=m
CONFIG_SCSI_ULTRASTOR=m

#
# Network device support
#
CONFIG_NETDEVICES=y
CONFIG_DUMMY=m
CONFIG_EQUALIZER=m
CONFIG_PLIP=m
CONFIG_PPP=m

#
# CCP compressors for PPP are only built as modules.
#
CONFIG_SLIP=m
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
# CONFIG_NET_RADIO is not set
CONFIG_NET_ETHERNET=y
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL1=m
CONFIG_EL2=m
CONFIG_EL3=m
CONFIG_VORTEX=m
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
CONFIG_NET_ISA=y
CONFIG_E2100=m
CONFIG_DEPCA=m
CONFIG_EWRK3=m
CONFIG_EEXPRESS=m
CONFIG_HPLAN_PLUS=m
CONFIG_HPLAN=m
CONFIG_HP100=m
CONFIG_NE2000=m
CONFIG_SK_G16=y
CONFIG_NET_EISA=y
CONFIG_APRICOT=m
CONFIG_DE4X5=m
CONFIG_DEC_ELCP=m
CONFIG_DGRS=m
CONFIG_NET_POCKET=y
# CONFIG_ATP is not set
CONFIG_DE600=m
CONFIG_DE620=m
# CONFIG_TR is not set
# CONFIG_FDDI is not set
CONFIG_ARCNET=m
CONFIG_ARCNET_ETH=y
CONFIG_ARCNET_1051=y

#
# ISDN subsystem
#
CONFIG_ISDN=m
CONFIG_ISDN_PPP=y
CONFIG_ISDN_PPP_VJ=y
CONFIG_ISDN_MPP=y
CONFIG_ISDN_AUDIO=y
CONFIG_ISDN_DRV_ICN=m
CONFIG_ISDN_DRV_PCBIT=m
CONFIG_ISDN_DRV_TELES=m

#
# CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
#
CONFIG_CD_NO_IDESCSI=y
CONFIG_AZTCD=m
CONFIG_GSCD=m
CONFIG_SBPCD=m
CONFIG_MCD=m
CONFIG_MCDX=m
CONFIG_OPTCD=m
CONFIG_CM206=m
CONFIG_SJCD=m
# CONFIG_CDI_INIT is not set
CONFIG_CDU31A=m
CONFIG_CDU535=m

#
# Filesystems
#
CONFIG_QUOTA=y
# CONFIG_LOCK_MANDATORY is not set
CONFIG_MINIX_FS=m
CONFIG_EXT_FS=m
CONFIG_EXT2_FS=y
CONFIG_XIA_FS=m
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_UMSDOS_FS=m
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
# CONFIG_ROOT_NFS is not set
CONFIG_SMB_FS=m
CONFIG_SMB_WIN95=y
CONFIG_NCP_FS=m
CONFIG_ISO9660_FS=y
CONFIG_HPFS_FS=m
CONFIG_SYSV_FS=m
CONFIG_UFS_FS=m
# CONFIG_BSD_DISKLABEL is not set
# CONFIG_SMD_DISKLABEL is not set

#
# Character devices
#
CONFIG_SERIAL=y
# CONFIG_DIGI is not set
CONFIG_CYCLADES=m
# CONFIG_STALDRV is not set
CONFIG_RISCOM8=m
CONFIG_PRINTER=m
CONFIG_MOUSE=y
CONFIG_ATIXL_BUSMOUSE=m
CONFIG_BUSMOUSE=m
CONFIG_MS_BUSMOUSE=m
CONFIG_PSMOUSE=y
# CONFIG_82C710_MOUSE is not set
# CONFIG_UMISC is not set
# CONFIG_QIC02_TAPE is not set
CONFIG_FTAPE=m

#
# Set IObase/IRQ/DMA for ftape in ./drivers/char/ftape/Makefile
#
CONFIG_APM=y
# CONFIG_APM_IGNORE_USER_SUSPEND is not set
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y
CONFIG_APM_POWER_OFF=y
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WDT=m
CONFIG_WDT_501=y
CONFIG_WDT_501_FAN=y
CONFIG_PCWATCHDOG=m
CONFIG_RTC=y

#
# Sound
#
CONFIG_SOUND=m
# CONFIG_LOWLEVEL_SOUND is not set

#
# Kernel hacking
#
# CONFIG_PROFILE is not set

If you use information from this page, please drop me a short note and let me know how it works for you. All comments are welcome. mailto:cwilson@cs.stanford.edu