Forum Linux.debian/ubuntu 2 cartes sons snd-usb-audio, udev

Posté par  .
Étiquettes :
0
9
déc.
2007
Bonjour,
J'ai deux cartes sons sur mon système sous Ubuntu (avec les tous les paquets ubuntustudio). Ces deux cartes sont censé utiliser le module snd-usb-audio qui est bien chargé.
La carte son intégrée de ma carte mère, qui pour je ne sais quelle bizarerie est reconnue en tant que carte usb. J'arrive bien à la faire marcher, elle peux jouer plusieurs sons en même temps (en passant par le dmix d'Alsa je pense, car ni esd ni arts ne sont lancés). Autre chose étrange elle est reconnue comme device 1 (au lieu de 0).

Et j'ai aussi une Edirol UR-80. Elle est reconnue, mais pas partout, et passe en tant que device 0. Je m'explique sur le "mais pas partout":
aplay -L me l'affiche bien, aplay -l ne m'affiche que la carte intégrée.
asoundconf list m'affiche bien les deux. Quand je la branche les fichiers sont bien créés dans /proc/asound.
Par contre impossible de jouer un son: "aplay -D hw:0 toto.wav" me donne "aplay: main:545: Erreur d'ouverture audio: Aucun fichier ou répertoire de ce type" (le fichier se lit très bien sur l'autre carte son).
De plus /dev contient dsp1 mais pas de dsp0 ni de dsp, ce qui me fait dire que udev ne créé pas tout ce qu'il faut.
J'ai essayé une manip avec mknod et MAKEDEV qui n'a rien donné, j'ai essayé aussi de télécharger et de lancer le script snddevices de Alsa, sans succès non plus.
Bref, j'ai deux petites questions:
* vu que les deux cartes sons utilisent le même module alsa (snd-usb-audio), doit-il être chargé deux fois ??? (arrêtez-moi si je dis un grosse bourde)
* Y a-t-il un moyen de forcer udev à faire son boulot ?

Désolé d'avoir écrit un roman, et merci à ceux qui voudront bien me donner une piste pour faire marcher mon matos.
  • # a mon avis

    Posté par  . Évalué à 2.

    poste nous le resultat de la commande:

    dmesg
    aplay -l
    lspci
    lsusb (merci de debrancher tout tes preriph avant, souris imprimante etc...)
    lsusb (si truc 80 c'est en USB)
    lsmod (sans truc 80 de brancher)
    lsmod (avec truc 80 de brancher)
    puis juste apres
    tail /var/log/dmesg

    puis lsusb AVEC ton truc de l'espace 80 (si c'est usb)

    precise aussi si Edirol UR-80 est connecté sur le port usb ? ou par une carte pci fait exprés ?

    sinon, je pense que il y a un petit souci de configuration au demarrage, juste un probleme d'ordre de chargement des modules.

    pour ta question 1) oui et non par exemple:
    Module Size Used by
    usbcore 131480 3 ehci_hcd,uhci_hcd

    n'apparait qu'une fois mais est utilisé 3 fois pour l'ensemble de mes devices usb (c'est la colonne Used)
    • [^] # Re: a mon avis

      Posté par  . Évalué à 2.

      ha oui regarde du coté de /etc/alsa/alsa-source.conf
    • [^] # Re: a mon avis

      Posté par  . Évalué à 1.

      tout d'abord merci de te pencher sur mon problème.

      réultat de dmesg après avoir allumé la UR-80 (c'est une carte externe connectée directement en usb, pas de carte pci)
      [10549.635246] usb 2-6: new full speed USB device using ohci_hcd and address 7
      [10549.822011] usb 2-6: configuration #1 chosen from 1 choice
      [10549.827983] hub 2-6:1.0: USB hub found
      [10549.830924] hub 2-6:1.0: 4 ports detected
      [10550.140857] usb 2-6.3: new full speed USB device using ohci_hcd and address 8
      [10550.246952] usb 2-6.3: configuration #1 chosen from 1 choice
      [10550.431815] usb 2-6.4: new full speed USB device using ohci_hcd and address 9
      [10550.530919] usb 2-6.4: configuration #1 chosen from 1 choice


      aplay -l ne me liste que la carte integrée:
      **** Liste des PLAYBACK périphériques ****
      carte 1: default [PnP Audio Device ], périphérique 0 : USB Audio [USB Audio]
      Sous-périphériques: 0/1
      Sous-périphérique: #0: subdevice #0


      aplay -L me liste les deux:
      default:CARD=UR80
      UR-80
      Default Audio Device
      front:CARD=UR80
      UR-80
      Front speakers
      surround40:CARD=UR80
      UR-80
      4.0 Surround output to Front and Rear speakers
      surround41:CARD=UR80
      UR-80
      4.1 Surround output to Front, Rear and Subwoofer speakers
      surround50:CARD=UR80
      UR-80
      5.0 Surround output to Front, Center and Rear speakers
      surround51:CARD=UR80
      UR-80
      5.1 Surround output to Front, Center, Rear and Subwoofer speakers
      surround71:CARD=UR80
      UR-80
      7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
      iec958:CARD=UR80
      UR-80
      IEC958 (S/PDIF) Digital Audio Output
      null
      Discard all samples (playback) or generate zero samples (capture)
      default:CARD=default
      PnP Audio Device , USB Audio
      Default Audio Device
      front:CARD=default,DEV=0
      PnP Audio Device , USB Audio
      Front speakers
      surround40:CARD=default,DEV=0
      PnP Audio Device , USB Audio
      4.0 Surround output to Front and Rear speakers
      surround41:CARD=default,DEV=0
      PnP Audio Device , USB Audio
      4.1 Surround output to Front, Rear and Subwoofer speakers
      surround50:CARD=default,DEV=0
      PnP Audio Device , USB Audio
      5.0 Surround output to Front, Center and Rear speakers
      surround51:CARD=default,DEV=0
      PnP Audio Device , USB Audio
      5.1 Surround output to Front, Center, Rear and Subwoofer speakers
      surround71:CARD=default,DEV=0
      PnP Audio Device , USB Audio
      7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
      iec958:CARD=default,DEV=0
      PnP Audio Device , USB Audio
      IEC958 (S/PDIF) Digital Audio Output


      lsusb:
      Bus 002 Device 009: ID 0582:0048 Roland Corp.
      Bus 002 Device 008: ID 0582:0047 Roland Corp.
      Bus 002 Device 007: ID 03eb:3301 Atmel Corp. at43301 4-port Hub
      Bus 002 Device 002: ID 04fc:05d8 Sunplus Technology Co., Ltd
      Bus 002 Device 001: ID 0000:0000
      Bus 002 Device 003: ID 0d8c:0201 C-Media Electronics, Inc.
      Bus 001 Device 001: ID 0000:0000


      (jai pas pus débrancher clavier/souris qui sont sur une prise usb, la carte est "Roland Corp.", edirol est une sous-marque de roland, C-Media est la carte sons integrée qui passe en USB. Après vérification le "Atmel Corp" semble faire aussi parti de la cartte UR80)

      lsmod (avec UR80):
      Module Size Used by
      isofs 39548 0
      udf 90280 0
      ipv6 325896 10
      af_packet 28812 2
      rfcomm 48808 2
      l2cap 29440 11 rfcomm
      bluetooth 66436 4 rfcomm,l2cap
      ppdev 11528 0
      cpufreq_conservative 9864 0
      cpufreq_powersave 3200 0
      cpufreq_userspace 6304 0
      cpufreq_stats 8704 0
      cpufreq_ondemand 11024 0
      freq_table 6592 2 cpufreq_stats,cpufreq_ondemand
      video 21268 0
      dock 13248 0
      container 6656 0
      ac 7560 0
      sbs 21904 0
      button 10656 0
      battery 12680 0
      sbp2 27784 0
      lp 16264 0
      snd_usb_audio 97408 3
      snd_pcm_oss 50560 0
      snd_mixer_oss 20352 1 snd_pcm_oss
      snd_pcm 95624 3 snd_usb_audio,snd_pcm_oss
      snd_page_alloc 12688 1 snd_pcm
      snd_usb_lib 20864 1 snd_usb_audio
      snd_hwdep 12552 1 snd_usb_audio
      snd_seq_dummy 5508 0
      nvidia 7015828 36
      snd_seq_oss 37632 0
      snd_seq_midi 11136 0
      snd_rawmidi 30336 2 snd_usb_lib,snd_seq_midi
      snd_seq_midi_event 10240 2 snd_seq_oss,snd_seq_midi
      snd_seq 63776 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
      snd_timer 28040 3 snd_pcm,snd_seq
      snd_seq_device 10516 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
      snd 70696 14 snd_usb_audio,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
      soundcore 11040 1 snd
      parport_pc 42792 1
      parport 45196 3 ppdev,lp,parport_pc
      pcspkr 4992 0
      shpchp 38684 0
      psmouse 46108 0
      k8temp 7936 0
      pci_hotplug 37876 1 shpchp
      i2c_nforce2 8192 0
      serio_raw 9348 0
      i2c_core 31488 2 nvidia,i2c_nforce2
      joydev 13568 0
      evdev 13184 4
      ext3 147216 2
      jbd 68592 1 ext3
      mbcache 11784 1 ext3
      sg 42024 0
      ide_cd 35872 0
      cdrom 42152 1 ide_cd
      sd_mod 33408 5
      usb_storage 83264 0
      libusual 23208 1 usb_storage
      usbhid 33600 0
      hid 33664 1 usbhid
      ata_generic 10372 0
      ohci1394 39752 0
      ieee1394 112856 2 sbp2,ohci1394
      floppy 74600 0
      ehci_hcd 40460 0
      ohci_hcd 25476 0
      sata_nv 24452 4
      amd74xx 17712 0 [permanent]
      libata 139312 2 ata_generic,sata_nv
      usbcore 163760 8 snd_usb_audio,snd_usb_lib,usb_storage,libusual,usbhid,ehci_hcd,ohci_hcd
      ide_core 146320 3 ide_cd,usb_storage,amd74xx
      scsi_mod 174776 5 sbp2,sg,sd_mod,usb_storage,libata
      forcedeth 55048 0
      thermal 16784 0
      processor 36232 1 thermal
      fan 7176 0
      fuse 53808 3
      apparmor 48288 0
      commoncap 9600 1 apparmor


      lsmod (sans UR80):
      Module Size Used by
      isofs 39548 0
      udf 90280 0
      ipv6 325896 10
      af_packet 28812 2
      rfcomm 48808 2
      l2cap 29440 11 rfcomm
      bluetooth 66436 4 rfcomm,l2cap
      ppdev 11528 0
      cpufreq_conservative 9864 0
      cpufreq_powersave 3200 0
      cpufreq_userspace 6304 0
      cpufreq_stats 8704 0
      cpufreq_ondemand 11024 0
      freq_table 6592 2 cpufreq_stats,cpufreq_ondemand
      video 21268 0
      dock 13248 0
      container 6656 0
      ac 7560 0
      sbs 21904 0
      button 10656 0
      battery 12680 0
      sbp2 27784 0
      lp 16264 0
      snd_usb_audio 97408 3
      snd_pcm_oss 50560 0
      snd_mixer_oss 20352 1 snd_pcm_oss
      snd_pcm 95624 3 snd_usb_audio,snd_pcm_oss
      snd_page_alloc 12688 1 snd_pcm
      snd_usb_lib 20864 1 snd_usb_audio
      snd_hwdep 12552 1 snd_usb_audio
      snd_seq_dummy 5508 0
      nvidia 7015828 36
      snd_seq_oss 37632 0
      snd_seq_midi 11136 0
      snd_rawmidi 30336 2 snd_usb_lib,snd_seq_midi
      snd_seq_midi_event 10240 2 snd_seq_oss,snd_seq_midi
      snd_seq 63776 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
      snd_timer 28040 3 snd_pcm,snd_seq
      snd_seq_device 10516 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
      snd 70696 14 snd_usb_audio,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
      soundcore 11040 1 snd
      parport_pc 42792 1
      parport 45196 3 ppdev,lp,parport_pc
      pcspkr 4992 0
      shpchp 38684 0
      psmouse 46108 0
      k8temp 7936 0
      pci_hotplug 37876 1 shpchp
      i2c_nforce2 8192 0
      serio_raw 9348 0
      i2c_core 31488 2 nvidia,i2c_nforce2
      joydev 13568 0
      evdev 13184 4
      ext3 147216 2
      jbd 68592 1 ext3
      mbcache 11784 1 ext3
      sg 42024 0
      ide_cd 35872 0
      cdrom 42152 1 ide_cd
      sd_mod 33408 5
      usb_storage 83264 0
      libusual 23208 1 usb_storage
      usbhid 33600 0
      hid 33664 1 usbhid
      ata_generic 10372 0
      ohci1394 39752 0
      ieee1394 112856 2 sbp2,ohci1394
      floppy 74600 0
      ehci_hcd 40460 0
      ohci_hcd 25476 0
      sata_nv 24452 4
      amd74xx 17712 0 [permanent]
      libata 139312 2 ata_generic,sata_nv
      usbcore 163760 8 snd_usb_audio,snd_usb_lib,usb_storage,libusual,usbhid,ehci_hcd,ohci_hcd
      ide_core 146320 3 ide_cd,usb_storage,amd74xx
      scsi_mod 174776 5 sbp2,sg,sd_mod,usb_storage,libata
      forcedeth 55048 0
      thermal 16784 0
      processor 36232 1 thermal
      fan 7176 0
      fuse 53808 3
      apparmor 48288 0
      commoncap 9600 1 apparmor


      tail /var/log/dmesg:
      [ 49.712141] ACPI: PCI Interrupt 0000:05:00.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 18
      [ 49.712149] PCI: Setting latency timer of device 0000:05:00.0 to 64
      [ 49.712308] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 100.14.19 Wed Sep 12 14:08:38 PDT 2007
      [ 49.812908] usbcore: registered new interface driver snd-usb-audio
      [ 50.637242] lp0: using parport0 (interrupt-driven).
      [ 50.702410] Adding 4225084k swap on /dev/sda4. Priority:-1 extents:1 across:4225084k
      [ 51.018926] EXT3 FS on sda2, internal journal
      [ 51.579415] kjournald starting. Commit interval 5 seconds
      [ 51.579761] EXT3 FS on sda3, internal journal
      [ 51.579766] EXT3-fs: mounted filesystem with ordered data mode.


      voilà...
      • [^] # Re: a mon avis

        Posté par  . Évalué à 2.

        Module snd-usb-audio
        --------------------

        Module for USB audio and USB MIDI devices
        This module supports multiple devices, autoprobe and hotplugging.

        donc cela ne viens pas du fait que tu as 2 carte usb.

        essaye un modprobe snd-usb-audio


        alsamixer -c 0
        alsalmixer -c 1

        c'est quoi ta distrib ? (ce serais plus facile si j'avais le truc sous la main :-D)
        • [^] # Re: a mon avis

          Posté par  . Évalué à 1.

          la distrib c'est une ubuntu gutsy, avec les paquets d'ubuntustudio installés.
          je te communique le résultat des commandes ce soir (je suis pas chez moi là) mais de mémoire il me semble avoir déjà fait le modprobe, sinon alsamixer se lance bien sur la carte par défaut (1) mais sur la carte 0 (la UR80) j'ai un message d'erreur (du style no such file, je te recommunique le message exact ce soir)
          • [^] # Re: a mon avis

            Posté par  . Évalué à 1.

            modprobe snd-usb-audio ne me raconte rien du tout, et ne change rien au résultat de aplay -l

            $ alsamixer -c 0
            No mixer elems found

            $ alsamixer -c 1 m'ouvre bien le mixer
            • [^] # Re: a mon avis

              Posté par  . Évalué à 2.

              bon bon bon

              la je n'ai plus d'idée :/, le fait qu'il ne te trouve pas le mixer pour -c 0 alors qu'apparement c'est ta carte integré me laisse dubitatif.

              as tu deja booté sans ta carte de l'espace :) puis une fois que tu as joué avec alsamixer, aplay, jouer un mp3, enregistrer de l'audio sur la carte intégré, hop tu branche le 80, et tu recommence les manip mais pour le -c 1 ?
              • [^] # Re: a mon avis

                Posté par  . Évalué à 1.

                non c'est l'inverse le -c 0 c'est la carte de l'espace UR-80, -c 1 la carte integrée.
                sinon oui j'ai essayé de la brancher à chaud, ou de rebooter avec la carte allumée, ça ne change rien. Je suis aller faire un tour du côté de udevinfo -a -p /sys/class/sound/controlC1/ et udevinfo -a -p /sys/class/sound/controlC0/ tout m'a l'air correct.
                J'ai modifié le fichier /etc/modprobe.d/alsa-base:

                # Prevent abnormal drivers from grabbing index 0
                options snd-usb-audio index=-2

                j'ai remplacé par:
                options snd-usb-audio index=0,1

                et cette fois-ci la carte 0 est devenue la carte integrée, la carte de l'espace est passé en 1, mais ça ne change strictement rien au problème.
  • # suite du feuilleton

    Posté par  . Évalué à 1.

    Bon, il semblerait qu'en fait seule la partie midi de la carte UR-80 est reconnue. Ce qui explique qu'elle soit bien détectée mais qu'on ne puisse rien faire en audio dessus.
    Aujourd'hui j'ai donc réussi à la faire fonctionner en tant que surface de contrôle sous Ardour...
    Ce que je trouve étrange c'est que lsusb me donne 3 entrées pour cette carte:
    Bus 001 Device 009: ID 0582:0048 Roland Corp.
    Bus 001 Device 008: ID 0582:0047 Roland Corp.
    Bus 001 Device 007: ID 03eb:3301 Atmel Corp. at43301 4-port Hub

    Du coup je me dis qu'une de ces entrées doit servir pour l'audio, mais qu'elle n'est pas utilisée par Udev et Alsa ...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.