Chargement...
 
Skip to main content

1 - Le matériel et les pilotes ALSA, FFADO, ...


Nouveaux développements en ce qui concerne les cartes Firewire (inclusion dans ALSA)

France
Y'a du nouveau en ce qui concerne la gestion des interfaces Firewire sous linux. Ce message est un résumé d'une discussion privée que j'ai eu avec utilisateur_anonyme avant qu'il ne poste le message [Résolu] Pilotes FFADO vs ALSA.

L'équipe d'ALSA (en partenariat avec l'équipe de FFADO) a démarré un travail d'inclusion dans le noyau de pilotes pour interfaces-son firewire. Ceci signifie donc que certaines interfaces firewire commencent à fonctionner avec des nouveaux pilotes ("backend") alsa. Par exemple, certaines des interfaces firewire construites autour d'une puce "Dice" peuvent utiliser le module alsa snd-dice.

J'ai discuté il y a plusieurs jours avec quelqu'un qui possède une audiobox firewire et qui en a parlé avec les équipes de FFADO et ALSA qui lui ont confirmé que normalement, les deux solutions (soit ALSA, soit FFADO) doivent toujours fonctionner. Ceci dit, si le module ALSA pour la carte est chargé, alors FFADO ne peux plus y accéder puisqu'ALSA prend le contrôle exclusif de l'interface.

C'est à prendre avec des pincettes puisque je n'ai pas essayé moi-même mais en gros : si le module ALSA "snd-dice" pour l'interface firewire (à voir avec lsmod ou/et dmesg) est utilisé, et si on le décharge (rmmod), alors la carte devrait redevenir accessible par le pilote FFADO.

À noter qu'ALSA ne prévoit pas de remplacer le FFADO mixer. L'utilisation deviendra donc :
  • modules ALSA
  • mixeur FFADO

Retours bienvenus
Oui mais donc non en fait les deux solutions fonctionnent mais bien entendu impossible de faire les deux à la fois.

Je t'avoue que je n'avais pas cherché plus loin sur le coup et récemment xzu me demandait comment je la fait tourner.
Je lui explique que je passe par alsa bref ...
Et suite à ce que tu me disais tout d'un coup je me suis dit que j'ai du oublier une étape notamment le /etc/default/rtirq.

Et là après ça roule rien à modifier sauf s'assurer de la valeur RT dans jack et c'est tout ! (génial quoi)
Maintenant ce qui serait intéressant c'est de savoir si ça marche aussi avec d'autres cartes en firewire ...
France
Pour ton cas précis, peut être. Ce qui est écrit dans mon message reste valable pour le cas général (et pour les gens qui lisent).

Merci pour le retour.
J'oubliai: je n'ai pas de snd-dice dans le retour de commandes lsmod et dmesg et malgré cela ça fonctionne.
France
snd-dice est un des pilotes ALSA. Il est utilisé par certaines cartes. J'imagine donc que la FA 101 utilise un autre pilote. Un
Copy to clipboard
lsmod |grep snd
sur ton système devrait nous donner l'information.
Comme je te dis, y'a pas:

Copy to clipboard
$ lsmod |grep snd snd_seq_dummy 16384 2 snd_hrtimer 16384 1 snd_bebob 40960 5 snd_firewire_lib 24576 1 snd_bebob snd_ice1712 73728 2 snd_cs8427 16384 1 snd_ice1712 snd_i2c 16384 2 snd_ice1712,snd_cs8427 snd_ice17xx_ak4xxx 16384 1 snd_ice1712 snd_ak4xxx_adda 20480 2 snd_ice1712,snd_ice17xx_ak4xxx snd_mpu401_uart 16384 1 snd_ice1712 snd_ac97_codec 118784 1 snd_ice1712 ac97_bus 16384 1 snd_ac97_codec snd_hdsp 57344 4 snd_hda_codec_hdmi 53248 1 snd_hda_intel 28672 0 snd_hda_controller 28672 1 snd_hda_intel snd_hda_codec 94208 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_controller snd_hda_core 24576 3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_controller snd_hwdep 16384 3 snd_bebob,snd_hda_codec,snd_hdsp snd_seq_midi 16384 8 snd_seq_midi_event 16384 1 snd_seq_midi snd_seq 61440 16 snd_seq_midi_event,snd_seq_dummy,snd_seq_midi snd_rawmidi 28672 5 snd_firewire_lib,snd_bebob,snd_mpu401_uart,snd_hdsp,snd_seq_midi snd_seq_device 16384 3 snd_seq,snd_rawmidi,snd_seq_midi snd_aloop 24576 0 snd_pcm_oss 45056 0 snd_mixer_oss 24576 1 snd_pcm_oss snd_pcm 90112 13 snd_firewire_lib,snd_ice1712,snd_pcm_oss,snd_ac97_codec,snd_aloop,snd_bebob,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller,snd_hdsp snd_timer 28672 3 snd_hrtimer,snd_pcm,snd_seq snd 73728 25 snd_ice1712,snd_pcm_oss,snd_ac97_codec,snd_aloop,snd_bebob,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_i2c,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_ak4xxx_adda,snd_hda_intel,snd_mpu401_uart,snd_seq_device,snd_mixer_oss,snd_hdsp,snd_cs8427 soundcore 16384 1 snd firewire_core 57344 3 snd_firewire_lib,snd_bebob,firewire_ohci


Et dans les deux cas que ce soit alsa ou firewire je peux la faire tourner avec jack sans problème.
Par contre je peux charger le module snd-dice avec modprobe et là oui il apparaît bien:

Copy to clipboard
lsmod |grep snd_d snd_dice 28672 0 snd_firewire_lib 24576 2 snd_bebob,snd_dice snd_hwdep 16384 4 snd_bebob,snd_hda_codec,snd_dice,snd_hdsp snd_rawmidi 28672 6 snd_firewire_lib,snd_bebob,snd_mpu401_uart,snd_dice,snd_hdsp,snd_seq_midi snd_pcm 90112 14 snd_firewire_lib,snd_ice1712,snd_pcm_oss,snd_ac97_codec,snd_aloop,snd_bebob,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller,snd_dice,snd_hdsp snd 73728 26 snd_ice1712,snd_pcm_oss,snd_ac97_codec,snd_aloop,snd_bebob,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_i2c,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_ak4xxx_adda,snd_hda_intel,snd_mpu401_uart,snd_seq_device,snd_mixer_oss,snd_dice,snd_hdsp,snd_cs8427 firewire_core 57344 4 snd_firewire_lib,snd_bebob,firewire_ohci,snd_dice


Mais à priori dans les deux cas ça fonctionne, houla je sens que ça va soulever des questions ça...
France
Et ça ne serait pas lui par hasard ? snd_bebob
Pour le cas ALSA/jack oui mais pour Firewire/jack je penserai plutôt à snd_firewire_lib et firewire_ohci non ?
France
Pour l'utilisation que tu appelles Firewire/Jack (et qui semble signifier FFADO/Jack dans ton message précédent), il me semble qu'il y a une utilisation de firewire_ohci qui est un pilote pour les contrôleurs firewire (mais pas de snd_firewire_lib qui lui me semble être un tronc commun pour les pilotes firewire pour le son), et de la libffado.
À mon avis si décharge firewire_ohci je pense que le pilote alsa bebob va planter j'essaierai à l'occase
Chose confirmée le pilote alsa a aussi besoin de firewire_ohci.
J'ai l'impression que leurs pilotes sont conçus pour faire un pont entre ffado et alsa.
France
Non.
Le pilote firewire_ohci est un pilote de pilotage des contrôleurs firewire (pas les cartes sons externes, le contrôleur). C'est donc normal qu'un pilote de carte son firewire ne fonctionne plus si tu décharges le pilote de la puce du contrôleur firewire (de ta carte mère).

Les pilotes alsa bebob, dice, ou autres sont des pilotes pour piloter certains modèles d'interface son firewire.

Tu as une mauvaise impression, les pilotes ALSA sont des pilotes ALSA , ils ne font aucun pont avec la bibliothèque FFADO (libffado).
Alors dans ce cas il me semble que bebob est le pilote alsa qui fait tourner la FA101 mais c'est curieux il ne date pas d'hier celui-là.
France
Peut être. C'est à investiguer. De mémoire, les premières inclusions de code concernant le support des certaines interfaces-son firewire dans le noyau par ALSA datent des alentours d'Avril 2015.
Curieux il me semble l'avoir déja utilisé sur la tangostudio et on m'avait dit que c'était un vieux pilote obsolète.

Mais bon à la limite dans le concret la FA-101 fonctionne comme n'importe quelle carte avec alsa et ça c'est bon!
France
Tu dois confondre avec freebob (qui était le premier nom de FFADO).
Ha oui en effet d'ailleurs ce pilote là aussi fonctionne bien.
France
Chouette info ça piep !
Hello !

Je possede une Digi002 Console et ce sujet m'interesse fortement fortement !
J'ai un peu tout testé, KXstudio (kernel trop vieux), Ubuntu Studio (4.4) et Librazik (4.4 rt lbz), Mais dans tout les cas, impossible de voir la digi dans le QjackCtl, sous alsa comme tout les autre.
J'ai tenté d'installer aussi ceci : http://www.zamaudio.com/?p=855 mais ça coince.

voici par exemple sous ubuntu Studio 16.04 (en live usb) ce que cela donne :

Copy to clipboard
ubuntu-studio@ubuntu-studio:~$ lsmod |grep snd snd_seq_dummy 16384 0 snd_hda_codec_realtek 81920 1 snd_hda_codec_generic 77824 1 snd_hda_codec_realtek snd_hda_codec_hdmi 53248 1 snd_hda_intel 36864 8 snd_hda_codec 135168 4 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_intel snd_dice 28672 0 snd_firewire_lib 32768 1 snd_dice snd_hda_core 69632 5 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel snd_hwdep 16384 2 snd_hda_codec,snd_dice snd_seq_midi 16384 0 snd_seq_midi_event 16384 1 snd_seq_midi snd_rawmidi 32768 3 snd_firewire_lib,snd_dice,snd_seq_midi snd_pcm 106496 8 snd_firewire_lib,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_dice,snd_hda_core snd_seq 69632 6 snd_seq_midi_event,snd_seq_dummy,snd_seq_midi snd_seq_device 16384 3 snd_seq,snd_rawmidi,snd_seq_midi snd_timer 32768 2 snd_pcm,snd_seq snd 81920 27 snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_dice soundcore 16384 1 snd firewire_core 65536 3 snd_firewire_lib,firewire_ohci,snd_dice


Copy to clipboard
ubuntu-studio@ubuntu-studio:~$ uname -r 4.4.0-21-lowlatency

Copy to clipboard
ubuntu-studio@ubuntu-studio:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: SB [HDA ATI SB], device 0: ALC892 Analog [ALC892 Analog] Subdevices: 0/1 Subdevice #0: subdevice #0 card 0: SB [HDA ATI SB], device 1: ALC892 Digital [ALC892 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA ATI HDMI], device 10: HDMI 4 [HDMI 4] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: HDMI [HDA ATI HDMI], device 11: HDMI 5 [HDMI 5] Subdevices: 1/1 Subdevice #0: subdevice #0


Si vous avez plus d'info concernant les drivers firewire contenu dans ce noyau, je prend !
Merci beaucoup.
France
Sous LibraZiK, je peux regarder. Ça "devrait" fonctionner avec un 4.4.6 (qu'il soit normal, basse latence ou temps réel). Si ça t'intéresse, ouvre un nouveau sujet "digi002 et LibraZiK" ou un nom du genre.
Page: 1/2  [Suivant]
1  2