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