last change: 29-May-2003
This document about Linux on Toshiba Satellite 2410 notebooks is also available in French - kindly translated by Pierre-Etienne Melet.
| Already working | NVIDIA, TV-OUT, DVD, USB, FIREWIRE, IRDA (also LIRC), APM, SOUND, PCMCIA, MODEM, LAN, WLAN (internal MiniPCI), ACPI. ADDITIONAL KEYS. |
| Special Workaround | KEYBOARD |
| Not working yet | SD-CARD |
toshiba_acpi (see ACPI paragraph).
Load "glx"
Remove the following entries, if existing:
Load "GLcore"
Load "dri"
In section "Device" replace module "nv" with "nvidia". We should also
set the
BusID.
Driver "nvidia"
BusID "AGP:01:00:0"
Somehow DDC is not working properly on this laptop. So we have to put
the
following lines into the section "Device":
Option "NoDDC" "1"
Option "IgnoreEDID" "1"
Using a TFT together with the commercial Nvidia-drivers will let us use
the
following lines.
Option "GenerateRTList" "0"
Option "OverridePolarity" "1"
Put the following two lines into section "Screen":
Option "NoDDC" "1"
Option "NvAgp" "1"
If you like some eyecandy you can add a translucent shadow to the X-pointer. Add the folowing lines at the end of section "Device":
# Some Pointer Eyecandy
Option "CursorShadow" "1"
Option "CursorShadowAlpha" "63"
Option "CursorShadowYOffset" "2"
Option "CursorShadowXOffset" "4"
options NVdriver NVreg_SoftEDIDs=0 NVreg_Mobile=2
Using recent drivers (16-Feb-2003 and up) this issue can also be solved by adding the following line to the Device section in your XF86Config-4.
Option "FlatPanelProperties" "Scaling = native"
Remember: using Debian, please do not write stuff directly to
/etc/modules.conf. The content is regenerated on upgrades. Put the
line into /etc/modutils/NVdriver and call
update-modules once.
/usr/lib/libGL.so (which is also in xlibmesa-dev) and all files like
/lib/modules/<kernel-version>/modules.* (which are also in kernel-image-<kernel-version>)
will be overwritten. The latter ones can be easily preserverd by depmod -a.
Section "Screen":
# TV Twinview
Option "TwinView" "1"
Option "SecondMonitorHorizSync" "30-50"
Option "SecondMonitorVertRefresh" "60"
Option "TwinViewOrientation" "Clone"
Option "TVOutFormat" "COMPOSITE"
Option "ConnectedMonitor" "DFP,TV"
Option "TVStandard" "PAL-B"
Option "MetaModes" "1024x768 @1024x768,1024x768 @1024x768; 800x600 @800x600,800x600 @800x600; 640x480 @640x480,640x480 @640x480"
Please check, what TVStandard is appropriate for your tv and whether you like composite or s-video output.
You will find a perfect explanation of all named options in the README coming with the nvidia-glx-package. Dual-Head (one screen extends the other) is also possible and of course use of the CRT-Out.Section "Screen" to your XF86Config-4. One should be configured as-is and one should be configured containing the lines above. Please give the latter one a different Identifier than the first one, eg.: "TV".
You will find a preconfigured file named XF86Config-4_nvidia_twinview_tv in the files section. Just read it and try it afterwards with one of these commands:
X -xf86config XF86Config-4_nvidia_twinview_new -layout Twinview :1
X -xf86config XF86Config-4_nvidia_twinview_new -screen TV :1
Note: A good place to exchange experiences about the commercial NVidia Drivers is nV News Froums - Linux And NVIDIA Graphics.
/etc/asound.conf
soundcore sound ac97 ac97_codec v_midi uart401 cmpci i810_audio. As I use these drivers for experimental issues only, I do have a small quick-and-dirty script to probe and remove them called audioscript2410. If you like to use these modules persintently, you should create the matching entries in your modules.conf
xmodmap -pke >> $HOME/Xmodmap in a xterm. If your
language has additional characters (like mine), you may want to define modifier
keys like [AltGr]. An excellent article on how to create customized keymaps:
Accented Letters On ASCII Keyboards Under X11.
This document is also available in german.
If you want a german
Xmodmap, you can download mine here and an italian here.
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbDisable"
EndSection
/etc/X11/Xsession.d will be executed./etc/X11/Xsession.d/.
On startup, X will look for your customized keymap-file in
$HOME/Xmodmap and set the keymap accordingly. If you like to set
systemwide settings, copy your Xmodmap to /etc/X11/Xmodmap.
ax +bouncekeys
ax -timeout
ax bouncedelay 5
If you want these commands to be executed on every startup add the same
lines on the end of /etc/X11/xdm/Xsetup. Or you can place them into your
.xinitrc file. Or put them into a script like described above.
xkbset exp bo &>/dev/null
xkbset bo 1 &>/dev/null
To let these commands take effect on every startup, see above how to
proceed.
00:1f.6 Modem: Intel Corp. 82801CA/CAM AC'97 Modem (rev 02) (prog-if 00 [Generic])
00:1f.6 Class 0703: 8086:2486 (rev 02)
Subsystem 1179:0001
So our vendor-id is 8086 (Intel). PCI-id 8086:2486 represents the Intel
MC97 controller, to which various
AC-Link modems could be connected. The modem itself has id
1179:0001. Subsystem vendor-id is 1179 (Toshiba). Now, what is a modem of an id
0001? I tried to find out which modem this really is, but I had not much
success. Well, this information is crap.
ATI1 - OK
ATI2 - OK
ATI3 - TOSHIBA V.90 Data+Fax Software Modem Version 3.1.100
ATI4 - Built on 09/26/2001 20:12:19
ATI5 - 3.1.100, AMR Intel MB, AC97 ID:SIL REV:0x27, 06
ATI6 - OK
ATI7 - AMR Intel MB
Read here about Toshiba's policy concerning softmodems.
Jan 7 18:55:56 valea kernel: Smart Link AMRMO modem.
Jan 7 18:55:56 valea kernel: amrmo: probe 8086:2486 Intel Corp. 82801CA/CAM AC'97 Modem : ICH card...
Jan 7 18:56:59 valea kernel: This driver is not compatible with the installed modem codec.
Though the codec does not match it is possible to set up a working ppp-connection, i.e. to dial in to your ISP.
smc-ircc should probe finely.
lirc_sir which you might have to compile from source. Please note: simultaneous use of IrDA and LIRC ist not possible. You have to remove all modules concerning infrared before probing lirc_sir. Furthermore you have to initialize the SMSC chip like described above.lirc_sir module needs to know where to find the SIR-port (SIR = Serial InfraRed) of the infrared-hardware, i.e. I/O port and IRQ. For a Toshiba Satellite 2410 these values are: I/O port 0x03f8, IRQ 3. After Installing the lirc-package and it's kernel-modules try a
# modprobe lirc_sir port io=0x03f8 irq=3
Then follow the instrucions on the lirc homepage how to check your setup. If the parameters (I/O port and IRQ) should not match for you, remove the module lirc_sir, modprobe module smc-ircc and get the parameters from syslog, which should now contain some lines like:
kernel: found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227
kernel: SMC IrDA Controller found
kernel: IrCC version 2.0, firport 0x130, sirport 0x3f8 dma=3, irq=3
Here are our parameters: sirport 0x3f8 dma=3, irq=3.
pre-install lirc_sir /usr/local/sbin/tosh5100-smcinit
alias char-major-61 lirc_sir
options lirc_sir io=0x3f8 irq=3
Using Debian? Please do it the debian-way: Put these lines into /etc/modutils/lirc and run update-modules.ohci1394 which probes
smoothly. But I do not own any firewire-devices to test it.
usb-uhci.
yenta_socket
together with ds.
NVdriver will prevent your box to suspend. You'll have to
leave X and unload the module NVdriver before suspend.nv.c. Browse the code to this section:
#else
case PM_RESUME:
case PM_SUSPEND:
// printk("NVRM: avoiding suspend request, don't want to shutdown!!\n");
return 1;
#endif
default:
// printk("NVRM: received unknown PM event: 0x%x\n", rqst);
return 1;
}
return 0;
}
#endif
and alternate both return statements from return 1 to return 0:
#else
case PM_RESUME:
case PM_SUSPEND:
// printk("NVRM: avoiding suspend request, don't want to shutdown!!\n");
return 0;
#endif
default:
// printk("NVRM: received unknown PM event: 0x%x\n", rqst);
return 0;
}
return 0;
}
#endif
Please do not forget to deactivate use of AGP in your XF86Config-4: Option "NvAGP" "0"!toshiba_acpi. The code of this module is
implemented in the current development kernels. To use it with a 2.4.x kernel,
you have to get a fresh kernel from kernel.org and apply the according ACPI patch from http://sourceforge.net/projects/acpi/. After that apply the
patch from John Belmonte and compile you kernel. Please do not use the
kernel-sources from your distro as they often already contain patches.toshiba_acpi. John Belmonte wrote also a tool
(written in python) to handle the additional keys. Grab it from here.
eepro100 will get your NIC to work.
orinoco_cs. You can
use the kernel-pcmcia-drivers or get get the latest PCMCIA-CardServices from SourceForge.
Patches exist for the latter one to be able to change your MAC and support monitor mode. Grab them from shmoo.com.wavelan2_cs.o.
Drivers are available from Agere. You will find detailled installation instructions on
how to install within the package from Agere.Thorsten Haas mail@thorstenhaas.de
| 13-Nov-2002 | Initial document. |
| 17-Nov-2002 | Added apm, modem, irda, firewire. |
| 24-Nov-2002 | Added paragraph about AccesX. |
| 5-Dec-2002 | Added french Xmodmap sent to me
by Pierre Etienne. Added paragraph about SD-card slot. |
| 8-Dec-2002 | Added solution of IrDA
problem. Added paragraph about ACPI. |
| 10-Dec-2002 | Added paragraph about Wireless LAN Mini PCI Card. |
| 2-Jan-2003 | Document correction: the author of the Toshiba ACPI Extra Drivers is John Belmonte. |
| 7-Jan-2003 | Added paragraph about TV-OUT. Updated paragraph about the modem. |
| 9-Jan-2003 | Added paragraph about LIRC. Updated paragraph about APM and Audio. |
| 13-Jan-2003 | Updated paragraph about keyboard and TV-OUT. |
| 24-Jan-2003 | Added italian Xmodmap set to me by Antonello Facchetti |
| 15-Feb-2003 | Updated link to SmartLink drivers. |
| 16-Feb-2003 | Updated paragraph about the commercial NVidia drivers. |
| 09-May-2003 | Updated paragraph about WLAN drivers, the commercial NVidia drivers, validated links, several updates. |
| 29-May-2003 | Updated paragraph about modem. |
| Pierre-Etienne Melet | for the french translation and for sending me a french Xmodmap. |
| Sebastian Roesner | for sending me a link to Rob Miller's smcinit and a link to John Belmote's toshiba acpi driver. |
| Eduard Bloch | for sending me a note about the commercial nvidia drivers. |
| Alexander Forschner | for mailing me the WLAN (MiniPCI) instructions. |
| John Belmonte | for correcting me concerning the author of the Toshiba ACPI Extra Drivers. |
| Damian Weber | for writing a page on using a Toshiba Satellite 2410-404 with SuSE |
| Tony | for heavy testing of theses instructions. |
| Antonello Facchetti | for sending me an italian Xmodmap. |
| Davyd Madeley | for lively communication and for reporting a dead-link to the SmartLink drivers as well as providing a new link. |
| John Dragun | for sending me another solution to the "ugly black stripe"-issue. |
| You | for belonging to the elite capable of reading documentation this far! |
00:00.0 Host bridge: Intel Corp. 82845 845 (Brookdale) Chipset Host Bridge (rev
04)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, fast devsel, latency 0
Memory at e0000000 (32-bit, prefetchable) [size=256M]
Capabilities:
00:01.0 PCI bridge: Intel Corp. 82845 845 (Brookdale) Chipset AGP Bridge (rev
04) (prog-if 00 [Normal decode])
Flags: bus master, 66Mhz, fast devsel, latency 64
Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
Memory behind bridge: fd000000-fdffffff
Prefetchable memory behind bridge: dbf00000-dfffffff
00:1d.0 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #1) (rev 02) (prog-if
00 [UHCI])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, medium devsel, latency 0, IRQ 11
I/O ports at efe0 [size=32]
00:1d.1 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #2) (rev 02) (prog-if
00 [UHCI])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, medium devsel, latency 0, IRQ 11
I/O ports at ef80 [size=32]
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 42) (prog-if 00
[Normal decode])
Flags: bus master, fast devsel, latency 0
Bus: primary=00, secondary=02, subordinate=05, sec-latency=64
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: fce00000-fcefffff
00:1f.0 ISA bridge: Intel Corp. 82801CAM ISA Bridge (LPC) (rev 02)
Flags: bus master, medium devsel, latency 0
00:1f.1 IDE interface: Intel Corp. 82801CAM IDE U100 (rev 02) (prog-if 8a
[Master SecP PriP])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, medium devsel, latency 0, IRQ 11
I/O ports at cff8 [size=8]
I/O ports at cff4 [size=4]
I/O ports at cfe8 [size=8]
I/O ports at cfe4 [size=4]
I/O ports at cfa0 [size=16]
Memory at 20000000 (32-bit, non-prefetchable) [size=1K]
00:1f.5 Multimedia audio controller: Intel Corp. 82801CA/CAM AC'97 Audio (rev
02)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, medium devsel, latency 0, IRQ 11
I/O ports at ce00 [size=256]
I/O ports at cdc0 [size=64]
00:1f.6 Modem: Intel Corp. 82801CA/CAM AC'97 Modem (rev 02) (prog-if 00
[Generic])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, medium devsel, latency 0, IRQ 11
I/O ports at ca00 [size=256]
I/O ports at c980 [size=128]
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 420 Go]
(rev a3) (prog-if 00 [VGA])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, 66Mhz, medium devsel, latency 248, IRQ 10
Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
Memory at dc000000 (32-bit, prefetchable) [size=64M]
Memory at dbf80000 (32-bit, prefetchable) [size=512K]
Expansion ROM at [disabled] [size=128K]
Capabilities:
02:07.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22 1394a-2000 Controller
(prog-if 10 [OHCI])
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, medium devsel, latency 64, IRQ 11
Memory at fceff800 (32-bit, non-prefetchable) [size=2K]
Memory at fcef8000 (32-bit, non-prefetchable) [size=16K]
Capabilities:
02:08.0 Ethernet controller: Intel Corp. 82801CAM (ICH3) Chipset Ethernet
Controller (rev 42)
Subsystem: Toshiba America Info Systems EtherExpress PRO/100 VE
Flags: bus master, medium devsel, latency 64, IRQ 11
Memory at fcef7000 (32-bit, non-prefetchable) [size=4K]
I/O ports at df40 [size=64]
Capabilities:
02:0b.0 CardBus bridge: Toshiba America Info Systems ToPIC95 PCI to Cardbus
Bridge with ZV Support (rev 32)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, slow devsel, latency 168, IRQ 11
Memory at fce00000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=02, secondary=04, subordinate=04, sec-latency=0
I/O window 0: 0000d000-0000d0ff
I/O window 1: 0000d400-0000d4ff
16-bit legacy interface ports at 0001
02:0b.1 CardBus bridge: Toshiba America Info Systems ToPIC95 PCI to Cardbus
Bridge with ZV Support (rev 32)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: bus master, slow devsel, latency 168, IRQ 11
Memory at fce01000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=02, secondary=05, subordinate=05, sec-latency=0
I/O window 0: 0000d800-0000d8ff
I/O window 1: 0000dc00-0000dcff
16-bit legacy interface ports at 0001
02:0d.0 System peripheral: Toshiba America Info Systems: Unknown device 0805
(rev 03)
Subsystem: Toshiba America Info Systems: Unknown device 0001
Flags: medium devsel, IRQ 11
Memory at fcef6e00 (32-bit, non-prefetchable) [size=512]
Capabilities:
Thorsten Haas mail@thorstenhaas.de