installation drivers carte db25 ous debian (linuxcnc)

Demande d'aide : c'est ici.
Répondre
jpg
Messages : 3
Enregistré le : 04 août 2020, 15:43
Status : Hors ligne

04 août 2020, 16:26

bonjour , tous je suis nouveau ici , je me familiarise avec debian , a travers linuxcnc, je vous montre mes tentatives avec une bob chinoise et des servo de meme provenance, l'ensemble est très homogène et fonctionne parfaitement
https://www.youtube.com/watch?v=QwOavjW1-4M

, enfin à blanc car le montage final est prévu sur un tour de 2.3t pour en faire une cnc, suite à ce succès je veux monter une manivelle (MPG dans le jargon) et il me faut un 2 port// et là les choses se corsent, j ai acheté cette carte :
carte db25.jpg
mais elle n est pas "plug and play" il font mettre son pilote sous debian et apres avoir essaye " sudo apt install" et divers autre chose rien de fonctionne , pire ,"mon" debian"ne reconnait pas la commande "apt" , j ai joint le fichier DRV_1PA( je pense que ce sont les fichiers dont j ai besoin , je n ai pas reussi à inserer tout le fichier window, dos ect..),j ai remplacé l'extention "7z" par txt pour l inserer dans le present message,
En esperant que vous pourrez m aider merci
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Avatar du membre
dezix
Modérateur
Modérateur
Messages : 1018
Enregistré le : 04 juin 2016, 14:50
Diaspora* : dezix@framasphere.org
Status : Hors ligne

04 août 2020, 17:24

Bonjour,

je ne comprends pas grand-chose à ton problème => tente de mieux expliquer ton histoire
jpg a écrit :
04 août 2020, 16:26
debian"ne reconnait pas la commande "apt"
Fais le test avec : # apt-get install <ton_paquet>

la commande lspci te permet de voir les périphériques PCI détectés par le système.

Les pilotes sont selon les cas :
  • fourni par le noyau linux(cnc)
  • installé via un paquet (archive .deb)
Cette archive peut être fournie par le dépôt de ta distribution (linuxcnc), soit par un dépôt externe, soit dans le cd joint à ton matos => à voir sur un forum spécialisé .

Note qu' un pilote pour Win ne fonctionne pas pour Linux.

Voilà tout ce que je peux te conseiller avec ce que tu fournis.
Debian testing/stable - XFCE
jpg
Messages : 3
Enregistré le : 04 août 2020, 15:43
Status : Hors ligne

04 août 2020, 17:48

Merci pour ta reponse rapide, pour tout te dire ,je ne sais pas vraiment comment m'y prendre ,
voici le lien complet du drivers:
https://www.helpjet.net/Fs-67163656-893 ... 28365.html
la section qui m 'interresse dans ce fichier compresse est celui -ci DRV_1PA=>linux , le hic , c est que je ne sais pas le mettre dans debian , je galere depuis ce matin, ta commande semble fonctionne , mais comme je n'ai pas le paquet, je sais ça peut paraitre "con" de pas savoir ,ni expliquer mais je debute (debut janvier) ,je suis super content d etre arriver jusque là, et je dois reconnaitre que linux est impressionnant en stabilité , mais le seul hic , on cherche(beaucoup et souvent on trouve pas! :wacko: : ) pour des choses simples sous w ,pour info , la carte est une db25 , servant normalement pour une imprimante (vieille!) papier
Avatar du membre
dezix
Modérateur
Modérateur
Messages : 1018
Enregistré le : 04 juin 2016, 14:50
Diaspora* : dezix@framasphere.org
Status : Hors ligne

04 août 2020, 18:09

Tu n'attaques pas par le plus facile :rolleyes:

il faut que tu suives les indications de : .../DRV_1PA/LINUX/README

ça n'a rien à voir avec apt et ça dépasse mes connaissances,
mais il s'agit d'installer/compiler le pilote depuis la source,
si le README est bien détaillé tu devrais y parvenir,
sinon recherches des gens qui savent le faire.

