Pilotes pour adaptateur série PCI-e RS-232/422/485


0

Excellent 2019 à chacun de vous!

J'ai acheté le PEX4S232485 à StarTech il y a quelques mois pour le monter uniquement sur un serveur Debian (Stretch) aujourd'hui.

J'avoue que je saute sur cette carte sans trop en dire, car elle devait être prise en charge par "les noyaux Linux 2.6.x". La question stupide maintenant: cela implique-t-il d'être supporté par les noyaux 4.4.x également? Ma réponse idiote: je ne vois pas pourquoi pas (même si le débat sur la régression par le noyau Linux est tentant ...)

Les doutes proviennent de ces lectures:

# ls /dev/ttyS*
    ttyS0  ttyS1  ttyS2  ttyS3  

(/ dev / ttyS0 étant le port série MB, fonctionne bien)

Puis:

# cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:363 rx:4 RTS|DTR
1: uart:unknown port:000002F8 irq:3
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3

Mais aussi:

# lspci | grep -ni serial
55:0e:00.0 Serial controller: Systembase Co Ltd Device 4d02 (rev b0)
56:0e:01.0 Serial controller: Systembase Co Ltd Device 4d02 (rev b0)
61:13:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)
62:14:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 02)

Maintenant, je lis un peu partout la commande magique :

# sudo setserial /dev/ttyS1 uart 16550A

Mais, hein, qui veut essayer cela sans vraiment comprendre ce qu'il / elle fait?

Alors, comment puis-je vérifier que le tableau est détecté, le pilote chargé? Devrais-je voir le drapeau / tension 'RTS | DTR' appliqué quand il est branché? (Maintenant, le problème est que les 4 connecteurs DB9 du grand connecteur enfichable de la carte 'Octopus' me feraient croire que ttyS [1-4] devrait être visible à partir de la CLI, mais il s'arrête à / dev / ttyS3.

Eh bien, toute astuce / commentaire / suggestion est la bienvenue. J'espère que nous ne sommes pas revenus à l'époque où les hommes étaient des hommes et écrivaient leurs propres pilotes de périphériques? ; 0)


Oh bien, oui, la question étant qu'aucun des caractères émis sur ces ports par minicom excite le scope branché (qui montre assez bien les caractères du MB / dev / ttyS0 ..)
bli

Autant que je sache, vous ne disposez que du pilote des ports série de la carte mère, dans lequel une seule des 4 plages d'adresses E / S standard est utilisée. Vous avez donc besoin de pilotes pour votre adaptateur série PCIe. La première étape est lspci -nnet google pour le fournisseur et l'identifiant de l'appareil que vous obtenez (dans le format 1234:1234). Regarder à travers les sources du noyau aidera également. Identifier la puce sur la carte en la regardant aidera également.
Dirkt le

1
Ha, merci! Oui, même déduction ici que je retire le tableau et que je vois toujours la même plage d'adresses de 4 entrées / sorties ... Je ne connaissais pas l'indicateur '-nn': j'essaierai! Oui, j'ai le chipset: SystemBase - SB16C1052PCI et les pilotes sont installés sur une machine Windows 10, bien que je ne sache pas à quel point une activité de "portage" est simple. Peut-être que l’achat d’une autre carte RS-422 (compatible avec Linux) serait «moins cher»…
bli

Google trouve que SB16C1052PCI contient deux UART 16C1055. Je ne pouvais pas trouver de feuille de données pour cet UART spécifique, mais s'il est compatible avec un registre avec un UART 16550, la création d'un pilote de noyau doit être simple (utilisez le pilote de noyau 16550 existant, mappez-le sur les barres PCI d'E / S de cette carte).
Dirkt le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.