Skip to main content

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


[Abandonné]problème avec ordinateur portable et firewire

France
Bonjour,

j'ai un ordi portable MSI avec port firewire et une carte Echo AudioFire4, le tout tourne sous KXStudio.

Depuis que j'ai installé cette distribution, impossible de faire fonctionner cette carte. J'ai un autre portable asus et j'ai le même problème, par contre la carte fonctionne bien sur la même distribution mais sur une tour...

Cette carte fonctionne sans transfo sur la tour mais avec sur portable.

Quelqu'un a-t'il eu le même problème ? D'où cela peut il venir ?

Merci de vos réponses
France
Bonjour leyoy,

Il faut regarder si le port firewire est reconnu par le système.
Il faudrait que tu puisses regarder sur ta tour comment est configuré le port firewire et les differences sur tes portables par rapport à la tour.
Bonsoir,

Je ne comprends pas bien pourquoi ça fonctionne sur un ordi et pas sur les autres ...
Si jackd ne trouve pas ta carte, c'est peut-être qu'il ne trouve pas le module de ta carte, ou que ce module est déjà occupé par un autre serveur son ( alsa ou pulseaudio ...)

Néanmoins, tu peux déjà essayer, dans un terminal, de lancer cette commande

Copy to clipboard
ffado-test ListDevices


pour voir si au moins ta carte est "vue" par ton système.

Ensuite, tu peux aussi lancer la commande

Copy to clipboard
ffado-test Discover


Tu devrais pouvoir découvrir le "driver" de ta carte, dans les premières lignes du fatras du résultat ...

Puis encore, dans un terminal, lancer la commande
Copy to clipboard
lsmod
et voir si le module qui correspond à ta carte apparaît ...

... Et si ce module apparaît, c'est effectivement qu'il est utilisé par une autre appli ( alsa, pulseaudio ) et qu'il ne peut plus être dispo pour autre chose ( jackd entre autre )...

Pour que ta carte puisse fonctionner avec jackd ( en supposant que cela soit ton problème, mais tu ne le dis pas ... ) Il faudrait d'abord "blacklister" ce module pour que ta carte soit utilisable par jackd...

Si tout cela est confus et abrupte, n'hésite pas à demander des explications plus "douces" ...

PS : vérifie aussi dans le bios de tes portables, que le port firewire est bien activé !

Tu peux aussi vérifier si ton port est actif avec la commande

Copy to clipboard
ffado-diag

je me pose cette question qui est peut etre bete mais si elle n'est pas reconnu sur le laptop peut etre que le port firewire ne permet pas l'alimentation suffisante de ta carte
si elle n'est pas alimentée par un transfo
France
Bonjour et merci de vos réponses, désolé du delay ...

Oui la carte est bien branchée sur secteur et oui je cherche à la faire fonctionner avec jackd.

pour la commande:
Copy to clipboard
ffado-test ListDevices

ma carte est bien vue:
Copy to clipboard
=== 1394 PORT 0 === Node id GUID VendorId ModelId Vendor - Model 1 0x00148603856ef825 0x00001486 0x00000AF4 Echo Digital Audio - AudioFire4 no message buffer overruns

Pour le deuxième code:
Copy to clipboard
ffado-test Discover

je vois ces lignes qui paraissent importantes:
Copy to clipboard
00465181237: Debug (devicemanager.cpp)[ 354] discover: Starting discovery... 00465281897: Debug (Configuration.cpp)[ 163] showSetting: Group: (null) 00465281969: Debug (Configuration.cpp)[ 185] showSetting: vendorid = 5254 (0x00001486) 00465281996: Debug (Configuration.cpp)[ 185] showSetting: modelid = 2804 (0x00000AF4) 00465282056: Debug (Configuration.cpp)[ 209] showSetting: vendorname = Echo 00465282082: Debug (Configuration.cpp)[ 209] showSetting: modelname = AudioFire4 00465282112: Debug (Configuration.cpp)[ 209] showSetting: driver = FIREWORKS 00465282135: Debug (Configuration.cpp)[ 209] showSetting: mixer = AudioFire 00465282163: Debug (Configuration.cpp)[ 185] showSetting: xmit_max_cycles_early_transmit = 4 (0x00000004)

Pour ce qui concerne la commande lsmod j'ai ces lignes qui confirmeraient que le module est lancé ?
Copy to clipboard
firewire_ohci 40360 0 firewire_core 64575 11 firewire_ohci crc_itu_t 12707 1 firewire_core


