Linux on a Toshiba Satellite 2430-301
By Jochen Voss, last updated .
This text describes the adventures I encountered while installing Linux on a Toshiba Satellite 2430-301 Laptop. If you have questions or additional hints, feel free to contact me.
News. in February 2005, less than two years after I bought it, the laptop described on this page died. The symptoms were:
- The fans seemed to start to produce a little bit more noise than they used to do.
- The machine switched itself of from time to time, seemingly from overheating (at least it was quite hot). This effect got worse and worse over the time until the machine was mostly unusable.
- One day it did not recognise it anymore when the power cord was plugged in. After the battery was emptied, the machine was of course no longer very useful.
This might be the problem discussed at the computer hardware forum.
Contents
Summary
I was able to install Debian GNU/Linux without an unreasonable amount of trouble.
| component | hardware identification | status | |
|---|---|---|---|
| core components | Intel Pentium 4 (2.66 GHz) 512 MB RAM IDE hard disk | works perfectly | |
| graphics card | NVidia GeForce4 420 Go (rev 163) 32 MB | works perfectly (using the closed-source NVidia driver) | |
| sound | Intel 8x0 | works perfectly (I use the ALSA driver) | |
| Ethernet Controller | RealTeX TRL8139 Fast Ethernet | works perfectly | |
| USB | Intel 82801DB USB EHCI | works perfectly (using the usb-uhci driver), USB 2.0 never tried | |
| Power Management | APM or ACPI | works partially: Power off works, but suspend does not | |
| Modem | unknown (to me) chipset | works (using the proprietary SmartLink driver) | |
| PCMCIA slots | works perfectly | ||
| SD card slot | never tried | ||
| Infrared port | never tried |
Table 1. This table summarises the hardware support for the Toshiba Satellite 2430-301 under Linux.
BIOS
The pre-installed BIOS version is 1.30. The boot message says
PhoenixBIOS 4.0 Release 6.0
I upgraded to BIOS version 1.60 in the hope that this would involve an ACPI BIOS upgrade. It did not: The new BIOS is for me almost indistinguishable to the old one. The corresponding part of the dmidecode output is
Vendor: TOSHIBA
Version: V1.60
Release Date: 05/19/2003
Address: 0xE5630
Runtime Size: 109008 bytes
ROM Size: 512 kB
Characteristics:
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
AGP is supported
IEEE 1394 boot is supported
Smart battery is supported
BIOS boot specification is supported
Linux Kernel
Kernel Version 2.6
Linux kernel 2.6 works fine. Currently I am running the Debian flavour of kernel 2.6.5. Some information about my setup:
- the kernel config file config-2.6.5.
- the kernel's boot messages as obtained by dmesg.
- the lspci output
- the dmidecode output
Kernel Version 2.4
I successfully tried the Linux kernel versions 2.4.20 and 2.4.21.
Warning: I had to disable the Local APIC support on
uniprocessors
feature in the kernel configuration. With the local APIC
enabled the machine hung immediately after LILO passed control to the
kernel.
The following link points to my kernel config file: config-2.4.21
Hardware Components
Overview
The output of lspci is as follows:
00:00.0 Host bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset Host Bridge (rev 02) 00:01.0 PCI bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset AGP Bridge (rev 02) 00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 02) 00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 02) 00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 02) 00:1d.7 USB Controller: Intel Corp. 82801DB USB2 (rev 02) 00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB/EB PCI Bridge (rev 82) 00:1f.0 ISA bridge: Intel Corp. 82801DB LPC Interface Controller (rev 02) 00:1f.1 IDE interface: Intel Corp. 82801DB Ultra ATA Storage Controller (rev 02) 00:1f.3 SMBus: Intel Corp. 82801DB/DBM SMBus Controller (rev 02) 00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio Controller (rev 02) 00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem Controller (rev 02) 01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 420 Go] (rev a3) 02:00.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) 02:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10) 02:04.0 CardBus bridge: O2 Micro, Inc. OZ6933 Cardbus Controller (rev 01) 02:04.1 CardBus bridge: O2 Micro, Inc. OZ6933 Cardbus Controller (rev 01)
Modem
The built-in modem works fine under the Linux kernel 2.6.7 with the
proprietary SmartLink driver slmodem-2.9.10 from SmartLink's
linux driver page.
I do not know which chipset the modem uses, but the following information is available:
- The Toshiba product web page for the machine states that the modem is
a
Scorpio AC 97 soft modem
produced by Agere. - The modem shows up in the
lspcilisting:00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem (rev 02) (prog-if 00 [Generic]) Subsystem: Toshiba America Info Systems: Unknown device 0001 Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- Interrupt: pin B routed to IRQ 10 Region 0: I/O ports at 2400 [size=256] Region 1: I/O ports at 2000 [size=128] Capabilities: [50] Power Management version 2 Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+) Status: D0 PME-Enable- DSel=0 DScale=0 PME-
- The SmartLink driver produces the following messages while loading the
kernel module:
slamr: SmartLink AMRMO modem. slamr: probe 8086:24c6 ICH4 card... slamr: mc97 codec is SIL27 slamr: slamr0 is ICH4 card.
- Under Windows XP the Modem identifies itself as follows:
ATI3 TOSHIBA V.90 Data+Fax Software Modem Version 3.1.116 ATI4 Built on 09/17/2002 16:12:37 ATI5 3.1.116, AMR Intel MB, AC97 ID:SIL REV:0x27, 06
Infrared Port
Windows identifies the infrared port as an SMC IrCC - Fast Infrared
Port
.
ACPI
The ACPI BIOS has a lot of problems. In short: powering the machine down works, but nothing else.
The file /proc/acpi/ac_adapter/0/status correctly shows
whether the machine runs on AC power. But the battery status information
at /proc/acpi/battery/0/status seems to always read
Present: yes State: ok Present Rate: 0 mA Remaining Capacity: 2040 mAh Battery Voltage: 14800 mV
Under linux 2.4.21 you can only read out these vales two times in a row. Starting with the third time the error message
Present: yes Error reading battery status (_BST)
is displayed and the systemlog shows things like
ectransx-0199 [-3] ec_read : Unable to send 'read command' to EC. evregion-0302 [-6] Ev_address_space_dispa: Region handler: AE_TIME [Embedded_control] dswexec-0392 [-15] Ds_exec_end_op : [Store]: Could not resolve operands, AE_TIME Ps_execute: method failed - \_SB_.PCI0.LPC0.BAT1._BST (c15ae828)
then. I did not investigate wheter this is a kernel bug or an ACPI BIOS bug.
Reading the CPU temperature etc. does not work.
I tried to override my ACPI BIOS with a fixed version, as described in Intel's Overriding your BIOS's DSDT page. Recompiling the disassembled ACPI code uncovers some syntactic bugs (missing return values etc.), but fixing these does not visibly improve things.
The Omnibook Module
Using the Omnibook kernel patch makes several things work better. Despite of its name, the project actually intends to provide kernel support for several classes of notebooks, including Toshiba Satellite ones.
While installing the module I get the following promising kernel messages:
omnibook: module version 2004-01-20. omnibook: Toshiba Satellite 2430 detected. omnibook: AC adapter status monitoring is enabled. omnibook: Battery status monitoring is enabled. omnibook: LCD display turn off at console blanking enabled. omnibook: External display status monitoring is enabled. omnibook: Fan status monitor and control is enabled. omnibook: Fan policy setting is enabled. omnibook: LCD brightness handling is enabled. omnibook: OneTouch buttons are enabled. omnibook: Temperature monitoring is enabled. omnibook: module unloading does not work yet on 2.6 kernel. atkbd.c: Unknown key pressed (translated set 2, code 0xb4 on isa0060/serio0). atkbd.c: Use 'setkeycodes e034 <keycode>' to make it known. atkbd.c: Unknown key released (translated set 2, code 0xb4 on isa0060/serio0). atkbd.c: Use 'setkeycodes e034 <keycode>' to make it known.
Using this patch, the one-touch keys (right of the power button) and CD
player controls (at the left hand side of the machine's front edge)
actually produce scan codes and can be used with tools like
ACME. Also I can read out the
processor temperature and current battery status from the files in
/proc/omnibook/.
Miscellaneous
There are some minor things which do not work:
- The Intel chipset is supposed to contain a hardware random numer
generator. This device does not work. The corresponding kernel message is
hw_random: cannot enable RNG, aborting
- The Fn key acts a little bit strange. Pressed alone it does not
generate any scan code. The keys Fn-F6 and Fn-F7 to control the brightness
of the display work fine. But pressing Fn-F7 gives the following kernel
messages every time:
atkbd.c: Unknown key pressed (translated set 2, code 0x10f, data 0x59, on isa0060/serio0). atkbd.c: Unknown key released (translated set 2, code 0x10f, data 0xd9, on isa0060/serio0).
Fn-F6 gives no such messages. Fn-F9 to toggle the
mouse
works fine. Fn-ESC emits the scan code for the F13 function key. - The mouse daemon gpm dies sometimes without appearent reason. The
corresponding message from the syslog is
/usr/sbin/gpm[971]: oops() invoked from gpn.c(205)
Resources
- There is another Linux on a Toshiba Satellite 2430-201 page, which contains further information: the author managed to get the IR port working and fixed the ACPI stuff to some extent.
- Werner Heuser's TuxMobil website contains loads of information about installing and running Linux on laptops.
- There is a Linux Support Page from Toshiba.
- There is a page about Unix based OSs on the Toshiba Europe Technical Service & Support site.