4 votes

Erreurs d'accès au port série dans Wine

J'ai une configuration dans laquelle j'utilise un adaptateur série USB + une application qui envoie et reçoit des données en utilisant cet adaptateur série USB. Mais cette configuration qui fonctionne sur un Windows, ou même dans un Windows virtuel VMWare, ne fonctionne pas sous Wine. L'informatique transmet des données mais je ne peux pas en recevoir. Le câble et les applications sont les mêmes que dans les scénarios de travail et de non-fonctionnement. Je suppose que le fait que l'application fonctionne sur le câble série USB tout aussi bien sous Virtual Windows(VMware fonctionnant sur linux) en mappant /dev/ttyUSB au port com, sans logiciel/DLL externe nécessaire, signifie qu'elle n'a pas besoin d'un pilote spécifique. (Ai-je raison de supposer que l'application n'a pas besoin de pilote ?)

(J'ai aussi essayé avec une configuration différente(adaptateur USB série différent + application différente sous Wine, mais même cela ne fonctionne pas sous Wine, mais cela fonctionne bien sous Windows/Virtual Windows).

Comment puis-je le faire fonctionner sous Wine ?

Toute indication sera appréciée.

4voto

DLeh Points 668

Je sais que cette question est ancienne et que goldenmean l'a probablement résolue ou est passé à autre chose, mais quelqu'un d'autre peut tomber sur cette question et chercher une réponse.

Wine n'assigne pas automatiquement les ports série Linux aux ports COM des programmes Windows, mais cela peut être fait avec un simple lien symbolique. Pour Wine, dans un terminal de commande, vous faites ce qui suit :

$ ln -s /dev/ttyS0 ~/.wine/dosdevices/com1
$ ln -s /dev/ttyS1 ~/.wine/dosdevices/com2

Répétez l'opération si nécessaire pour que tous les ports série ttySx dont vous avez besoin soient affectés aux ports COMx.

La version commerciale de Wine appelée Crossover Linux peut fournir des outils GUI pour cela ou le faire automatiquement, mais je ne l'ai jamais utilisé.

1voto

Sathyajith Bhat Points 60630

Wine n'est pas un émulateur ou un virtualiseur, Wine ne fait qu'implémenter l'API de Windows dans Linux. Lorsque vous exécutez un programme sous Wine, le programme attend un port série, mais Wine ne les fournit pas et donc l'erreur arrive. VMWare, d'autre part, virtualise un PC complet, y compris les ports, et lorsque le programme demande l'accès au port, il transmet la demande aux ports sur le PC hôte et donc cela fonctionne bien.

Pour résumer, AFAIK il n'est pas possible d'avoir un programme demandant des ports fonctionnant correctement sous Wine.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X