Seguindo e conselhos no StackExchange , você já tentou usar o mesmo dispositivo designação para ambos os processos?
Ou você tem alguma necessidade especial de criar dois pseudo-dispositivos para que os processos acessem portas seriais "diferentes" virtuais? Se sim, eu farei este truque de link simbólico do udev com meu 3gModem, mas ele pode ser aplicado a outros dispositivos. Lembre-se, eles ainda são links para o mesmo dispositivo. Usando dmesg
i descobri que meu modem é /dev/ttyUSB0
:
[ 224.777566] usbcore: registered new interface driver option
[ 224.778326] usbserial: USB Serial support registered for GSM modem (1-port)
[ 224.779065] option 1-1:1.0: GSM modem (1-port) converter detected
[ 224.780923] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0
Determine o caminho completo do dispositivo (nome feio):
[root@localhost ~]# udevadm info -q path -n /dev/ttyUSB0
/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1:1.0/ttyUSB0/tty/ttyUSB0
Com o caminho completo do dispositivo, obtenha todas as informações. Você terá uma lista de informações de tela muito longa, cole apenas as informações relevantes:
[root@localhost ~]# udevadm info -a -p /devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1:1.0/ttyUSB0/tty/ttyUSB0
looking at device '/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1:1.0/ttyUSB0/tty/ttyUSB0':
KERNEL=="ttyUSB0"
SUBSYSTEM=="tty"
DRIVER==""
looking at parent device '/devices/pci0000:00/0000:00:12.2/usb1/1-1/1-1:1.0/ttyUSB0':
KERNELS=="ttyUSB0"
SUBSYSTEMS=="usb-serial"
DRIVERS=="option1"
ATTRS{port_number}=="0"
Agora, é só criar dois aliases no Udev com as informações extraídas no último comando. Vou criar um arquivo chamado 50-modem.rules
at /etc/udev/rules.d
. Você pode dar o nome que quiser, mas use o número inicial 50 como um conselho.
SUBSYSTEMS=="usb-serial",DRIVERS=="option1",ATTRS{port_number}=="0",SYMLINK+="3gmodem0"
SUBSYSTEMS=="usb-serial",DRIVERS=="option1",ATTRS{port_number}=="0",SYMLINK+="3gmodem1"
Acione as regras do udev e você está pronto:
[root@localhost rules.d]# udevadm trigger
[root@localhost rules.d]# ls -l /dev/3g*
lrwxrwxrwx. 1 root root 7 Mar 25 19:55 /dev/3gmodem0 -> ttyUSB1
lrwxrwxrwx. 1 root root 7 Mar 25 19:55 /dev/3gmodem1 -> ttyUSB1