Remapeando nomes de dispositivos de porta serial do Linux

3

Eu tenho um servidor rodando Debian Linux que tem uma porta serial embutida que está chegando como ttyS0. Eu tenho um plugue na placa PCI com duas portas seriais que estão sendo registradas no Linux como ttyS2 e ttyS3.

Infelizmente, estou tentando executar algum software que assume que ttyS0 e ttyS1 estão disponíveis. É possível remapear os nomes dos dispositivos da porta serial (usando uma regra do udev?) De tal forma que ttyS0 permaneça como está e ttyS2 se torne ttyS1?

    
por davefiddes 30.04.2010 / 15:25

4 respostas

3

Você pode usar o udev para isso. Crie um arquivo /etc/udev/rules.d/90-rename-serial-ports.rule contendo

ACTION=="add" KERNEL=="ttyS2" NAME="ttyS1"

deve fazê-lo (não testado). Observe a diferença entre "==" e "=".

    
por 01.05.2010 / 01:54
1

Que tal um simples mv /dev/ttyS2 /dev/ttyS1 ? Afinal, a maioria dos dispositivos é apenas um arquivo localizado em /dev .

LE: Você precisa renomear toda vez que inicializar.

    
por 30.04.2010 / 15:42
1

Você não deveria estar mexendo com nomes como esse. Use setserial para desmapear o ttyS2 e mapear o ttyS1 para seus recursos. E então você deve encontrar quem escreveu esse código e introduzi-lo na palma da sua mão. Eles realmente deveriam saber melhor agora.

    
por 01.05.2010 / 02:17
0

tente isto:

sudo ln -s /dev/ttys2 /dev/ttys1

Liga ttys1 ao ttys2 real.

Testado para funcionar em aplicativos como o minicom com um adaptador USB-para-serial (/ dev / ttyUSB0) no Ubuntu Lucid.

Ele não sobrevive a reinicializações, a menos que você o adicione a um script (por exemplo: /etc/rc.local na maioria das distribuições do Linux)

    
por 30.04.2010 / 15:57