Estou passando por um problema irritante com dispositivos seriais FTDI no Linux e isso foi observado em várias máquinas e com diferentes distribuições. A questão é que o adaptador serial perde caracteres e agora com uma instalação totalmente atualizada do Arch com o kernel 4.12.4, ficou tão ruim que o console serial é completamente inutilizável. Usamos consoles seriais para testar dispositivos embarcados e a frequência do problema é que, quando você executa um teste durante a noite, isso pode acontecer uma ou duas vezes, o suficiente para mudar para os computadores Windows para algumas de nossas necessidades de registro.
Como um exemplo com o 4.12.4. Aqui temos um dispositivo incorporado que imprime a string "Button pressed: Button 3 Switch 2\n"
quando um determinado botão é pressionado. O que eu recebo:
Button pressed: Button 3 Switch 2
Button pressed: Button 2 Switch 2
Button pressed: Button 2 Switch 2
2 Switch 2
Button pressed: Button 2 Switch 1
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 SwitchButton pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 SwiButton pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
sed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Button pressed: Button 3 Switch 2
Fazer a mesma coisa no Windows não causa nenhum problema e, antes da última atualização, estava funcionando bem. Se eu tentar a mesma coisa em uma máquina Ubuntu virtual, também está tudo bem, mas sei que se eu fosse executá-lo por um longo tempo, também perderia caracteres. Alguém mais encontrou o mesmo problema e talvez tenha encontrado uma solução? A porta serial é executada em 115200 1N8 e sem controle de fluxo.
Obrigado.