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

[ABANDONNE] Interface midi USB (MOTU MTP AV USB) non reconnue

duraan utilisateur non connecté
Je tente d'installer une interface midi MOTU Midi Timepiece AV USB (ou MTP AV USB) sur Fedora 20 LXDE. L'interface existe en deux versions : une à port parallèle, et l'autre en USB. J'ai donc la deuxième.

Un pilote existe sur le site d'Alsa pour la version parallèle (ici ). Quant à l'USB, selon alsa-project.org, tous les périphériques USB standards compliant (est-ce le cas pour la MTP ?) devraient fonctionner via le pilote snd-usb-audio (en haut de la page ). Ce n'est pas le cas...

Le résultat de la commande dmesg après allumage de la bête :
[13083.337087] usb 2-5: new full-speed USB device number 4 using ohci-pci
[13083.536767] usb 2-5: string descriptor 0 malformed (err = -61), defaulting to 0x0409
[13083.539762] usb 2-5: New USB device found, idVendor=07fd, idProduct=0001
[13083.539769] usb 2-5: New USB device strings: Mfr=0, Product=119, SerialNumber=0
[13083.539775] usb 2-5: Product: MIDI Timepiece AV

Déjà une erreur qui traîne.

La commande lsusb renvoie :
Bus 002 Device 004: ID 07fd:0001 Mark of the Unicorn FastLane Quad MIDI Interface

Sauf que ce n'est pas une FastLane. D'ailleurs ce n'est pas en accord avec la dernière ligne de dmesg.

En mode verbeux, lsusb -v renvoie :
Bus 002 Device 004: ID 07fd:0001 Mark of the Unicorn FastLane Quad MIDI Interface
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass         1 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x07fd Mark of the Unicorn
  idProduct          0x0001 FastLane Quad MIDI Interface
  bcdDevice            1.32
  iManufacturer           0 
  iProduct              119 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          137
    bNumInterfaces          4
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      5 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               2
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000e  1x 14 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      2 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000e  1x 14 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      3 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            1
          Transfer Type            Isochronous
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000d  1x 13 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      4 
      bInterfaceProtocol    255 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000c  1x 12 bytes
        bInterval               1
        ** UNRECOGNIZED:  24 03 4d 00 49 00 44 00 49 00 20 00 54 00 69 00 6d 00 65 00 70 00 69 00 65 00 63 00 65 00 20 00 41 00 56 00

J'imagine que la dernière ligne fait référence à l'erreur rencontrée dans dmesg.

En listant les modules chargés, lsmod | grep snd :
snd_ice1712            75341  3 
snd_cs8427             18214  1 snd_ice1712
snd_i2c                13828  2 snd_ice1712,snd_cs8427
snd_ice17xx_ak4xxx     13128  1 snd_ice1712
snd_ak4xxx_adda        18487  2 snd_ice1712,snd_ice17xx_ak4xxx
snd_mpu401_uart        13992  1 snd_ice1712
snd_layla20            42361  0 
snd_ac97_codec        129483  1 snd_ice1712
snd_rawmidi            29794  2 snd_layla20,snd_mpu401_uart
ac97_bus               12682  1 snd_ac97_codec
snd_seq                62266  0 
snd_seq_device         14136  2 snd_seq,snd_rawmidi
snd_pcm               104333  3 snd_ice1712,snd_ac97_codec,snd_layla20
snd_timer              28778  2 snd_pcm,snd_seq
snd                    75905  18 snd_ice1712,snd_ac97_codec,snd_timer,snd_i2c,snd_pcm,snd_seq,snd_rawmidi,snd_layla20,snd_ak4xxx_adda,snd_mpu401_uart,snd_seq_device,snd_cs8427
soundcore              14491  1 snd

Ni snd-usb-audio, ni snd-mtpav.

Résultat, elle n’apparait pas dans les interfaces midi reconnues, amidi -l renvoie seulement :
Dir Device    Name
IO  hw:0,0    M Audio Audiophile 24/96 MIDI

