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 "=".
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?
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.
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.
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)