Bonne chance,
et reviens nous dire ce que tu as réussi ou pas

:006:
Debian testing/stable - XFCE
jpg
Messages : 3
Enregistré le : 04 août 2020, 15:43
Status : Hors ligne

04 août 2020, 18:25

merci pour les encouragement !!! le reame est là , mais je dois avouer que je seche un peu !!

D.1 Driver install
Please create a directory under root directory, e.g /temp, do commands:

# cd /
# mkdir temp

After get driver file "wch_vx.x.x.x.tar.gz". Copy file to /temp
directory, then extract and install, do commands:

# cp wch_vx.x.x.x.tar.gz /temp
# cd /temp
# tar xvfz wch_vx.x.x.x.tar.gz
# cd /temp/wch
# make clean ; make install

*************************************************************
* If system is Suse 9.0 and errors occur when *
* "make clean ; make install", do commands: *
* *
* # cd /usr/src/linux/ *
* # make cloneconfig *
* # make dep *
* *
* then do "make clean ; make install" again in /temp/wch *
*************************************************************

Load driver module, do command:

# modprobe wch
or
# insmod /temp/wch/driver/wch.ko (wch.o for kernel 2.4)


Check driver module, do command:
# lsmod | grep wch


Unload driver, do command:
# rmmod wch
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Avatar du membre
dezix
Modérateur
Modérateur
Messages : 1018
Enregistré le : 04 juin 2016, 14:50
Diaspora* : dezix@framasphere.org
Status : Hors ligne

04 août 2020, 18:49

Déjà, vérifie la version de ton noyau avec :$ uname -r
car ça date de 2012 et c'est pour les versions 2.4 & 2.6 & 3.0
mais ça peut (avec du bol) fonctionner pour du plus récent.

Fais une sauvegarde de ton système avant pour parer au pire.

Sinon le readme semble clair => suivre les indication du "D"

# commande signifie que la commande doit être exécutée avec des privilèges d'admin

$ su - pour obtenir ses privilèges et avoir # à la place de $ (utilisateur ordinaire)

# exit pour revenir à $
Debian testing/stable - XFCE
MicP
Modérateur
Modérateur
Messages : 625
Enregistré le : 16 avr. 2016, 22:14
Status : Hors ligne

04 août 2020, 20:07

Bonjour

Il existe des adaptateurs USB <-> port parallèle DB25
qui ne coûtent vraiment pas cher du tout et qui fonctionnent très très bien sous linux (et Windows)
sans avoir besoin d'un pilote particulier.
C'est en USB2 => compatible USB3

J'en ai quelques versions différentes qui ont toutes été reconnues sans avoir à installer quoi que ce soit,
je les utilise (pour des montages électroniques) comme ports d'entrée/sortie 8 bits connectables par USB, et comme on peut en connecter beaucoup, c'est très économique.
C'est comme si vous aviez un intel 8255 mais accessible par un port USB

Bien sûr, aucun problème pour transformer une imprimante connectée par DB25
en imprimante USB : côté Linux (et Windows), c'est un port parallèle qui est ajouté,
du coup, il suffit de laisser connecté le cordon USB <-> DB25 à l'imprimante
pour en faire une imprimante USB.
PascalHambourg
Contributeur
Contributeur
Messages : 426
Enregistré le : 05 août 2016, 20:25
Status : Hors ligne

05 août 2020, 15:35

Je glisse une petite diversion concernant les adaptateurs USB-parallèle.

On m'avait refilé un adaptateur USB-parallèle Centronics qui ressemble à la photo sur eBay, mais il était reconnu par Linux comme une imprimante USB (/dev/usb/lpN si je me souviens bien) et non comme un port parallèle. Apparemment il ne pouvait servir qu'à connecter une imprimante parallèle. En tout cas j'avais cherché un peu et je n'avais pas trouvé comment l'utiliser comme un port parallèle brut. De toute façon mon ordinateur est assez vieux pour être doté d'un vrai port parallèle, donc je n'en avais pas vraiment l'usage.