(le rack de la layla n'est pas allumé.)

Un modprobe snd-mtpav pour tester au cas où, et là drame : freeze complet dès l'envoi de la commande. Il n'a pas aimé. Freeze également si j'essaie de charger snd-mtpav sans que l'interface soit allumée.

En fouillant le net je n'ai trouvé qu'une personne qui parle de problème de reconnaissance de l'interface sous Linux. Son post sur linuxmusicians.com , il a été croisé sur plusieurs autres sites. Il/elle essaie d'installer le pilote parallèle snd-mtpav. Je doute que ce soit la solution. De ce que j'ai vu pour l'instant, les périphériques USB sont reconnus via snd-usb-audio plus éventuellemnt un firmware spécifique.

Vu la dernière ligne du lsusb -v, ça pourrait sentir l'erreur matérielle. L'interface fonctionne sur Windows. L'OS doit être le plus récent (2.0.1). Elle a été remise à zéro. Reste le remplacement de la pile interne ; les piles fatiguées pourraient poser problème sur la reconnaissance dans Win/Mac (cf ici ).

La suite avec une pile neuve. Toute idée est la bienvenue ;)

olinuxx utilisateur non connecté France
Super post duraan !
Je pense que tu pourrais en parler sur les listes de discussion ALSA ou meme sur le canal IRC de developement d'ALSA.
Douillou spique inglische ?

PS : fil lié dans la page MOTU MTP AV.

duraan utilisateur non connecté
De retour avec une pile neuve, mais rien de mieux.

Il semble que 4 ports MIDI soient découverts avant de bugger : dans le lsusb -v, il y a 4 parties Interface Descriptor avec des bInterfaceNumber qui vont de 0 à 3. Sachant qu'elle est reconnue comment étant une FastLane Quad, on aurait peut-être un élément de réponse...

Elle est reconnue comme une FastLane Quad car elle partage le même ID USB : 07fd:0001. Après quelques recherches, on voit que ce n'est pas la seule à partager cet ID chez MOTU. D'ailleurs il n'y a que 3 Product ID sous le Vendor ID 07fd (ID de MOTU pour les appareils USB) (cf. https://usb-ids.gowdy.us/read/UD/07fd ).

Un développeur a déjà repéré ce problème en voulant faire un driver pour la MOTU Midi Express XT (http://comments.gmane.org/gmane.linux.alsa.devel/86724 ). Il aurait trouvé son bonheur dans la réponse qui lui est faite.

Le développement de drivers dépasse un peu mes compétences... Même si j'imagine que le travail est à moitié fait avec le driver existant pour la version parallèle. Un projet pour 2023...

Je cherche encore un tout petit peu avant de fermer le topic.

olinuxx utilisateur non connecté France
Il te reste aussi la possibilité de demander quel est l'état de l'art pour la MOTU MTP AV USB sur les listes ALSA ou bien sur le canal IRC ALSA.

duraan utilisateur non connecté
En effet. Autant faire les choses correctement.

Je reviendrai avec les nouvelles dès que j'en aurai !

olinuxx utilisateur non connecté France
Chouette. Avec un peu de chance et de pugnacité, nous pourrons peut être lire ici que tu a réussi à faire fonctionner ta MOTU sous linux !

duraan utilisateur non connecté
Le couperet est tombé : impossible en l'état de reconnaître l'interface, et le driver de la version parallèle (snd-mtpav) est inadaptable à la version USB (la réponse à la question ).

C-dessous une liste de posts qui ne laissaient rien présager d'encourageant. Mais rien n'était dit sur la possible transformation de snd-mtpav... Maintenant on est fixé ;)

olinuxx utilisateur non connecté France
Bon et bien au moins nous sommes fixés.
Chouette d'avoir remonté toutes les infos ici, ça évitera à d'autres de perdre du temps. Il y a cette page ou cette MOTU peux figurer : Matériel ne fonctionnant pas encore sous linux.

Et chouette pour le abandonné dans le titre, dis moi si/quand je peux fermer ce fil.

olinuxx utilisateur non connecté France
Toi, je pense que tu vas bientôt être nommé "nouvel arrivant qui a le plus vite compris comment ca fonctionne linuxmao.org" :-)
T'assures.
Je ferme.