IIRC Jetson TK1's DB9 está conectado a /dev/ttyS0 no kernel do Linux. E a distribuição padrão do Ubuntu configura como dispositivo de console do kernel (veja cat /proc/consoles ) e executa getty nele. Você precisa pará-los para que seu aplicativo use /dev/ttyS0 exclusivamente.
Para parar getty , você pode executar stop ttyS0 . Eu não sei como desanexar /dev/ttyS0 dos dispositivos de console do kernel, você tem que remover console=ttyS0,... do parâmetro de inicialização. De qualquer forma, para o primeiro teste é altamente recomendável conectar o DB9 de outro PC com um cabo cruzado.
Eu estou afraind a saída de setserial é sem sentido e inútil em TK1. /dev/ttyS0 está pronto na inicialização e você pode configurá-lo usando a API termios do Linux, portanto, use apenas stty ou outro software de terminal sofisticado como kermit . Eu nunca usei gtkterm , mas ele também serve. Você poderia conseguir nada a menos que se livrasse do processo de getty ou shell da porta, embora.
Para usar kermit , faça apt-get install ckermit e crie o arquivo ~/.kermrc com o seguinte conteúdo:
set modem type none
set line /dev/ttyS0
set speed 115200
set carrier-watch off
set flow none
Em seguida, inicie kermit em um terminal. Digite connect no prompt para conectar a porta serial. Na sessão digitando Ctrl + \ seguido por c para voltar ao prompt, q para sair do kermit.
$ kermit
C-Kermit 9.0.302 OPEN SOURCE:, 20 Aug 2011, for Linux+SSL+KRB5 (64-bit)
Copyright (C) 1985, 2011,
Trustees of Columbia University in the City of New York.
Type ? or HELP for help.
(/home/yaegashi/) C-Kermit>connect
Connecting to /dev/ttyS0, speed 115200
Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------
Closing /dev/ttyS0...OK