Skip to main content

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


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

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 :
Copy to clipboard
[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 :
Copy to clipboard
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 :
Copy to clipboard
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 :
Copy to clipboard
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 :
Copy to clipboard
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 😉
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.
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.
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.
En effet. Autant faire les choses correctement.

Je reviendrai avec les nouvelles dès que j'en aurai !
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 !
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é 😉
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.
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.