UART3 não funciona

#1

Instalei a versão Kernel 4 que foi disponibilzado para utilizar a interface I2C.
A interface I2C funciona mas agora não consigo usar o UART disponivel nos pinos 8 e 10.

ls -lhtr /dev/ttyS*
crw-rw---- 1 root dialout 253, 2 Feb 14 2019 /dev/ttyS2
crw–w---- 1 root tty 253, 3 Feb 14 2019 /dev/ttyS3

caninos@debian-armhf:~/pub/testuart$ sudo dmesg | grep uart
[ 345.808279] Modules linked in: rfcomm hid_logitech_hidpp hid_logitech_dj bnep hci_uart r8723bs© cfg80211
[ 345.808900] Modules linked in: rfcomm hid_logitech_hidpp hid_logitech_dj bnep hci_uart r8723bs© cfg80211
[ 347.446579] Modules linked in: rfcomm hid_logitech_hidpp hid_logitech_dj bnep hci_uart r8723bs© cfg80211
[ 347.447183] Modules linked in: rfcomm hid_logitech_hidpp hid_logitech_dj bnep hci_uart r8723bs© cfg80211
[ 347.447720] Modules linked in: rfcomm hid_logitech_hidpp hid_logitech_dj bnep hci_uart r8723bs© cfg80211
[ 347.448212] Modules linked in: rfcomm hid_logitech_hidpp hid_logitech_dj bnep hci_uart r8723bs© cfg80211

uname -a
Linux debian-armhf 4.14.13 #2 SMP PREEMPT Fri Dec 6 18:18:28 -02 2019 armv7l GNU/Linux

sudo python3 testuart.py
Port /dev/ttyS3 Test :
Enviados --> 31
<class ‘int’>
<class ‘bytes’>
Received --> b’’
Received --> b’’
Received incorrect data: b’’ in the port /dev/ttyS3

Como posso ativar o UART3 novamente?

#2

John, bom dia.

Primeiramente, o UART nos pinos 8 e 10 é o UART0.

Além disso, ele precisa ser habilitado na device tree para funcionar.

Tenho uma versão já compilada do device tree com o UART0 ativado, vc pode pegar neste link.

Aí basta pegar o arquivo /output/kernel.dtb desta pasta e colar na pasta /media/caninos/BOOT para modificar sua device tree. Este procedimento só funciona nas versões do sistema a partir da v0.11, sugiro que cheque o changelog do sistema antes.

Após colar o arquivo, sugiro também utilizar os comandos sudo sync e sudo reboot abaixo para reiniciar a placa:

E para verificar que a UART subiu pode utilizar o comando ls /dev/ | grep ttyS0 para verificar que a UART0 foi habilitada.