Gravis ultrasound plug n' play - Investigación del Driver

3 - Investigación del Driver

Tutorial creado por J. F. Mammet. Extraido de: http://www.insflug.org/COMOs/Gravis-UltraSound-Como/Gravis-UltraSound-Como.html
22 de Diciembre de 2006

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)

Sé el primero en opinar


Tutoriales relacionados con 'Gravis ultrasound plug n' play'

Mini como sobre las Particularidades de configuración de la Gravis ULTRASOUND Plug n' Play bajo... Más »
Este documento describe el soporte de sonido para Linux. Enumera el hardware de sonido soportado,... Más »

Autor y licencia de 'Gravis ultrasound plug n' play'

Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.