Não é possível conectar portas seriais adicionais a um servidor RHEL6 com 8 portas seriais

1

Eu tenho um servidor RHEL6.9 com 8 portas seriais conectadas. O RHEL configurou 4 deles / dev / ttyS0-3, eles têm endereços e IRQs.

Eu tenho usado o comando mknod para criar os dispositivos / dev / ttyS [0-3]. Eu sei que o IRQ 5 e 7 são gratuitos (não estou usando portas paralelas)

Estou usando algo como

mknod -m 666 /dev/ttyS4 c 4 64

No entanto, parece apenas duplicar / dev / ttyS0 com o mesmo endereço e IRQ, no entanto, quando eu altero isso, eu apenas pego "No such device or address" de

 setserial -g /dev/ttyS[0-9] 

A página man sugere que os últimos 2 parâmetros (4 64) são versões. Eu ingenuamente assumi os 4 mapeados para o IRQ.

Estou me aproximando disso da maneira certa, assumindo que posso apenas criar novos dispositivos seriais e atribuir um endereço e um IRQ?

Em caso afirmativo (pergunta de acompanhamento de aviso), posso obter os endereços de algum lugar no sistema Linux em execução?

Muito obrigado antecipadamente

    
por Jim 26.04.2017 / 12:11

1 resposta

3

Você precisa incrementar o segundo número no comando mknod , mas deixar o primeiro sozinho. Por exemplo ...

mknod -m 666 /dev/ttyS4 c 4 68
mknod -m 666 /dev/ttyS5 c 4 69
mknod -m 666 /dev/ttyS6 c 4 70
mknod -m 666 /dev/ttyS7 c 4 71

Os dois números são os números dos dispositivos principais e secundários. O número principal do dispositivo permanecerá o mesmo para dispositivos do mesmo tipo. Número de dispositivo menor será alterado para cada instância.

Como você está usando o RHEL 6.x, você pode utilizar o comando MAKEDEV , que calcula o número para você ...

$ cd /dev
$ sudo MAKEDEV -vx ttyS4
create ttyS4                          c   4  68 root:uucp 660 system_u:object_r:tty_device_t:s0
$ ls -l ttyS4
crw-rw----. 1 root uucp 4, 68 Apr 26 12:02 ttyS4

NB, você não precisa do sinal -v , que apenas torna as coisas detalhadas, mas você faz deseja o sinal -x (para o valor exato). Caso contrário, MAKEDEV criará todos os dispositivos correspondentes dada string (então ttyS40, ttyS41 etc)

    
por 26.04.2017 / 13:53