Updates for Linux users / Mises à jour pour utilisateurs Linux
-
Bonjour,
je viens d'acquérir le Sylphyo+Link il y a quelques jours, et le Sylphyo avait la version 1.4.4beta.
J'essaie maintenant de les mettre à jour en 1.4.5. Comme il n'y a pas de version Linux de la mise à jour, je me suis rabattu sur la version Windows.
D'après mes tests, le Sylphyo et le Link n'ont aucun problème à être reconnus et utilisés sous Linux. Par contre, il n'en est pas de même avec Wine. Il semblerait que le support midi de Wine ait régressé, et en tout cas, il m'a été impossible de faire reconnaître le Link ou le Sylphyo en lançant la mise à jour sous Wine.
J'ai dû me rabattre sur une machine virtuelle sous Windows, mais là encore, ça ne semble pas concluant. J'arrive bien à connecter le Sylphyo et le Link sous la VM Windows, mais la mise à jour semble ne pas vraiment fonctionner:
Pour le Link, le logiciel de mise à jour le reconnaît, indique que la mise à jour va commencer dans quelques instants, la diode du Link clignote bleu/vert pendant quelque temps, puis devient rouge et plus rien, sans que le logiciel de mise à jour ne change son message (toujours "la mise à jour va commencer dans quelques instants"). Je n'ai aucun moyen de vérifier quelle version de logiciel est maintenant dans le link (je ne pourrai tester si le nouveau son est là que dans la soirée). Après une dizaine de minutes, j'ai débranché le Link pour m'occuper du Sylphyo.
Là, pour le Sylphyo, c'est plus compliqué: le Sylphyo marche bien sous linux, et j'ai vérifié qu'il transmet bien le midi correctement. Sous la VM par contre, il est visible par le système Windows, mais par contre, n'apparaît pas comme appareil MIDI (il a pourtant été visible dans un essai antérieur, j'avais pu le faire marcher avec le Bench, et j'avais eu une erreur, et depuis plus rien). Du coup, il n'est pas visible du Bench ou de la mise à jour.
J'avoue que je suis un peu perdu sur quoi faire ensuite. Mon seul intérêt pour les connecter à un ordinateur est pour faire des mises à jour, je ne souhaite pas utiliser l'ordinateur comme synthé virtuel (j'ai un Fantom X8 avec les patches de patchmanmusic, et c'est chouette, même si un peu encombrant, et sinon, j'ai l'intention d'utiliser le Sylphyo de manière autonome).
Y aurait-il un moyen d'avoir une mise à jour native sous Linux ?
Toute aide est bienvenue.
PS: I'll do an update in English once I have a solution, but tl;dr: I tried updating the Sylphyo/Link using my linux-based computer, both with Wine and using a Windows VM, and neither works, despite the Linux system itself having no problem with the Sylphyo.
-
(English answer at the end)
Quelle technologie de machine virtuelle utilises-tu ?
Pendant la mise à jour, le Sylphyo et le Link changent de "personnalité" (classe USB) plusieurs fois, oscillant entre périphérique MIDI et périphérique USB HID. Cela peut poser des soucis à quelques moteurs de machine virtuelle car c'est comme si le périphérique USB représentant le Sylphyo se déconnectait et se reconnectait.
En général, nous avons toujours réussi à faire fonctionner les mises à jour dans une machine virtuelle, mais il faut dire à la machine virtuelle de connecter immédiatement tous les périphériques USB au lieu d'en laisser certains pour l'OS hôte.
Il y a ensuite des problèmes spécifiques à la version de Windows utilisée. La première fois que tout le cirque des mises à jour se déroule, Windows peut prendre un peu (voire parfois beaucoup) de temps à reconnaître les différentes "personnalités" du Sylphyo pendant la mise à jour.
La première chose que je vous conseillerais est d'essayer plusieurs fois, en faisant des redémarrages entre les tentatives, et si ça ne va toujours pas, de changer de version de Windows ou de moteur de machine virtuelle. Je réalise bien que ce n'est pas l'idéal. Des retours que nous avons eu, le peu d'utilisateurs linuxiens que nous avons s'arrangent en général avec un PC Windows ou Mac à côté pour faire les mises à jour.Tout cela n'est pas simple, et malheureusement nous n'avons pas assez de ressources pour fournir le support nécessaire pour le fonctionnement de nos outils logiciels sous Linux, car il y a trop peu d'utilisateurs intéressés.
Nous utilisons également Wine pour tester notre version Windows (cross-compilée depuis macOS avec mingw-w64), mais comme vous l'avez remarqué le support MIDI dans Wine n'est pas encore très complet (pour cela, nous utilisons aussi une machine virtuelle).Pour ce qui est de produire une version Linux native de notre utilitaire de mise à jour, le plus court chemin pour nous serait de proposer un outil en ligne de commande, mais il nous manquerait une couche MIDI fonctionnant sous Linux, ainsi qu'un pipeline de test pour Linux, mais nous sommes encore trop petits pour pouvoir pouvoir assumer ces développements en parallèle de nos priorités actuelles.
J'espère que ce post attirera de nombreux utilisateurs sous Linux, ce qui nous amènerait à remonter la priorité du support Linux dans nos priorités de développement.
Which virtual machine technology are you using?
During the update, the Sylphyo and the Link change their "personality" (USB device class) several times, switching between MIDI and USB HID device. Concretely, the switching is as if an USB device disconnected and reconnected several times during the update, and it can be problematic for some VM engines.
Up until now, we always had success with VMs, but with some we had to tell them to always connect new USB devices to the VM, not to the host OS.
Then, there are the Windows-specific problems, and they can differ depending on the Windows version. Notably, the first time the update dance occurs, Windows might take a little (sometimes a lot of) time to recognize and register the different USB "personalities" of the Sylphyo during the update.
As a first course of action, I'd recommend you to try again several times, rebooting the VM and/or the host in-between attemps. If it still doesn't work, it might be useful to try with a different version of Windows, or a different VM engine. I know it's far from ideal, but from what we've been told, the few Linux users we had generally managed to use a Windows PC or a Mac to run the updates.That's far from simple, and unfortunately we don't have enough resources to provide the level of support necessary to make our software tools work on Linux, because there simply aren't enough interested users.
We also use Wine to test our Windows version (cross-compiled in macOS using mingw-w64), but as you've noticed, MIDI support isn't that great on Wine (that's why we also use VMs for our tests).As for making a native Linux version of the update tools, the shortest path for us would be to offer a command-line tool, but we're missing a Linux-compatible MIDI layer, as well as a Linux test pipeline. Unfortunately, we're too resource-constrained to be able to develop this while continuing to pursue our current priorities.
My hope is that this post will allow many Linux users to be heard, and if so, we could increase the priority of Linux support in our roadmap.
-
@join
Merci pour la réponse détaillée. Pour la machine virtuelle, j'utilise VirtualBox avec une VM Windows 7.Pour le coup, j'ai eu l'opportunité de faire la mise à jour sur Windows lors d'une visite en famille, où il y avait un portable avec Windows. J'ai pu ainsi voir comment la procédure devait fonctionner, et j'ai en effet remarqué ce changement de personnalité. Je pense que si je pouvais faire que le Sylphyo et le Link changent de personnalité hors de la procédure, il devrait être possible de les enregistrer dans les USB de Virtual Box. Ça me semble évident que c'était là le (premier) problème.
Y a-t-il donc moyen de faire ressortir cette personnalité ? (j'ai vu que Windows appelait celle du Sylphyo "Sylphyo updater") Ou bien est-il possible de lancer la procédure sur un Sylphyo déjà à jour (est-ce risqué) ? Je pense que pour les utilisateurs Linux, ça serait bien d'avoir au moins une telle option, même si devoir dépendre d'une licence Windows reste un problème.
Sinon, idéalement, il faudrait avoir en effet un utilitaire natif directement sur Linux (je pense qu'il serait plus compliqué de faire que Wine fonctionne avec ce double système), en ligne de commande serait probablement suffisant. Je comprends que le temps vous est limité, et il me semble plus important pour la communauté Sylphyo que vous continuez à améliorer les fonctionnalités du Sylphyo même (cette mise à jour a introduit un super son, et le contrôle externe du Link me sera certainement bien utile avec mon synthé).
Ma capacité à coder est limitée (j'ai pas mal codé il y a un certain nombre d'années, mais je suis rouillé) et le temps que je peux y accorder serait aussi (très) limité, mais si ça vous tente, je peux essayer de me lancer dans un projet à moyen terme (on va dire, sur 2020) pour intégrer le code de mise à jour avec les bibliothèques USB et ALSA MIDI et essayer de créer une application indépendante de mise à jour, dont la compilation pourrait être lancée sur une Ubuntu sur clé USB ou autre (et de là, cross-compiler sur architecture ARM pour pouvoir le lancer depuis un Raspberry Pi aussi ?) ? Si ça vous intéresse, on pourrait passer par courriel pour la suite pour voir la faisabilité.
Summary in English:
Thanks for the detailed answer. I was using VirtualBox with a Windows 7 VM.I have had an opportunity to use a Windows machine while visiting family, so I could witness how an update is supposed to work, and I could see this personality change during the procedure. I wonder whether it is possible to get the Sylphyo and the Link to exhibit this personality outside the procedure, so that they can be registered in VirtualBox as USB devices to be shared to the VM. It would be nice to have a way for Linux users to make the update, although on the long term, depending on a Windows licence remains a problem.
The best would be indeed to have a native application, via CLI is most likely sufficient for Linux users. What would be needed is to code the interfaces to USB and ALSA MIDI libraries, and generate an independent application, and a setup to be able to generate new versions via a Ubuntu on a USB stick or something.
It is quite understandable that you don't have the time for starting such a project, as it is more important at the moment to make improvements to the Sylphyo itself, like the last update which I quite enjoy now, and while my ability to code is a bit rusty (I haven't done anything major in years), and I have little time available for such a thing, I could still try and develop something within 2020? We could continue by mail for details if you're interested.
-
Suite à la nouvelle mise à jour, j'ai voulu faire un autre essai, sans conclusion.
J'ai donc finalement essayé avec le portable du travail, mais là, ça n'a pas marché (il faut dire que l'accès USB y est restreint), et ça a bloqué le sylphyo en mode mise à jour.
Pas le choix, j'ai donc regardé à nouveau ce qu'il en est de la mise à jour via VM Virtual box.
Il semblerait donc que le Sylphyo a trois personnalités au moins:
En commun, les valeurs suivantes:
USB Vendor ID: 16c0
USB Product ID: 05dfCe qui change est le Revision ID, qui était auparavant de 0143, puis est devenu 0145 suite à la mise à jour précédente. De plus, il y a deux valeurs pour "Sylphyo Updater", 6300 et 0001.
En exposant ces valeurs à la VM Virtual Box (VM Configuration > USB tab > USB filters), j'arrive à rendre visible le Sylphyo Updater (obtenu par la mise à jour avortée sous Windows 10) à la VM Windows 7, et au logiciel de mise à jour, qui fait passer le Sylphyo dans le mode "0001" et commence à charger la mise à jour.
Mais là, je me retrouve avec le même problème que sous Windows 10, soit: "Could not write a HID report". Et le journal de bord du logiciel de mise à jour reste vide (j'ai la même erreur en ré-essayant la mise à jour 1.4.5).
Pour le compte, le Sylphyo est inutilisable. Il serait bien d'incorporer la possibilité de ne pas rester bloqué suite à une mise à jour ratée.
Par contre, maintenant, je ne sais pas trop où aller, sachant que la mise à jour rate tant sous Windows que sous Linux avec VM Windows.
Ça serait vraiment bien d'avoir un début de fonctionnalité pour une mise à jour sous Linux, d'une façon ou d'une autre, ou au moins décrire la procédure de mise à jour (passage des états, etc) afin qu'il soit possible de progresser vers une solution pour les utilisateurs sous Linux.
Ça serait bien aussi d'avertir sur le site les utilisateurs Linux que la mise à jour ne fonctionne ni avec Wine ni avec une VM sous Windows, afin qu'ils ne se retrouvent pas dans la même situation que moi (mais peut-être suis-je le seul utilisateur de Sylphyo sous Linux).
-
@joalbankluane J'avoue connaitre assez mal les différentes utilisations sous Linux, mais pour un Sylphyo bloqué pendant la mise à jour, je peux aider !
Alors, il te suffit de :
- Eteins ton Sylphyo et branche le à ton ordinateur
- Lance la mise à jour sur ton ordinateur (MacOS ou Windows)
- Bloque le trou en bas du Sylphyo pour que l'air ne passe pas
- Souffle fort dans le Sylphyo, et allume le en meme temps
- Cela devrait forcer la mise à jour
Tu peux aussi essayer cette procédure sous Linux, c'est possible que ça marche ? Dis nous ce qu'il en est quand tu auras testé
Maxence
Aodyo Instruments -
This post is deleted! -
Merci pour ces instructions. C'est l'une des procédures les plus originales de remise à zéro que je connaisse, il ne me serait jamais venu à l'idée de faire ça de moi-même (peut-être que ça vaudrait le coup de rajouter ça dans le manuel ou la FAQ).
Ceci dit, voilà la situation: j'ai pu finalement mettre à jour le Sylphyo et le Link, mais pas du premier coup. Ma VM Windows 7 n'y arrivant pas, j'ai essayé un Win7 sur une clé USB branchée dans un vieux portable sous Linux, mais ça n'a pas marché non plus. Finalement, j'ai dû installer un Win10 sur clé USB pour ce même portable, et après que Win10 m'ait donné la main (c'est une catastrophe à installer, ce système), j'ai enfin pu faire la mise à jour (en suivant les instructions ci-dessus pour récupérer le Sylphyo).
Donc, mes conclusions à ce stade: il est impossible de mettre à jour le Sylphyo sous Linux, que ce soit Wine ou via un VM (sous Win7 ‑ mais vu mon échec avec Win7 en direct, peut-être qu'une VM sous Win10 marcherait, même si j'ai l'impression que le Sylphyo a plus que les 3 identités que j'ai identifié, et donc, c'est pas gagné).
À ce stade, et ce jusqu'à ce qu'ont ait plus d'information sur la procédure de mise à jour, il est nécessaire d'avoir un Windows 10 "en direct" (sur disque dur ou clé USB). Peut-être serait-il judicieux d'indiquer dans le manuel ou la FAQ que les utilisateurs Linux doivent avoir accès à un système sous Windows 10 ou Macintosh pour faire les mises à jour. Pour ma part, je vais garder ma clé USB préparée avec Win10 dans un coin pour les mises à jour futures.Summary in English: to my knowledge, it is not possible to upgrade the Sylphyo or the Link using a Linux-based system. Access to a Windows 10 (possibly on a USB stick) or a Macintosh computer is required to upgrade the Sylphyo and the Link. This is likely to be so until detailed explanations on how the upgrade process happens are provided so we can try and configure accordingly.