Que faire maintenant, cette carte fonctionnait bien j'aimerai m'en servir à nouveau.

Merci de votre aide
D'après tes retours, cette interface est vue , par ffado, comme un modèle "0x00000AF4" du vendeur "0x00001486". Et elle utilise le pilote FIREWORKS. Autrement dit un modèle "AudioFire4" d'un vendeur "Echo Digital Audio".

J'ai regardé dans le fichier de ffado qui stocke les cartes firewire. En tapant

Copy to clipboard
more /usr/share/libffado2/configuration


(avec leafpad, ou un éditeur de texte plus graphique, c'est quand même plus facile ... ), on peut voir pas mal de périphériques audio du même fabricant, soit "0x00001486". Mais chez moi, je n'ai pas la référence du modèle précis "0x00000AF4".

C'est peut-être ce qui se passe sur ta machine. Peux-tu vérifier la présence/l'absence de cette référence "0x00000AF4" dans le fichier /usr/share/libffado2/configuration ?

Si cette réf est absente, il suffira probablement de la créer, ce ne sera pas bien long ... et cela pourrait suffire à faire fonctionner ta carte.

Peux-tu me donner également la liste complète renvoyée par la commande lsmod ?
France
Je n'y connais pas grand chose en firewire, mais je crois qu'ALSA peut gérer certaines cartes,
et Ffado d'autres. Donc, leyoy, as tu essayé de lancer jackd avec ALSA ?
Ceci dit, si elle tournait avec Ffado avant, je ne vois pas pourquoi elle serait pris en charge par
ALSA maintenant. Un conflit ALSA/Ffado peut être ? Il n'y aurait pas des modules d'ALSA concernant
le firewire à blacklister ?
France
Bonsoir,

sub26nico, ma carte n’apparaît pas dans alsa sous Cadence donc à mon avis c'est mort pour cette piste.

dlb, j'espérai que cette piste soit la bonne mais malheureusement ma carte est bien référencée dans le fichier /usr/share/libffado2/configuration:

Copy to clipboard
{ vendorid = 0x1486; modelid = 0xAF4; vendorname = "Echo"; modelname = "AudioFire4"; driver = "FIREWORKS"; mixer = "AudioFire"; xmit_max_cycles_early_transmit = 4; }


voici le lsmod entier:

Copy to clipboard
Module Size Used by ctr 13049 2 ccm 17773 2 snd_hrtimer 12744 1 bnep 19624 2 rfcomm 69160 0 bluetooth 395413 10 bnep,rfcomm binfmt_misc 17468 1 arc4 12608 2 iwldvm 236381 0 mac80211 651221 1 iwldvm gpio_ich 13476 0 coretemp 13435 0 kvm_intel 148101 0 nouveau 1109576 4 kvm 464127 1 kvm_intel iwlwifi 182220 1 iwldvm snd_hda_codec_hdmi 46368 1 joydev 17332 0 ttm 93424 1 nouveau drm_kms_helper 55071 1 nouveau serio_raw 13413 0 cfg80211 504520 3 iwlwifi,mac80211,iwldvm snd_hda_codec_realtek 65904 1 drm 303102 6 ttm,drm_kms_helper,nouveau lpc_ich 21080 0 snd_hda_intel 56562 2 snd_hda_codec 193017 3 snd_hda_codec_realtek,snd_hda_codec_hdmi,snd_hda_intel i2c_algo_bit 13413 1 nouveau snd_hwdep 13602 1 snd_hda_codec shpchp 37032 0 msi_wmi 13354 0 sparse_keymap 13948 1 msi_wmi parport_pc 32701 0 ppdev 17671 0 snd_aloop 23396 0 snd_pcm 102040 4 snd_aloop,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel snd_page_alloc 18710 2 snd_pcm,snd_hda_intel snd_seq_midi 13324 0 snd_seq_midi_event 14899 1 snd_seq_midi snd_rawmidi 30682 1 snd_seq_midi ir_lirc_codec 13021 0 ir_mce_kbd_decoder 13214 0 lirc_dev 19980 1 ir_lirc_codec ir_sanyo_decoder 12839 0 ir_sony_decoder 12713 0 ir_jvc_decoder 12751 0 ir_rc6_decoder 12874 0 snd_seq 61567 3 snd_seq_midi_event,snd_seq_midi ir_rc5_decoder 12710 0 ir_nec_decoder 12915 0 snd_seq_device 14497 3 snd_seq,snd_rawmidi,snd_seq_midi snd_timer 29500 3 snd_hrtimer,snd_pcm,snd_seq snd 69367 18 snd_hda_codec_realtek,snd_hrtimer,snd_aloop,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi soundcore 12680 1 snd rc_rc6_mce 12502 0 video 19476 1 nouveau mxm_wmi 13021 1 nouveau lp 17759 0 ene_ir 22536 0 parport 46395 3 lp,ppdev,parport_pc rc_core 28075 12 lirc_dev,ir_lirc_codec,ir_rc5_decoder,ir_nec_decoder,ir_sony_decoder,ene_ir,ir_mce_kbd_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_sanyo_decoder,rc_rc6_mce wmi 19177 3 msi_wmi,mxm_wmi,nouveau mac_hid 13205 0 ahci 34091 3 psmouse 106643 0 firewire_ohci 40360 0 firewire_core 64575 3 firewire_ohci libahci 32716 1 ahci sdhci_pci 23172 0 crc_itu_t 12707 1 firewire_core sdhci 43023 1 sdhci_pci r8169 71677 0 mii 13934 1 r8169


Aujourd'hui j'ai essayé ma carte avec un autre portable et elle marche ...
Serait-ce un problème matériel de mon port firewire ?
En tout cas avec mon ordi qui ne fonctionne pas, cadence freeze complètement lorsque je tente de configurer ma carte...
Voici ce que me sort cadence quand je le lance en ligne de commande:
Copy to clipboard
Traceback (most recent call last): File "/usr/share/cadence/src/cadence.py", line 548, in run gDBus.jack.StartServer() File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 145, in __call__ **keywords) File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking message, timeout) dbus.exceptions.DBusException: org.jackaudio.Error.Generic: Failed to open server

