Linux on Toshiba Satellite 1900-303

Linux on Toshiba Satellite 1900-303

This page is also available in english.


| Audio | Modem | IrDA | Firewire | APM/ACPI | Framebuffer | XFree86 |
| TVOUT / Monitor externo | PCMCIA | Ethernet | USB | DVD/CDRW |
| salida de lspci -v | /proc/ioports | salida del lsmod |


HARDWARE


COMPATIBILIDAD

(* = No lo he probado aún, pero el modulo carga sin problemas.)


Audio

Para los kernels 2.6, hay que activar soporte para Intel i8x0 en:
	Device Drivers -> Sound -> Advanced Linux Sound Architecture -> PCI Devices
y los módulos de compatibilidad OSS en:
	Device Drivers -> Sound -> Advanced Linux Sound Architecture
Para los 2.4, hay que descargar alsa-driver, alsa-lib, alsa-utils, y alsa-oss de alsa-project (o de tu distribucion) y compilarlo (en el caso de los fuentes) para snd-intel8x0.

Para compilarlo:
	
	# cd /usr/src
	/usr/src# tar xvfj ~/alsa-lib-0.9.0rc7.tar.bz2
	/usr/src# cd alsa-lib-0.9.0rc7
	/usr/src/alsa-lib-0.9.0rc7# ./configure && make &&  make install 
	/usr/src/alsa-lib-0.9.0rc7# cd ..

	/usr/src# tar xvfj ~/alsa-oss-0.9.0rc1.tar.bz2
	/usr/src# cd alsa-oss-0.9.0rc1
	/usr/src/alsa-oss-0.9.0rc1# ./configure && make && make install 
	/usr/src/alsa-oss-0.9.0rc1# cd ..

	/usr/src# tar xvfj ~/alsa-driver-0.9.0rc7.tar.bz2
	/usr/src# cd alsa-driver-0.9.0rc7
	/usr/src/alsa-driver-0.9.0rc7# ./configure --with-isapnp=no --with-sequencer=yes --with-oss=yes --with-cards=intel8x0 && make && make install 
	/usr/src/alsa-driver-0.9.0rc7# cd ..

	/usr/src# tar xvfj ~/alsa-utils-0.9.0rc7.tar.bz2
	/usr/src# cd alsa-utils-0.9.0rc7
	/usr/src/alsa-utils-0.9.0rc7# ./configure && make && make install 

En /etc/modules.conf tengo:
	# grep snd-intel8x0 /etc/modules.conf
	alias snd-card-1 snd-intel8x0
	pre-remove snd-intel8x0 rmmod snd-mixer-oss snd-pcm-oss
	post-install snd-intel8x0 modprobe snd-pcm-oss snd-mixer-oss
	options snd-intel8x0 enable=1

Para arrancarlo:
	# /etc/init.d/alsasound start

Otra opción es usar el módulo de OSS i810_audio, incluido en los kernels 2.4.

Modem

El driver parece funcionar correctamente, se puede descargar de linmodems.org.

Para compilarlo:
	# cd /usr/src
	/usr/src# tar xvfz slmdm-2.7.10.tar.gz
	/usr/src# cd slmdm-2.7.10
	/usr/src/slmdm-2.7.10# make
	/usr/src/slmdm-2.7.10# make install-amr
Esto copiará los módulos necesarios a /lib/modules/version-del-kernel/misc, y creará /dev/ttySL0 y un enlace /dev/modem a éste. Luego, hay que indicarle el país al módulo. Para esto, hay que editar /etc/modules.conf y añadir la línea:
	options slmdm country=SPAIN
Para cargarlo:
	# modprobe slmdm
	# modprobe slamrmo


IrDA

Hay varias opciones para usar este puerto:
NOTA: ojo, sólamente se puede tener uno de los 3 módulos cargados al mismo tiempo, ya sea smsc-ircc.o, lirc_sir.o o serial.o

Firewire

No he podido probarlo aún porque no tengo ningún dispositivo que funcione por firewire. El soporte para linux para este tipo de dispositivos tiene su página en www.linux1394.org, y en concreto el módulo para este portátil es ohci1394.o.

APM / ACPI

