Popularity |
|
Linux and the Toshiba Satellite 4030 CDTAuthor: Matt J. GumbleyFinal Update: Fri Oct 1 14:43:52 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! Table of Contents
1 Changes
2 AcknowledgementsI'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 IntroductionI 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.
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.
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-InstallWhen 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 < 32MWin95 was in /dev/hda1, the other two partitions were blank. 5 Preparing the disk for Linux and NTI'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 LinuxI'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 swapNote: 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 onI'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:
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/X7.1 Getting X WorkingNeedless 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.1I 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.rpmBut Xconfigurator needs... newt-0.30-2.i386.rpm mouseconfig-3.1.3-1.i386.rpm XFree86-3.3.3.1-1.i386.rpmAnd 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.rpmsndconfig also needs: isapnptools-1.15a-3.i386.rpm awesfx-0.4.2-1.i386.rpmAll 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"
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...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.
7.4 Full Screen Console with vesafbHonza 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 XHonza 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 NetworkingWe'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.
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!)
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 ModemTo 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 PortBrian 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: 11 Advanced Power ManagementHonza Jirousek has supplied the following information: "Compiled the kernel with the following set
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):
apmd-resume looks as follows:
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:
12 MultimediaAntonio 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 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.
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 NotesSeveral people have noticed problems with RedHat 6.0 on the 4030 and 4080XCDT:
13.1 RH 6.0 X Accelerated for NewbiesIncluded 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 14 PCMCIA (PC Card) CompatibilityThe following devices are known to work with these laptops:
15 ConclusionsThe 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:
16 References and Resources
|