Bonsoir leyoy,

Comme le fait remarquer Sub26nico, il y a deux stratégies possibles pour faire fonctionner une carte firewire, mais qui ne peuvent coexister simultanément sur une même installation : soit on utilise les pilotes alsa, soit les pilotes ffado. Mais pas les deux ensemble.( cf *Note ) Je te propose deux solutions.

La première serait d'utiliser d'abord les pilotes alsa. Le module noyau qui pilote ta carte via alsa est "snd-fireworks". Il devrait s'activer automatiquement si ta carte firewire est connectée et allumée. Mais je ne le vois pas dans ton retour de lsmod. C'est bizarre ... Tu peux forcer son installation, dans un terminal, en root, avec la commande
Copy to clipboard
modprobe snd-fireworks

Bien sûr, ta carte est bien reliée à l'ordi, et allumée ...
Vérifie alors que le module snd-fireworks est bien activé en tapant
Copy to clipboard
lsmod

dans ton terminal. Tu devrais voir quelque part le nom de ce pilote dans le retour de ta commande.
Ensuite, tu lances Qjackctl, tu cliques sur réglages, onglet paramètres, tu choisis le pilote "alsa" et l'interface "hw:......" choisis l'option qui te semble le plus proche de ta carte firewire. Tu règles aussi Echantillons/période 256 Périodes/tampons 2
Sur l'onglet avancé, Périphériques de sorties/d'entrées à priori sur défaut ... Tu peux aussi choisir ta carte si elle apparaît dans les options. Clique sur OK, puis démarrer ... Ca devrait marcher.

Si cela ne fonctionnait pas, essaie avec les pilotes ffado. Je te suggère de corriger le fichier /usr/share/libffado2/configuration avec le "nom" exact de ta carte, soit 0x00001486 pour le VendorId et 0x00000AF4 pour le ModelId. Tu dois être root pour cela. Redémarre ensuite ta machine, vérifie avec un lsmod que le pilote alsa "snd-fireworks" n'est pas activé ( sans quoi le pilote ffado ne fonctionnera pas ), puis tente de lancer qjackctl avec le paramétrage suivant : Régalges/paramètres onglet paramètres, pilote firewire et interface default , Echantillons/période 256 Périodes/tampons 2 , avancé : tout sur default et audio duplex.
Et tu lances jack ...

J'espère que l'une ou l'autre de ces solutions fonctionnera, sinon, ben, je sais plus ... port firewire défaillant ? Quant au message de cadence, je n'y comprends pas grand chose ...

  • Note : C'est pourquoi, lorsqu'on privilégie un pilote ffado, on "blacklist" le pilote alsa correspond dans un fichier qui interdit son activation au démarrage du système : les deux procédés sont incompatibles !