1 votes

Réglage du débit binaire pour le dispositif Serial-Over-USB à 256000

Je dois communiquer avec un périphérique série sur USB qui nécessite un débit binaire de 256 000, mais MacOS 11.6.7 (x86) et 12.4 (M1) refusent de le faire.

# stty -f /dev/tty.usbserial-141130 256000
stty: tcsetattr: Invalid argument

L'appareil en question utilise un chipset Prolific PL2303. Existe-t-il un moyen de faire en sorte que MacOS utilise le débit binaire dont j'ai besoin, peut-être avec des pilotes personnalisés ?

3voto

Jose Chavez Points 645

Les pilotes courants pour le chipset PL2303 ont tous une vitesse de transmission maximale de 230400.

Le chipset PL2303 dans un peu de Les variantes elles-mêmes supportent des débits en bauds plus élevés, mais le reste du matériel (c'est-à-dire votre "périphérique série sur USB") et le câblage doivent également les supporter. 256000 n'est pas un débit en bauds courant, donc vous ne verrez généralement pas beaucoup de support pour cela.

Vous n'avez pas donné de détails sur l'appareil avec lequel vous essayez de communiquer. Le plus souvent, ces appareils sont dotés de paramètres de vitesse de transmission qui vous permettent d'utiliser d'autres vitesses de transmission. Je vous suggère de vérifier si cela est possible pour votre appareil, puis de définir une vitesse de transmission inférieure.

Si cela ne fonctionne pas, vous pouvez créer votre propre pilote pour le chipset PL2303 - ou essayer de modifier l'un des pilotes open source.

Une façon plus simple de procéder serait probablement d'exécuter une machine virtuelle Linux sur votre Mac et d'y configurer la communication.

Notez cependant que sous Linux, seules certaines variantes de la puce PL2303 permettent de définir une vitesse de transmission de 2560000 bauds. Par exemple, la puce PL2303HXN supporte une vitesse de 256000 bauds, mais pas la PL2303HX. Il existe plus de 10 variantes.

Les variantes qui ne prennent pas en charge la vitesse de 256 000 bauds peuvent être réglées sur 230 400 bauds. Il s'agit de la vitesse de transmission commune la plus proche de 256000 bauds.

UPDATE

Dans les commentaires, vous avez maintenant détaillé que l'appareil est un m2m Blue-450. Ce dispositif contient un module Bluetooth LE BLE121LR (maintenant en fin de vie), qui a une interface UART - et un Prolific PL2303HXD (également en fin de vie) pour le relier à l'USB.

La documentation du BLE121LR indique 230400 comme vitesse de transmission commune à utiliser avec le module - elle ne mentionne pas du tout 256000. Le module permet de modifier la vitesse de transmission par le biais de sa configuration.

Malheureusement, la documentation de la m2m Blue-450 n'est pas très claire sur les options de configuration. Ils indiquent que 256000 bauds est le paramètre standard (très malheureux) qu'ils ont choisi. La formulation semble impliquer que ce n'est qu'un standard, et donc que vous pourriez être en mesure de le changer. Je n'ai trouvé la documentation qu'en allemand, et mon allemand est un peu rouillé.

Une autre chose qu'ils détaillent dans la documentation est que seuls Windows 7 et Linux sont supportés. Je suppose que cela signifie qu'ils sont conscients que les autres systèmes ne sont pas pris en charge. Vous pouvez contacter leur support pour savoir s'ils ont une solution pour le Mac.

Prolific héberge un pilote MacOS pour la puce sur son site Web ici :

https://www.prolific.com.tw/UserFiles/files/PL2303HXD_G_Mac%20Driver_v2_1_0_20210311.zip

Vous pourriez vouloir l'essayer pour voir s'ils ont rendu possible l'utilisation de 256000 bauds.

J'ai vérifié le pilote open-source ainsi que le pilote commercial mac-usb-serial.com pour le PL2303 - ils ne supportent pas 256000 bauds.

Pour le pilote open-source, j'ai trouvé qu'ils écrivent dans la documentation qu'il ne supporte que jusqu'à 230400 bauds, mais dans le code source, il semble que 256000 serait supporté - si le chipset du périphérique le supporte. Vous pouvez donc essayer le pilote open-source pour voir si cela fonctionne.

Je vous suggère ces cinq options pour essayer de faire fonctionner le dispositif sur votre Mac, par ordre de priorité :

  1. Essayez le pilote de Prolific.

  2. Essayez le pilote open-source pour les anciennes versions de MacOS, si vous utilisez l'une de ces versions.

  3. Vous avez le dispositif qui fonctionne sous Windows. Utilisez-le et voyez si vous avez un accès direct au module BLE121LR via la connexion. Si c'est le cas, vous pourriez être en mesure d'utiliser les commandes de configuration répertoriées dans la section ce document pour définir un débit en bauds différent (à utiliser avec MacOS).

  4. Démarrez Linux dans une machine virtuelle sur votre Mac et accédez au périphérique à partir de là.

  5. Créez votre propre pilote basé sur le pilote open-source . C'est plus facile si vous n'utilisez pas une version récente de MacOS - ce que je suppose que vous n'êtes pas, car vous utilisez un matériel relativement ancien et les Macs récents ont le Bluetooth LE intégré. Le changement est relativement simple (si vous êtes un programmeur bien sûr), car nous avons le code source du pilote Linux pour comparer - et la logique de configuration du débit en bauds n'est pas complexe.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X