Est-ce que tous les adaptateurs USB-parallèles sont reconnus de la même façon ? Si oui, comment as-tu fait pour l'utiliser comme un port parallèle standard ?

Pour la petite histoire, la puce électronique contenue dans cet adaptateur pouvait fonctionner dans deux modes : port parallèle ou UART (port série, reconnu comme /dev/ttyUSBn). Ayant besoin de me connecter au port console interne (UART LVTTL 0-3,3V) d'un appareil, j'ai reconfiguré la puce en mode UART TTL 0-5V car la conversion entre les niveaux TTL et LVTTL (avec quelques résistances) était plus simple à réaliser qu'avec les niveaux d'un port série RS232 classique (+/-12V inversés).

EDIT
En jetant un coup d'oeil rapide aux fichiers pour Linux, j'ai l'impression qu'il s'agit d'un pilote série et non parallèle.. D'autre part la description dans la copie d'écran mentionne le composant 16C550 qui est un contrôleur UART pour port série (descendant du 8250). On peut avoir l'URL (je ne vais pas m'user les yeux à essayer de le deviner dans la copie d'écran trop petite) ?
MicP
Modérateur
Modérateur
Messages : 625
Enregistré le : 16 avr. 2016, 22:14
Status : Hors ligne

05 août 2020, 20:14

Une autre copie d'écran agrandissable :
ImageClique sur l'image et clique sur l'image affichée dans pix toile libre
Les descriptions de chez ce vendeur sont parfois déconcertantes…

=======
Pour l'adaptateur USB <-> Parallèle dont je parlais,
une fois connecté (à l'instant) sur ma machine,
un lsusb me retourne la ligne suivante :

Code : Tout sélectionner

Bus 001 Device 007: ID 067b:2305 Prolific Technology, Inc. PL2305 Parallel Port


et un nouveau port parallèle est maintenant disponible sur ma machine :

Code : Tout sélectionner

michel@debT450:~$ ls -l /dev/usb
total 0
crw-rw---- 1 root lp 180, 0 août   5 20:10 lp0
michel@debT450:~$

======
… il était reconnu par Linux comme une imprimante USB (/dev/usb/lpN si je me souviens bien) et non comme un port parallèle. …
/dev/usb/lpN est un port parallèle,
auquel tu pourras connecter tout ce qui est capable de communiquer par un port parallèle,
comme par exemple, le port parallèle d'une autre machine avec laquelle tu veux communiquer,
un appareil de mesure, une série d'opto-coupleurs reliés à des relais, etc.
et bien sûr, aussi, une imprimante.
PascalHambourg
Contributeur
Contributeur
Messages : 426
Enregistré le : 05 août 2016, 20:25
Status : Hors ligne

06 août 2020, 09:43

MicP a écrit :
05 août 2020, 20:14
/dev/usb/lpN est un port parallèle,
Justement, ce n'est pas si clair. D'après certaines documentations (notamment devices.txt), lpN désignerait plutôt une imprimante. D'ailleurs une imprimante USB native est designée par /dev/usb/lpN de la même façon. Un port parallèle "brut" serait plutôt désigné par /dev/parportN, mais autant je le vois créé pour un port parallèle de PC (sur la carte mère), autant il ne l'était pas pour mon adaptateur USB-parallèle.
MicP a écrit :
05 août 2020, 20:14
auquel tu pourras connecter (...) un appareil de mesure, une série d'opto-coupleurs reliés à des relais
Comment fait-on ? Il faut un pilote noyau spécifique pour chaque type d'appareil, ou bien il existe des programmes qui permettent de piloter les lignes du port comme des I/O génériques ?
MicP
Modérateur
Modérateur
Messages : 625
Enregistré le : 16 avr. 2016, 22:14
Status : Hors ligne

06 août 2020, 11:20

…Comment fait-on ? Il faut un pilote noyau spécifique pour chaque type d'appareil, ou bien il existe des programmes qui permettent de piloter les lignes du port comme des I/O génériques ? …
Oui et non pour les deux questions,
puisque certains appareils vont dialoguer par ce port pour s'initialiser (firmware selon l'appareil) et/ou peuvent aussi avoir besoin d'un pilote spécifique
mais la plupart des imprimantes n'ont besoin de rien d'autre dans le noyau pour fonctionner.

