================================================================ Documentación para el controlador de sonido NeoMagic 256AV/256ZX ================================================================ Este es la versión 1.0 del controlador. (Guau!) Ha sido testeado satisfactoriamente en los siguientes modelos portátiles: Sony Z505S/Z505SX/Z505DX Sony F150, F160, F180, F250, F270, F280, PCG-F26 Dell Latitude CPi, CPt (varios submodelos) Pero hay unos cuantos problemas, que es por lo que debería leer primero este documento. Este controlador ha sido desarrollado sin ningún soporte o asistencia por parte de Neomagic. No hay garantía, expresada, implícita o de ninguna otra manera. Es software libre en el dominio público; Siéntase libre de usarlo, venderlo, dárselo a sus mejores amigos, o hasta de decir que lo ha escrito usted (pero ¿por qué?!) pero no venga llorándome a mí, a Neomagic a Sony o a Dell o a algún otro cuando explote su ordenador. =========== Instalación =========== Active los controladores de sonido, los controladores de sonido OSS, y después el controlador NM256. El controldor NM256 *debe* ser configurado como módulo (no le dará ninguna otra opción). A continuación, haga "make modules" y "make modules_install" como de constumbre. Finalmente, haga un insmod de los módulos soundcore, sound y nm256. Cuando el módulo nm256 esté cargado, debería ver un par de mensajes de confirmación en el fichero de registro indicando que encontró el dispositivo (el dispositivo *no* usa ningún puerto E/S o canal DMA). Ahora intente reproducir un fichero wav, juege con el CD-ROM si tiene uno, etc. El NM256 es un dispositivo basado completamente en PCI, y toda la información necesaria es obtenida automáticamente de la tarjeta. Sólo se puede configurar como módulo en un vano intento de prevenir que la gente se haga daño. Funciona correctamente y comparte la IRQ con otro dispositivo (Normalmente comparte la IRQ 9 con la tarjeta ethernet interna eepro100 en los portátiles Sony Z505). No ejecuta la tarjeta en ningún modo de compatibilidad. Por lo que seguramente no funcionará en portátiles que tengan un códec/mezclador compatible con SB16; Necesitará usar el controlador OSS estándar SB16 con estas placas. Yo no puedo proveer ayuda con máquinas que usen la versión compatible con SB-16. El soporte de sonido es muy básico, pero incluye capacidades de reproducción y grabación simultánea. El soporte del mezclador es bastante simple, aunque está en concordancia con la limitada funcionalidad de la placa. No hay disponible un sintetizador hardware, porque el soporte MIDI y OPL-3 en Güindows se hace a través de emulación del hardware. En el Sony sólo hay disponibles tres dispositivos de grabación: El micrófono, la entrada de CD-ROM, el dispositivo de volumen (que corresponde con la salida estéreo). (En otros modelos de portátiles pueden estar disponibles otros dispositivos). La serie Z505 no tiene CD-ROM incorporado, por lo tanto, la entrada de CD-ROM no funciona. funciona en portátiles con unidad de CD-ROM incorporada. La grabación es sólo mono 8-bits. El dispositivo mezclador no parece tener ningún control de tono, al menos en la serie Z505. El módulo mezclador busca controles de tono en el meclador AC97, y los activará si están disponibles. =================== Problemas conocidos =================== * Hay problemas conocidos con las tarjetas PCMCIA y el controlador eepro100 ethernet en los Z505S/Z505SX/Z505DX. Siga leyendo. * También hay problemas potenciales si usa una pantalla virtual X, y también hay problemas cargando el módulo una vez que el servidor X a sido ejecutado. Siga leyendo. * El control de volumen no es ni siquiera parecido a uno lineal. Lo siento. Esto finalmente será corregido, cuando me moleste demasiado. (Dudo que lo arregle por ahora, porque no me ha molestado lo suficiente y a nadie parece importarle.) * Ha habido informes de que el volumen del CD-ROM es muy bajo. Ya que no tengo un portátil equipado con CD-ROM, no puede testearlo (es bastante difícil hacerlo de forma remota). * Sólo están soportadas 8 velocidades fijas. Esto es fundamentalmente una limitación del hadware. En un futuro puede ser posible soportar otras velocidades. * No hay soporte para el códec/mezclador de telefonía. Hay soprte para el dispositivo phonein/phoneout si el programa del mezclador lo soporta; (Se apreciarán informes sobre esto.) * Este controlador fue escrito sin ninguna cooperación por parte de NeoMagic. Si tiene alguna pregunta sobre esto, mire en su página web sobre su postura oficial sobre el soporte a controladores de código abierto. ================ Memoria de video ================ El motor de sonido NeoMagic usa una porción de la memoria de video para almacenar la memoria intermedia de sonido. (Una locura, eh?) La BIOS de video de NeoMagic pone un puntero especial al comienzo de la memoria de vídeo para indicar donde debe colocarse la memoria intermedia de sonido. En este momento XFree86 aparentemente no está al tanto de esto. Por lo tanto escribirá por encima de este puntero o la memoria de sonido. (Accelerated-X parece hacer un mejor trabajo aquí.) Esto implica unas cuantas consideraciones: * A veces el controlador NM256 tiene que adivinar donde debe colocarse la memoria intermedea de sonido, especialmente si el módulo se ha cargado después de que el servidor X haya sido ejecutado. Normalmente funciona correctamente, pero fallará en el Sony F250. * Las pantallas virtuales más gandes que 1024x768x16 bajo XFree86 dan problemas en portátiles con sólo 2.5MB de memoria de video. Esto incluye a todos los portátiles equipados con el 256AV (Las pantallas Virtuales pueden, o no, funcionar en el 256ZX, que tiene al menos 4MB de memoria de video). Si tiene problemas con reproducciones de sonidos aleatorios de forma constante (este es el síntoma usual del F250), o cuando mueve las ventanas (Este es el síntoma habitual cuando usa una pantalla virtual), el mejor arreglo es * No usar una pantalla virtual. * Estar seguro de que carga el módulo NM256 antes de que haya comenzado el servidor X. En el F250, es posible forzar que el controlador cargue de forma correcta incluso después de que el servidor XFree86 haya comenzado haciendo: insmod nm256.o buffertop=0x25a800 Esto fuerza a colocar la memoria intermedia de sonido en la posición correcta en la memoria de video. ================== Página WWW oficial ================== El sitio oficial para el controlador NM256 es: http://www.uglx.org/sony.html Debería ser capaz de encontrar la última versión del controlador ahí. El controlador será soportado en un previsible futuro. ================================= Z505S/Z505SX Ethernet incorporada ================================= Si está usando la tarjeta Ethernet incorporada Pro/100 en las series Z505, le animo fuertemente a que descargue la última versión de los controladores del sitio de Donald Becker: ftp://cesdis.gsfc.nasa.gov/pub/linux/drivers/test/eepro100.c Ha sido reportado un problema en el Z505SX en el que si el interfaz ethernet es desactivado y reiniciado mientras el controlador de sonido está cargado, la máquina se cuelga. He incluido un arreglo que funciona satisfactoriamente. Aunque, ocasionalmente puede ver un mensaje que dice "Liberando interrupciones, unas 1000 interrupciones erróneas" que indica que el arreglo está haciendo su trabajo. ================================ PCMCIA y los Z505S/Z505SX/Z505DX ================================ Hay también un problema conocido con cuelgues en el Sony Z505S y Z505SX si se inserta una tarjeta PCMCIA mientras el controlador ehernet está cargado. Esto está causado por varias IRQ 9s, generadas probablemente por los puentes PCMCIA o ACPI. Actualmente no hay arreglos para este problema, y el único arreglo conocido es desactivar el interfaz ehernet antes de insertar o quitar una tarjeta PCMCIA. ======= Gracias ======= Primero, quiero agradecer a todos (excepto a NeoMagic) por su generoso soporte y estímulo. Me gustaría listar a todos los que me han respondido durante la fase de desarrollo , pero la lista es increiblemente larga. No sería justo dejar fuera a algunas personas, sin embargo: Justin Maurer, por ser la primera persona aleatoria de la red en probarlo, y por dejarme entrar en su Z505SX para trabajar ahí. Edi Weitz por probar varias versiones diferente y por enviarme muchos comentarios útiles. Greg Rumple por dejarme entrar remotamente para que el controlador funcionara en un 256ZX, por su ayuda en el seguimiento de toda clase de problemas aleatorios, y por probar Accel-X. Zach Brown, por el diseño inicial del interfaz del mezclador AC97 Jeff Garzik, por varias sugerencias útiles sobre el interfaz AC97 ==================== Versiones anteriores ==================== Las versiones anteriores a la 0.3 (aka `noname') tenian problemas con extraños en la salida y fallaban en poner la frecuencia de grabación correctamente. Estos problemas han sido solucionados desde entonces. Versiones anteriores a la 0.5 tenían problemas con clics en la salida cuando se estaban reproduciendo sonidos diferentes a 16-bit estéreo, y también con clics periódicos cuando se grababa. La versión 0.7 fue la primera en incorporar soporte para el conjunto de chips NM256ZX, que se encuentra en algunos portátiles Dell Latitude (el CPt, y aparentemente algunos modelos CPi). También incluyó el módulo genérico para el mezclador AC97. La versión 0.75 renombró todas las funciones y los ficheros con nombres ligeramente más genéricos. "Traducido para el proyecto NuLies por Gorka Olaizola Sánchez "