Gravis ULTRASOUND Plug n' Play Mini-Como
J. F. Mammet,
[email protected]
Traducido por I�aki Mart�nez D�ez,
[email protected]
Versi�n 0.01, 27 de Marzo de 1996
Particularidades de configuraci�n de la Gravis ULTRASOUND Plug n' Play
bajo Linux.
1. Introducci�n
Como fan de las tarjetas de sonido Gravis desde hace mucho tiempo, me
alegr� mucho cuando finalmente Gravis sac� algo nuevo. Hab�a planeado
comprar la nueva Ultrasound desde hac�a tiempo, y la compr� con un
mega de RAM tan pronto estuvo disponible aqu� en Francia.
La instal�, y qu� sorpresa, mi BIOS plug and play la detect�, e
incluso windows95 (lo siento, bromas est�pidas sobre marketing95 hoy
no). As� que pens� que la tarjeta funcionar�a en cualquier sitio ...
Entonces arranqu� Linux, no tuve problemas, la tarjeta fue detectada
como una GUS rev 3.4, lo cual me pareci� estar bien, pero no lo estaba
...
Alg�n tiempo despu�s prob� Quake, y no sonaba. Entonces le� el manual
del juego, y v� que Quake estaba usando alg�n DMA no est�ndar que la
GUS no pod�a proporcionar ...
Pens� que no era bueno para mi, tener tan buena tarjeta y no tener
sonido en tan genial juego (la versi�n dos necesita la emulaci�n de
sound blaster, y yo incluso prefiero sin sonido que eso).
As� que, �Ahora qu�? �deber�a esperar hasta Mayo para un driver de GUS
PnP? �Deber�a comprar una sound blaster (buag)? �Que ocurrir� en el
pr�ximo episodio de Expediente X?
2. �GUS MAX?
Entonces volv� al dos, y jugu� un poco con el programa iwinit, mir� lo
que el programa dec�a cuando usaba el modo verbose y vi algo como
CODEC direcci�n 32c ...
�Qu�? �La GUS PnP tiene un Codec CS4231/CS1848 como la GUS MAX?
Entonces mir� en mis cintas de backup buscando los drivers de Gravis
viejos, tom� el ultrinit 2.31 de ellos y tecle�:
set ultrasnd=220,6,5,5,5
set ultra16=32c,0,0,1,0
set ultradir=c:\ultrapnp
ultrinit
y descubr� que: ��� Ultrasound MAX detectada !!!
�Genial!, pens� entonces, s�lo tengo que poner esto antes de cargar
Linux y tendr� soporte GUS MAX, y ��finalmente conseguir� que el
j****o Quake funcione con sonido!!
No fue tan f�cil 8(
3. Investigaci�n del Driver
No soy un buen programador, pero se suficiente C para observar los
fuentes de un driver y ver qu� pasa (especialmente cuando est� bien
comentado).
Mir� el fichero gus_card.c, pero no encontr� nada interesante.
Entonces mir� en gus_wave.c, y v� esto:
* Value 255 means pre-3.7 which don't have mixer.
* Values 5 thru 9 mean v3.7 which has a ICS2101 mixer.
* 10 and above is GUS MAX which has the CS4231 codec/mixer.
que significa:
* el Valor 255 se refiere a pre-3.7 la cual no tiene mixer.
* los Valores 5 a 9 se refiere a v3.7 los cuales tienen un mixer ICS2101.
* 10 y superior es GUS MAX la cual tiene el codec/mixer CS4231.
�Genial!, solo tengo que forzar el valor a 10, y funcionar� ... �No!
haciendo esto har�a que el kernel pensase que se tiene una GUS MAX,
pero �no reconocer� el chip Codec!
Por lo que ten�a que forzar la detecci�n del Codec tambi�n ...
No fue tan f�cil encontrar qu� hacer, pero finalmente descubr� una
posisbilidad: En el fichero gus_wave.c, hab�a una l�nea:
if (ad1848_detect (gus_base + 0x10c, NULL, hw_config->osp))
lo que significaba que el kernel estaba intentando auto-detectar el
chip AD1848, pens� que no lo podr�a detectar con la GUS PnP, y �estaba
en lo cierto! Simplemente cambi� la l�nea a:
if (!(ad1848_detect (gus_base + 0x10c, NULL, hw_config->osp)))
recompil� el kernel, y ���hey, Quake funcion� de maravilla!!!
Por cierto hay una etiqueta gus_pnp_flag en gus_card.c, pero no he
notado ninguna diferencia con ella activada o desactivada 8( (quiz�s
hice algo mal)
4. �Qu� deber�a hacer exactamente?
No olvidar que esto no funcionar�a si no hay RAM en la GUS ...
Primero de todo no usar LILO nunca m�s, ya que es necesario
inicializar la GUS PnP antes de ejecutar Linux ... (hacer un fdisk
/mbr bajo dos, ver otros COMOs para m�s detalles en esto).
En el autoexec.bat, poner:
set interwave=c:\ultrapnp\iw.ini
c:\ultrapnp\iwinit
set ultrasnd=220,6,5,5,5 (o cualquiera que se quiera o necesite)
set ultra16=32c,0,0,1,0
set ultradir=c:\ultrapnp
c:\ultrapnp\ultrinit
Se puede encontrar ultrinit en el fichero gus00045.zip, en cualquier
site de Gravis ...
Bajo Linux, abrir el fichero gus_wave.c, en
/usr/src/linux/drivers/sound (o en cualquier otro sitio). Buscar la
l�nea:
if (val == 255 || val < 5) (line 3049 in 3.5b7)
y una l�nea antes, a�adir:
val=10;
Entonces buscar la l�nea:
if (ad1848_detect (gus_base + 0x10c, NULL, hw_config->osp)) (line 3085)
y cambiarla a:
if (!(ad1848_detect (gus_base + 0x10c, NULL, hw_config->osp)))
recompilar el kernel con soporte de GUS y GUS MAX.
Mi configuraci�n es:
BASE = 220
IRQ = 5
DMA1 = 6
DMA2 = 5
DMABUF = 65536
���Disfruta del sonido!!!
5. Cr�ditos
Yo us� el kernel 1.3.75 para modificar, pero deber�a funcionar en
cualquier 1.3.70 y superior (por favor escribirme si hay alg�n
problema)
Este mini-COMO esta escrito por:
� e-mail :
[email protected]
� www :
http://diva.univ-mlv.fr/~mammet/
Se puede conseguir la �ltima versi�n de este documento de mi p�gina
WEB en
http://diva.univ-mlv.fr/~mammet/linux.html (pronto disponible)
No asumo ninguna responsabilidad si se pierden informaciones o
cualquier error que pudiese ocurrir (incluso fastidiar win95).
Si se encuentra alg�n error tipogr�fico (o incluso errores t�cnicos
8-p), escribirme libremente, soy s�lo un pobre franc�s perdido en un
mundo anglosaj�n, intentando hablar el idioma de forma comprensible.
6. Anexo: El INSFLUG
El INSFLUG forma parte del grupo internacional Linux Documentation
Project, encarg�ndose de las traducciones al castellano de los Howtos
(Comos), as� como la producci�n de documentos originales en aquellos
casos en los que no existe an�logo en ingl�s.
En el INSFLUG se orienta preferentemente a la traducci�n de documentos
breves, como los COMOs y PUFs (Preguntas de Uso Frecuente, las FAQs.
:) ), etc.
Dir�jase a la sede del INSFLUG para m�s informaci�n al respecto.
En la sede del INSFLUG encontrar� siempre las �ltimas versiones de las
traducciones: www.insflug.org. Aseg�rese de comprobar cu�l es la
�ltima versi�n disponible en el Insflug antes de bajar un documento de
un servidor r�plica.
Se proporciona tambi�n una lista de los servidores r�plica (mirror)
del Insflug m�s cercanos a Vd., e informaci�n relativa a otros
recursos en castellano.
Francisco Jos� Montilla,
[email protected].