Es posible usar cualquiera de los 2. Cada uno tiene sus pros y sus contras:
APM permite suspender pero no tiene control sobre la batería, eventos de power y lid, etc.
ACPI permite saber los niveles de batería y asignar eventos al power y lid, pero no funciona suspender ni a disco ni a ram de momento. Para utilizar ACPI en los kernels 2.4, es necesario aplicar al kernel el parche que se encuentra en sf.net/projects/acpi.
Aparte de todo esto, existe un parche para los 2.4 (swsusp) (los 2.6 lo tienen ya incluido), que permite hibernar sin la necesidad de tener soporte para APM, pero no lo he probado, con lo que no se si funciona bien o no.
El driver para los omnibook, actualmente tiene soporte para el 1900-303. Con él es posible controlar cosas como el brillo del lcd, si está conectada o no la toma de corriente, el rango de temperaturas para el procesador, etc. Para usar este driver no es necesario tener soporte para APM ni ACPI en el kernel. Para compilarlo:
	/usr/src# tar xvfz ~/omnibook-XXXX-XX-XX
	/usr/src# cd omnibook-XXXX-XX-XX
	/usr/src/omnibook-XXXX-XX-XX# make && make install
	/usr/src/omnibook-XXXX-XX-XX# modprobe omnibook


Framebuffer

He probado varios módulos para framebuffer, y todos me dan el mismo problema, o parecido: a veces, al cambiar de tty, la pantalla comienza a parpadear hasta que vuelvo a cambiar un par de veces de tty o resolución. Otros, en cambio, parece que tengan corregido el problema con las ttys, y sólo parpadean a veces al cambiar de resolución. Personalmente, el que mejor me funciona es este, para los kernels 2.4. Para usarlo, basta con sustituir los radeon.h y radeonfb.c originales del kernel y recompilar.
Para evitar los parpadeos, es posible usar el driver vesa en vez de radeon, pero con vesa no es posible cambiar de resolución una vez arrancado el sistema.
Otro problema común al usar radeonfb, es que la pantalla aparezca desplazada 4 o 5 pixels hacia arriba. Mi truco/chapuza para arreglarlo es editar radeonfb.c y cambiar esto (por la linea 2692 o así):
   v_sync_pol = mode->sync & FB_SYNC_VERT_HIGH_ACT ? 0 : 1;
por esto:
   v_sync_pol = 0;
	


XFree86

Hay 2 opciones para usar las X, el driver que traen las propias xfree, o el de GATOS. Yo estoy utilizando el que traen las xfree (4.2.1.1 (debian sid)) y me funciona perfectamente, de no ser por los mismos parpadeos que ocurren con el framebuffer. También he probado el de GATOS y me daba los mismos problemas. Todo lo demás incluida la aceleración 3D funciona correctamente. El archivo de configuración XF86Config-4 puedes descargarlo aqui.


TVOUT / Monitor externo

El atajo de teclado (Fn+F5) para alternar entre pantallas funciona mas o menos bien, pero parece que no es capaz de tener mas de una pantalla activa al mismo tiempo. El problema que hay con la salida de tv es que la bios inicializa por defecto en modo NTSC, y el sistema utilizado en españa es el PAL. Para cambiar esto en tarjetas ATI, existe la utilidad atitvout, pero no funciona de momento con la M6-LY.
Para (des)activar el monitor externo o el LCD se puede utilizar radeontool.

PCMCIA

No he usado ningún dispositivo PCMCIA hasta el momento. Aqui hay información de cómo configurarlos.

Ethernet

Existen 2 módulos dentro del kernel para la ethernet: eepro100 y e100. Al principio estuve usando eepro100, pero resultó ser la causa de cuelgues contínuos del sistema. Ahora uso e100 y funciona de maravilla.

USB

Hay que activar en el kernel soporte para usb-uhci.

DVD / CDRW

Para poder grabar cds con 2.4 hay que tener soporte para emulación scsi en el kernel. Con los 2.6 creo que ya no es necesario.
Algunos programas buscan el dispositivo dvd en /dev/dvd. En caso de que no exista, es bueno hacer `ln -s /dev/scd0 /dev/dvd` para evitar problemas.

ENLACES




Para dudas, correcciones, sugerencias o cualquier otra cosa: juanmasg@arrakis.es
Última actualización: Dom Nov 23 15:39:15 CET 2003