et personnellement, je n'utilisais aucun pilote
et j'utilisais le langage assembleur pour initialiser le port en mode 0 1 ou 2 suivant ce que je voulais faire
puis j'envoyais un fichier de données qui faisait changer l'état des broches utilisées en sorties
tout en lisant l'état de certaines broches que j'utilisais en entrée pour synchroniser tout ça.

Mais finalement, ça revient au même, puisque tout dépends de ce qui sera connecté sur le port
et de comment l'appareil ou/et le montage électronique réagira aux signaux qu'on lui enverra.

En résumé, ça dépends de l'appareil connecté.
PascalHambourg
Contributeur
Contributeur
Messages : 426
Enregistré le : 05 août 2016, 20:25
Status : Hors ligne

06 août 2020, 17:58

Pourquoi utiliser l'assembleur pour piloter un périphérique USB à travers le noyau ? Pour lire et écrire directement dans des adresses I/O je comprendrais, mais là...

Tout ce que je veux pouvoir faire, c'est programmer l'état des sorties du port parallèle et lire l'état des entrées, peu importe ce qu'il y a derrière. Il existe un programme ou un pilote qui permet de faire ça ?
MicP
Modérateur
Modérateur
Messages : 625
Enregistré le : 16 avr. 2016, 22:14
Status : Hors ligne

06 août 2020, 19:24

…Pour lire et écrire directement dans des adresses I/O je comprendrais …
… programmer l'état des sorties du port parallèle et lire l'état des entrées, …
Lire écrire des adresses I/O ça revient à lire ou programmer l'état des broches du connecteur DB25,
mais comme j'avais besoin d'une vitesse I/O d'environ 1MHz, l'assembleur m'était plus facilement accessible
peut-être aussi par habitude vu que c'est comme ça que j'ai commencé à apprendre à programmer les circuits du PC
et que j'avais déjà des routines toutes faîtes.

Sous DOS, j'utilisais debug pour créer des exécutables,
et que ce soit sous DOS ou sous linux, quand il s'agit de programmer en assembleur un 8255 ou un 8042 ou 8051 ou µPD765 etc.
c'est exactement la même chose.

Bien sûr, on peut aussi utiliser d'autres langages de plus haut niveau que l'assembleur comme par exemple python ou ce qui vous va bien.
PascalHambourg
Contributeur
Contributeur
Messages : 426
Enregistré le : 05 août 2016, 20:25
Status : Hors ligne

08 août 2020, 17:37

MicP a écrit :
06 août 2020, 19:24
Lire écrire des adresses I/O ça revient à lire ou programmer l'état des broches du connecteur DB25,
Si le port parallèle est intégré à une carte mère ou une carte d'extension ISA ou PCI, oui. Mais pas s'il est connecté en USB ; seul le contrôleur USB serait éventuellement accessible de cette façon, en supposant qu'il soit mappé dans l'espace d'adressage I/O et non dans l'espace d'adressage mémoire.
MicP
Modérateur
Modérateur
Messages : 625
Enregistré le : 16 avr. 2016, 22:14
Status : Hors ligne

08 août 2020, 21:00

Tu m'a mis un gros doute là,
mais non : j'utilisais bien un montage électronique connecté à mon ASUS G53SW (qui n'a pas de port parallèle) et que je contrôlais en assembleur, c'était en 2013.

