Red de conocimiento informático - Conocimiento sistemático - ¿Cómo se conecta el audio HiSilicon con la programación de audio como alsa u oss?

¿Cómo se conecta el audio HiSilicon con la programación de audio como alsa u oss?

Uno de los controladores de la tarjeta de sonido es OSS (Open Sound System) y el otro es ALSA (Advanced Linux Sound Architecture). OSS es un controlador de tarjeta de sonido comercial cuya compra requiere dinero. Generalmente, actualmente utilizamos la arquitectura de sonido ALSA.

La abreviatura de Advanced Linux Sound Architecture es ALSA, que traducida al chino significa Linux Advanced Sound System. ALSA no sólo incluye soporte y controlador para tarjetas de sonido.

Sus características son las siguientes; :

1. Soporte eficiente para todas las interfaces de audio, desde tarjetas de sonido de usuarios comunes hasta equipos de audio multicanal de nivel profesional.

2. Diseño completamente modular del controlador de la tarjeta de sonido.

3. SMP y diseño seguro para subprocesos.

4. La biblioteca de desarrollo (alsa-lib) proporciona simplicidad, conveniencia y efectos y funciones avanzadas para el diseño de programas; >

5. Admite la versión anterior de la interfaz API de OSS, que puede proporcionar compatibilidad para la mayoría de las aplicaciones OSS; OSS es un controlador comercial y OSS tiene una versión simplificada del código que se ha trasladado al kernel y ALSA, entre otros. que también es oss; se dice que la empresa OSS ya no existe; no necesitamos usar la versión comercial proporcionada por la empresa OSS; basta con usar ALSA y la versión simplificada de OSS; para comprobar el chip de hardware;

En el sistema operativo Linux, todo el hardware se distingue por el chipset, y la marca no es el identificador más importante del hardware; pida ayuda en el foro de discusión, mencione solo la marca del hardware y no. Si no se proporciona el chipset, no podemos ayudarlo. Recuerde;

El comando para verificar el chipset del hardware es lspci -v. o dmesg, porque la información generada por dmesg no es demasiada y no es lo suficientemente intuitiva. Por lo tanto, a menudo se usa lspci -v para obtenerlo, el más conveniente es lspci -v; usar lspci -v;

Código:

[root@localhost beinan]# lspci -v

Después de ejecutar lspci -v, si verificamos el chipset de tarjeta de sonido, encontraremos un párrafo similar al siguiente;

 [root@localhost beinan]# lspci -v

Controlador de audio multimedia: Intel Corporation 82801DB/DBL/DBM ( ICH4/ICH4-L/ICH4-M)

Controlador de audio AC'97 (rev 03)

Subsistema: Compañía Hewlett-Packard: Dispositivo desconocido 3080

2.6.11-1.1369_FC4 i686 i686 i386

Lo anterior representa la versión del kernel del sistema, la arquitectura del procesador, etc., lsmod para ver el módulo del kernel cargado;

Si es un dispositivo; se carga como un módulo durante la compilación del kernel, se ve principalmente a través de lsmod;

[root@localhost beinan]# lsmod

Los hermanos que son nuevos en Linux pueden preguntar, ¿dónde están los módulos del kernel almacenados? ¿Podemos cargar los módulos manualmente nosotros mismos? Los módulos del kernel se colocan en /lib/modules/kernel version/kernel/, por ejemplo, en Fedora 4.0, podemos ver lo siguiente:

[ root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/kernel/

arch/ crypto/ drivers/ fs/ lib/ net/ sound/ Entre ellos, el sonido es la tarjeta de sonido módulo

Directorio de almacenamiento en bloque, la mayoría de los controladores de hardware se colocan en el directorio de controladores, fs es el directorio del módulo del sistema de archivos; net es el directorio de almacenamiento relacionado con la red, como los módulos compatibles con algunos protocolos de red, los módulos compatibles con firewalls, etc. ; arch es el aspecto de la CPU .. ...

Si queremos cargar el módulo nosotros mismos, vayamos a estos directorios para ver la información del módulo correspondiente y luego use modprobe para cargarlo;

[root@localhost beinan]# modinfo snd-intel8x0

Para ver la información de un módulo, usamos modinfo para verlo. El módulo a ver no debe contener .ko o. .o, por ejemplo, si ve información similar a la siguiente;

descripción: Intel 82801AA, 82901AB, i810, i820, i830, i840, i845, MX440;

A través de esto podemos saber que se trata de una tarjeta de sonido integrada Intel, mediante lspci -v La información de la tarjeta de sonido obtenida parece ser muy similar, así que puedo intentar usar este módulo para conducir;

[root@localhost beinan]# modprobe snd-intel8x0

Use modprobe para cargar el módulo, y luego podemos ver a través de lsmod que el módulo de la tarjeta de sonido se carga de esta manera y los módulos del controlador de otros; Los dispositivos también se cargan de esta manera.