Je cherche depuis quelques jours, sans succès, à faire fonctionner des
douchettes (metrologic MS951L) assez vieilles par le biais du port série.
J'ai bien le device /dev/ttyS0 qui devrait correspondre au seul port
série de ma machine, mais un cat /dev/ttyS0 ne renvoie strictement rien.
J'ai essayé plusieurs options de paramétrage à l'aide de setserial sans
plus de succès.
Dans un second temps, je voudrais que la douchette me renvoie des codes
comme si c'était une saisie clavier (ce qui semble naturel pour des
douchettes qui se connectent sur le port clavier), mais déjà, dans un
premier temps, établir la moindre communication avec ce périphérique me
semble un impératif.
Si quelqu'un en sait plus sur la question, je l'en remercie d'avance.
Le Sun, 08 Apr 2007 15:16:20 -0400, Christophe PEREZ a écrit:
J'en déduis qu'il me faut 1) initialiser cette communication sur le port série, d'une façon ou d'une autre. Puis, 2) rajouter ce "input device" à xorg.conf de façon à ce que ces codes soient pris en compte.
Si vous avez une idée pour le 1)...
Le 1) est à priori réglé avec stty : /bin/stty -F /dev/ttyS0 cs7 -cstopb -parenb -parodd hupcl cread clocal -crtscts
Par contre, pour le 2), un : Section "InputDevice" Identifier "barcodereader" Driver "kbd" Option "Protocol" "auto" Option "Device" "/dev/ttyS0" EndSection
reste pour l'instant sans effet.
-- Christophe PEREZ Écrivez moi sans _faute !
Le Sun, 08 Apr 2007 15:16:20 -0400, Christophe PEREZ a écrit:
J'en déduis qu'il me faut 1) initialiser cette communication sur le port
série, d'une façon ou d'une autre. Puis, 2) rajouter ce "input device" à
xorg.conf de façon à ce que ces codes soient pris en compte.
Si vous avez une idée pour le 1)...
Le 1) est à priori réglé avec stty :
/bin/stty -F /dev/ttyS0 cs7 -cstopb -parenb -parodd hupcl cread clocal
-crtscts
Par contre, pour le 2), un :
Section "InputDevice"
Identifier "barcodereader"
Driver "kbd"
Option "Protocol" "auto"
Option "Device" "/dev/ttyS0"
EndSection
Le Sun, 08 Apr 2007 15:16:20 -0400, Christophe PEREZ a écrit:
J'en déduis qu'il me faut 1) initialiser cette communication sur le port série, d'une façon ou d'une autre. Puis, 2) rajouter ce "input device" à xorg.conf de façon à ce que ces codes soient pris en compte.
Si vous avez une idée pour le 1)...
Le 1) est à priori réglé avec stty : /bin/stty -F /dev/ttyS0 cs7 -cstopb -parenb -parodd hupcl cread clocal -crtscts
Par contre, pour le 2), un : Section "InputDevice" Identifier "barcodereader" Driver "kbd" Option "Protocol" "auto" Option "Device" "/dev/ttyS0" EndSection
reste pour l'instant sans effet.
-- Christophe PEREZ Écrivez moi sans _faute !
Zeyes
Bon, j'ai finalement un peu avancé, grâce à vos suggestions diverses. Manifestement, ma méconnaissance du fonctionnement d'un port série sous Linux est la cause de mon errance. En effet, je commence à comprendre qu'il faille "ouvrir" (initialiser?) la communication avec le port.
J'en suis arrivé à cette conclusion puisqu'en installant cutecom, et en lui passant les paramètres de ma douchette (9600bauds, 7 bits, parité space, 1 bit stop) et en "ouvrant" le "device" ("Open Device" dans le soft), je peux enfin recevoir les codes. Et là, même avec un simple cat /dev/ttyS0. Par contre, si je fais close device, plus rien dans le "cat". Mais si je ferme cutecom, sans fermer le device, ça roule bien encore.
J'en déduis qu'il me faut 1) initialiser cette communication sur le port série, d'une façon ou d'une autre. Puis, 2) rajouter ce "input device" à xorg.conf de façon à ce que ces codes soient pris en compte.
Si vous avez une idée pour le 1)... Même si je poursuis mes recherches.
Ah curieux... je pensais que le cat ouvrirait la comm tout seul,
effectivement, comme toi..
Bon, j'ai finalement un peu avancé, grâce à vos suggestions diverses.
Manifestement, ma méconnaissance du fonctionnement d'un port série sous
Linux est la cause de mon errance.
En effet, je commence à comprendre qu'il faille "ouvrir" (initialiser?)
la communication avec le port.
J'en suis arrivé à cette conclusion puisqu'en installant cutecom, et en
lui passant les paramètres de ma douchette (9600bauds, 7 bits, parité
space, 1 bit stop) et en "ouvrant" le "device" ("Open Device" dans le
soft), je peux enfin recevoir les codes. Et là, même avec un simple cat
/dev/ttyS0.
Par contre, si je fais close device, plus rien dans le "cat".
Mais si je ferme cutecom, sans fermer le device, ça roule bien encore.
J'en déduis qu'il me faut 1) initialiser cette communication sur le port
série, d'une façon ou d'une autre. Puis, 2) rajouter ce "input device" à
xorg.conf de façon à ce que ces codes soient pris en compte.
Si vous avez une idée pour le 1)...
Même si je poursuis mes recherches.
Ah curieux... je pensais que le cat ouvrirait la comm tout seul,
Bon, j'ai finalement un peu avancé, grâce à vos suggestions diverses. Manifestement, ma méconnaissance du fonctionnement d'un port série sous Linux est la cause de mon errance. En effet, je commence à comprendre qu'il faille "ouvrir" (initialiser?) la communication avec le port.
J'en suis arrivé à cette conclusion puisqu'en installant cutecom, et en lui passant les paramètres de ma douchette (9600bauds, 7 bits, parité space, 1 bit stop) et en "ouvrant" le "device" ("Open Device" dans le soft), je peux enfin recevoir les codes. Et là, même avec un simple cat /dev/ttyS0. Par contre, si je fais close device, plus rien dans le "cat". Mais si je ferme cutecom, sans fermer le device, ça roule bien encore.
J'en déduis qu'il me faut 1) initialiser cette communication sur le port série, d'une façon ou d'une autre. Puis, 2) rajouter ce "input device" à xorg.conf de façon à ce que ces codes soient pris en compte.
Si vous avez une idée pour le 1)... Même si je poursuis mes recherches.
Ah curieux... je pensais que le cat ouvrirait la comm tout seul,
effectivement, comme toi..
Zeyes
Le Sun, 08 Apr 2007 15:16:20 -0400, Christophe PEREZ a écrit:
Le 1) est à priori réglé avec stty : /bin/stty -F /dev/ttyS0 cs7 -cstopb -parenb -parodd hupcl cread clocal -crtscts
T'as trouve ca comment?
man stty?
Le Sun, 08 Apr 2007 15:16:20 -0400, Christophe PEREZ a écrit:
Le 1) est à priori réglé avec stty :
/bin/stty -F /dev/ttyS0 cs7 -cstopb -parenb -parodd hupcl cread clocal
-crtscts
Ben dans mes recherches sur ce qui était lié à l'utilisation du /dev/ttyS0, je voyais souvent revenir cette commande pour le paramétrer, alors j'ai essayé.
man stty?
Oui, à peine, avec stty -a -F /dev/ttyS0 on a la config complète du port. Restait ensuite à changer ce qu'il y a de particulier dans mon cas, et grâce au manuel, je connaissais les paramètres de communication par défaut de la douchette (9600 etc...).
-- Christophe PEREZ Écrivez moi sans _faute !
Le Sun, 08 Apr 2007 22:06:45 +0200, Zeyes a écrit:
Ben dans mes recherches sur ce qui était lié à l'utilisation du
/dev/ttyS0, je voyais souvent revenir cette commande pour le paramétrer,
alors j'ai essayé.
man stty?
Oui, à peine, avec stty -a -F /dev/ttyS0 on a la config complète du
port. Restait ensuite à changer ce qu'il y a de particulier dans mon cas,
et grâce au manuel, je connaissais les paramètres de communication par
défaut de la douchette (9600 etc...).
Ben dans mes recherches sur ce qui était lié à l'utilisation du /dev/ttyS0, je voyais souvent revenir cette commande pour le paramétrer, alors j'ai essayé.
man stty?
Oui, à peine, avec stty -a -F /dev/ttyS0 on a la config complète du port. Restait ensuite à changer ce qu'il y a de particulier dans mon cas, et grâce au manuel, je connaissais les paramètres de communication par défaut de la douchette (9600 etc...).
-- Christophe PEREZ Écrivez moi sans _faute !
Christophe PEREZ
Le Sun, 08 Apr 2007 15:51:17 -0400, Christophe PEREZ a écrit:
Par contre, pour le 2), un : Section "InputDevice" Identifier "barcodereader" Driver "kbd" Option "Protocol" "auto" Option "Device" "/dev/ttyS0" EndSection
reste pour l'instant sans effet.
Normal, j'avais oublié de le rajouter dans le layout, mais là, je bute sur un problème de config X. Si je mets plusieurs clavier avec CoreKeyboard : InputDevice "Keyboard1" "CoreKeyboard" InputDevice "barcodereader" "CoreKeyboard" il me jette le second parce qu'il n'accepte qu'un seul CoreKeyboard.
Sur le net, je suis tombé sur une doc où il parle d'utiliser SendCoreEvents au lieu de CoreKeyboard, et là, la douchette fonctionne un peu, mais par contre, c'est mon clavier qui ne fonctionne plus. Peut-être à cause de ma config du InputDevice pour la douchette (où j'ai enlevé le Protocol qui n'a pas de sens pour un clavier).
Cependant, un (seul) fil trouvé en rapport avec mon cas ne me rassure guère : http://www.nabble.com/How-to-configure-an-InputDevice-attached-to-the-serial-port--(Barcode-Reader)-t2837256.html
Je sens que je vais aller poster un résumé sur fcax11 car là, je sens que je deviens HS ;-)
-- Christophe PEREZ Écrivez moi sans _faute !
Le Sun, 08 Apr 2007 15:51:17 -0400, Christophe PEREZ a écrit:
Par contre, pour le 2), un :
Section "InputDevice"
Identifier "barcodereader"
Driver "kbd"
Option "Protocol" "auto"
Option "Device" "/dev/ttyS0"
EndSection
reste pour l'instant sans effet.
Normal, j'avais oublié de le rajouter dans le layout, mais là, je bute
sur un problème de config X.
Si je mets plusieurs clavier avec CoreKeyboard :
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "barcodereader" "CoreKeyboard"
il me jette le second parce qu'il n'accepte qu'un seul CoreKeyboard.
Sur le net, je suis tombé sur une doc où il parle d'utiliser
SendCoreEvents au lieu de CoreKeyboard, et là, la douchette fonctionne un
peu, mais par contre, c'est mon clavier qui ne fonctionne plus.
Peut-être à cause de ma config du InputDevice pour la douchette (où
j'ai enlevé le Protocol qui n'a pas de sens pour un clavier).
Cependant, un (seul) fil trouvé en rapport avec mon cas ne me rassure
guère :
http://www.nabble.com/How-to-configure-an-InputDevice-attached-to-the-serial-port--(Barcode-Reader)-t2837256.html
Je sens que je vais aller poster un résumé sur fcax11 car là, je sens
que je deviens HS ;-)
Le Sun, 08 Apr 2007 15:51:17 -0400, Christophe PEREZ a écrit:
Par contre, pour le 2), un : Section "InputDevice" Identifier "barcodereader" Driver "kbd" Option "Protocol" "auto" Option "Device" "/dev/ttyS0" EndSection
reste pour l'instant sans effet.
Normal, j'avais oublié de le rajouter dans le layout, mais là, je bute sur un problème de config X. Si je mets plusieurs clavier avec CoreKeyboard : InputDevice "Keyboard1" "CoreKeyboard" InputDevice "barcodereader" "CoreKeyboard" il me jette le second parce qu'il n'accepte qu'un seul CoreKeyboard.
Sur le net, je suis tombé sur une doc où il parle d'utiliser SendCoreEvents au lieu de CoreKeyboard, et là, la douchette fonctionne un peu, mais par contre, c'est mon clavier qui ne fonctionne plus. Peut-être à cause de ma config du InputDevice pour la douchette (où j'ai enlevé le Protocol qui n'a pas de sens pour un clavier).
Cependant, un (seul) fil trouvé en rapport avec mon cas ne me rassure guère : http://www.nabble.com/How-to-configure-an-InputDevice-attached-to-the-serial-port--(Barcode-Reader)-t2837256.html
Je sens que je vais aller poster un résumé sur fcax11 car là, je sens que je deviens HS ;-)
-- Christophe PEREZ Écrivez moi sans _faute !
sansflotusspam
Christophe PEREZ a commis :
si ce sont des CodaBar, il y a des drivers spécifiques UNIX utilisables sous Gnu/Linux et *BSD, moyennant, encore, la retouche manuelle de la carte des codes
Là, j'avoue ne pas avoir saisi (sans jeu de mot).
bon amusement !
Merci ;-)
CodaBar est un fabricant de matériels à code barres qui a ses propres spécifications, non standards
Christophe PEREZ a commis :
si ce sont des CodaBar, il y a des drivers spécifiques UNIX
utilisables sous Gnu/Linux et *BSD, moyennant, encore, la retouche
manuelle de la carte des codes
Là, j'avoue ne pas avoir saisi (sans jeu de mot).
bon amusement !
Merci ;-)
CodaBar est un fabricant de matériels à code barres qui a ses propres
spécifications, non standards
si ce sont des CodaBar, il y a des drivers spécifiques UNIX utilisables sous Gnu/Linux et *BSD, moyennant, encore, la retouche manuelle de la carte des codes
Là, j'avoue ne pas avoir saisi (sans jeu de mot).
bon amusement !
Merci ;-)
CodaBar est un fabricant de matériels à code barres qui a ses propres spécifications, non standards
Christophe PEREZ
Le Mon, 09 Apr 2007 10:38:06 +0200, sansflotusspam a écrit:
CodaBar est un fabricant de matériels à code barres qui a ses propres spécifications, non standards
Ah bon, ben non, comme indiqué initialement, c'est une metrologic.
-- Christophe PEREZ Écrivez moi sans _faute !
Le Mon, 09 Apr 2007 10:38:06 +0200, sansflotusspam a écrit:
CodaBar est un fabricant de matériels à code barres qui a ses propres
spécifications, non standards
Ah bon, ben non, comme indiqué initialement, c'est une metrologic.
Le Mon, 09 Apr 2007 10:38:06 +0200, sansflotusspam a écrit:
CodaBar est un fabricant de matériels à code barres qui a ses propres spécifications, non standards
Ah bon, ben non, comme indiqué initialement, c'est une metrologic.
-- Christophe PEREZ Écrivez moi sans _faute !
sansflotusspam
Christophe PEREZ a commis :
Le Mon, 09 Apr 2007 10:38:06 +0200, sansflotusspam a écrit:
CodaBar est un fabricant de matériels à code barres qui a ses propres spécifications, non standards
Ah bon, ben non, comme indiqué initialement, c'est une metrologic.
une metrologic : tu es sauvé, c'est du pur série-TTY en parallèle clavier. Il te suffit d'un adaptateur en Y sur la prise clavier (attention : clavier DIN standard, pas PS/2, dans ce cas il faut un convertisseur à trouver à la casse du coin pour 1 ¤). il conviendrait cependant de créer un "clavier" virtuel pour la douchette, because problèmes de page de code, les systèmes de code-barres ne connaissant généralement que le pur ASCII 128 bits en International (8859-x, UTF8, etc, inconnus au bataillon).
Christophe PEREZ a commis :
Le Mon, 09 Apr 2007 10:38:06 +0200, sansflotusspam a écrit:
CodaBar est un fabricant de matériels à code barres qui a ses propres
spécifications, non standards
Ah bon, ben non, comme indiqué initialement, c'est une metrologic.
une metrologic : tu es sauvé, c'est du pur série-TTY en parallèle
clavier. Il te suffit d'un adaptateur en Y sur la prise clavier
(attention : clavier DIN standard, pas PS/2, dans ce cas il faut un
convertisseur à trouver à la casse du coin pour 1 ¤).
il conviendrait cependant de créer un "clavier" virtuel pour la
douchette, because problèmes de page de code, les systèmes de
code-barres ne connaissant généralement que le pur ASCII 128 bits en
International (8859-x, UTF8, etc, inconnus au bataillon).
Le Mon, 09 Apr 2007 10:38:06 +0200, sansflotusspam a écrit:
CodaBar est un fabricant de matériels à code barres qui a ses propres spécifications, non standards
Ah bon, ben non, comme indiqué initialement, c'est une metrologic.
une metrologic : tu es sauvé, c'est du pur série-TTY en parallèle clavier. Il te suffit d'un adaptateur en Y sur la prise clavier (attention : clavier DIN standard, pas PS/2, dans ce cas il faut un convertisseur à trouver à la casse du coin pour 1 ¤). il conviendrait cependant de créer un "clavier" virtuel pour la douchette, because problèmes de page de code, les systèmes de code-barres ne connaissant généralement que le pur ASCII 128 bits en International (8859-x, UTF8, etc, inconnus au bataillon).
Christophe PEREZ
Le Tue, 10 Apr 2007 14:28:31 +0200, sansflotusspam a écrit:
une metrologic : tu es sauvé, c'est du pur série-TTY en parallèle clavier. Il te suffit d'un adaptateur en Y sur la prise clavier
Ah bon ? Pourtant, j'ai bien une prise série au bout... C'est un vieux modèle comme précisé au départ. Tu es sûr que ça se connecte sur cet adaptateur ? Et tu aurais un lien pour me montrer de quel adaptateur tu parles ?
(attention : clavier DIN standard, pas PS/2, dans ce cas il faut un convertisseur à trouver à la casse du coin pour 1 ¤).
Oui, ça j'ai pour mes tests.
il conviendrait cependant de créer un "clavier" virtuel pour la douchette, because problèmes de page de code, les systèmes de code-barres ne connaissant généralement que le pur ASCII 128 bits en International (8859-x, UTF8, etc, inconnus au bataillon).
Ah oui, je veux bien, mais ne vais-je pas alors me retrouver avec le même problème que j'ai évoqué sur fcax11 (de conf de xorg) ? Parce que finalement, que m'apportera dans ce cas l'adaptateur en Y si je dois configurer autre chose (puisqu'à l'heure actuelle, je reçois mes codes humainement lisibles sur /dev/ttyS0, et que je peux configurer ce périphérique comme clavier dans xorg) ?
Merci pour ton aide.
-- Christophe PEREZ Écrivez moi sans _faute !
Le Tue, 10 Apr 2007 14:28:31 +0200, sansflotusspam a écrit:
une metrologic : tu es sauvé, c'est du pur série-TTY en parallèle
clavier. Il te suffit d'un adaptateur en Y sur la prise clavier
Ah bon ?
Pourtant, j'ai bien une prise série au bout...
C'est un vieux modèle comme précisé au départ.
Tu es sûr que ça se connecte sur cet adaptateur ?
Et tu aurais un lien pour me montrer de quel adaptateur tu parles ?
(attention : clavier DIN standard, pas PS/2, dans ce cas il faut un
convertisseur à trouver à la casse du coin pour 1 ¤).
Oui, ça j'ai pour mes tests.
il conviendrait cependant de créer un "clavier" virtuel pour la
douchette, because problèmes de page de code, les systèmes de
code-barres ne connaissant généralement que le pur ASCII 128 bits en
International (8859-x, UTF8, etc, inconnus au bataillon).
Ah oui, je veux bien, mais ne vais-je pas alors me retrouver avec le même
problème que j'ai évoqué sur fcax11 (de conf de xorg) ?
Parce que finalement, que m'apportera dans ce cas l'adaptateur en Y si je
dois configurer autre chose (puisqu'à l'heure actuelle, je reçois mes
codes humainement lisibles sur /dev/ttyS0, et que je peux configurer ce
périphérique comme clavier dans xorg) ?
Le Tue, 10 Apr 2007 14:28:31 +0200, sansflotusspam a écrit:
une metrologic : tu es sauvé, c'est du pur série-TTY en parallèle clavier. Il te suffit d'un adaptateur en Y sur la prise clavier
Ah bon ? Pourtant, j'ai bien une prise série au bout... C'est un vieux modèle comme précisé au départ. Tu es sûr que ça se connecte sur cet adaptateur ? Et tu aurais un lien pour me montrer de quel adaptateur tu parles ?
(attention : clavier DIN standard, pas PS/2, dans ce cas il faut un convertisseur à trouver à la casse du coin pour 1 ¤).
Oui, ça j'ai pour mes tests.
il conviendrait cependant de créer un "clavier" virtuel pour la douchette, because problèmes de page de code, les systèmes de code-barres ne connaissant généralement que le pur ASCII 128 bits en International (8859-x, UTF8, etc, inconnus au bataillon).
Ah oui, je veux bien, mais ne vais-je pas alors me retrouver avec le même problème que j'ai évoqué sur fcax11 (de conf de xorg) ? Parce que finalement, que m'apportera dans ce cas l'adaptateur en Y si je dois configurer autre chose (puisqu'à l'heure actuelle, je reçois mes codes humainement lisibles sur /dev/ttyS0, et que je peux configurer ce périphérique comme clavier dans xorg) ?