Mon problème de timing (d'où l'usage de l'assembleur) était que j'essayais (et j'y suis arrivé mais seulement à moins de 100kHz) de créer plusieurs "réseaux" I²C en utilisant les sorties d'un connecteur DB 25 d'un port parallèle relié à un adaptateur USB PL2305. J'utilisais un oscilloscope pour vérifier les timings, et je me suis rendu compte que c'était beaucoup trop aléatoire en terme de timing pour pouvoir faire un dialogue I²C fiable.
Et plus tard je me suis rendu compte que j'avais un accès beaucoup plus simple et fiable à un port I²C sur tous les PC en me connectant aux broches 9 10 12 15 du connecteur VGA de ma machine.
Je n'avais plus qu'à y connecter un multiplexer TCA9548A pour obtenir simplement 8 ports I²C
PascalHambourg
Contributeur
Contributeur
Messages : 426
Enregistré le : 05 août 2016, 20:25
Status : Hors ligne

09 août 2020, 18:19

Que tu utilises l'assembleur, pourquoi pas. Mais que je sache, un périphérique USB quel qu'il soit n'est pas mappé dans l'espace d'adressage I/O accessible avec des instructions in et out. Donc utiliser ces instructions pour contrôler un port parallèle connecté en USB, je ne vois pas comment c'est possible (à moins d'utiliser ces instructions pour piloter le contrôleur USB hôte, mais ça entre en conflit avec le pilote du contrôleur USB et je n'en vois pas l'intérêt). Il va falloir m'en dire plus.
MicP
Modérateur
Modérateur
Messages : 625
Enregistré le : 16 avr. 2016, 22:14
Status : Hors ligne

09 août 2020, 23:04

… Il va falloir m'en dire plus.…
Je ne sais pas ce que tu veux en faire et si ce que j'ai pu faire te conviendra,
il faudrait que tu me dises ce que tu veux en faire,
parce que, comme je le disais, je n'ai pas réussi à obtenir un timing assez stable
pour qu'un dialogue I²C soit vraiment utilisable par cette méthode.
Je pense que c'est la couche USB <-> parallèle qui rendait si aléatoire
les temps de réponse.

C'est pour ça que j'ai laissé tombé cette méthode pour utiliser directement le port I²C accessible par le connecteur VGA
(c'est aussi possible par le connecteur DVI)

Je vais essayer de retrouver les fichiers que j'avais créé,
en espérant que je ne les ai pas écrasés pour une nouvelle installation,
mais en général, je garde toujours une copie de ces fichiers.

Depuis 2013, j'ai déménagé et changé de machine plusieurs fois
ce qui fait que je dois fouiller sur une dizaine de disques
dans lesquels il doit sans doute se trouver un fichier image disque datant de cette époque,
et en 7 ans, il y a eu beaucoup de fichiers sauvegardés un peu partout.

J'ai dernièrement vu (sans la chercher) la plaquette d'essais que j'utilisais
avec son cordon USB <-> parallèle et la nappe encore connectée à la plaquette
sur laquelle il y a encore un 8255 et quelques autres circuits I²C connectés
J'enverrais une photographie de ce bidouillage dès que je la retrouverai.
Avatar du membre
piratebab
Site Admin
Site Admin
Messages : 3426
Enregistré le : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors ligne

12 août 2020, 09:09

Il me semble qu'il existe des bibliothèques python permettant de manipuler un port // comme un port d'I/O .par exemple pyparallel
https://pypi.org/project/pyparallel/
PascalHambourg
Contributeur
Contributeur
Messages : 426
Enregistré le : 05 août 2016, 20:25
Status : Hors ligne

12 août 2020, 11:19

Dans un premier temps mon besoin est simple, je l'ai déjà exprimé : programmer l'état des sorties du port parallèle et lire l'état des entrées. Pas de contrainte de timing.
MicP
Modérateur
Modérateur
Messages : 625
Enregistré le : 16 avr. 2016, 22:14
Status : Hors ligne

12 août 2020, 15:00

@PascalHambourg

OK, dès que je retrouve ma plaquette, (et mes fichiers) je m'y remets.

Il me faut au moins la plaquette pour positionner les broches PaperEnd, SelectIn, Error
et synchroniser les signaux Busy et Ack avec le signal Strobe
C'est pour simuler la présence d'une imprimante qui est prête à recevoir des données et qui devra acquitter la réception de chaque donnée.
Répondre