Eu uso o seguinte:
KERNEL=="ttyS0", RUN+="/bin/setserial /dev/ttyS0 low_latency"
KERNEL=="ttyS0", SYMLINK+="gps0", RUN+="/usr/sbin/ldattach pps /dev/ttyS0"
KERNEL=="pps0", OWNER="root", GROUP="dialout", MODE="0660", SYMLINK+="gpspps0"
Você testou sua regra do udev com o udevadm:?
# udevadm test /sys/class/tty/ttyS0
Atualizar
Sua configuração de setserial pode ser um problema. Verifique a configuração do setserial:
# dpkg-reconfigure -p low setserial
Eu selecionei "autosave sempre". Tente "salvar automaticamente sempre" e, em seguida, verifique a configuração de low_latency antes de reinicializar. Se isso não funcionar, tente selecionar "kernel" quando fizer o dpkg-reconfigure
Você pode verificar se as coisas correspondem pesquisando / var / lib / setserial.
Quando reinicializo, o setserial diz:
# setserial -G /dev/ttyS0
/dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_normal skip_test low_latency
Que corresponde ao que é encontrado em / var / lib / setserial
# cat /var/lib/setserial/autoserial.conf |grep -v ^\#
/dev/ttyS0 uart 16550A port 0x03f8 irq 4 baud_base 115200 spd_normal skip_test low_latency
NB: Às vezes, a entrada em setserial dirá 8250 em vez de 16550A. Eu não sei porque isso acontece em algumas máquinas, mas nunca foi um problema para mim quando elas diferem.