오늘 온 보드가 UART 인식이 잘 안됩니다.

Post Reply
waldo414
Posts: 6
Joined: Thu Nov 14, 2019 4:07 pm
languages_spoken: korean
ODROIDs: n2
Has thanked: 0
Been thanked: 0
Contact:

오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by waldo414 » Thu Nov 14, 2019 4:13 pm

eMMC 32Gb Linux 올라간 N2 보드를 사용중에있습니다.

https://wiki.odroid.com/odroid-n2/appli ... /gpio/uart

UART를 사용하기 위해 위 링크 설명대로 진행하였는데 UART_EE_A 활성화는 되나 Tx만 되고 Rx신호를 못잡습니다.

그리고 UART_EE_B를 사용하려고 보니 장치 자체가 ls /dev/ttyS? 로 확인해보아도 안보입니다.

같은 작업을 Xu4 보드에서는 정상적으로 동작한 상태에서 보드만 바꾸어 테스트하던중 발생한 문제입니다.

Rx 신호 테스트는 cat /dev/ttyS1으로 하였습니다.

User avatar
odroid
Site Admin
Posts: 32690
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 212 times
Been thanked: 364 times
Contact:

Re: 오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by odroid » Thu Nov 14, 2019 4:20 pm

아래 명령의 출력값을 올려봐 주세요.

Code: Select all

sudo fdtget /media/boot/meson64_odroidn2.dtb /serial@ffd23000 status
sudo fdtget /media/boot/meson64_odroidn2.dtb /serial@ffd24000 status
uname -a

waldo414
Posts: 6
Joined: Thu Nov 14, 2019 4:07 pm
languages_spoken: korean
ODROIDs: n2
Has thanked: 0
Been thanked: 0
Contact:

Re: 오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by waldo414 » Thu Nov 14, 2019 4:27 pm

Code: Select all

root@odroid:/home/odroid/_PJH# fdtget /media/boot/meson64_odroidn2.dtb /serial@ffd23000 status
okay
root@odroid:/home/odroid/_PJH# fdtget /media/boot/meson64_odroidn2.dtb /serial@ffd24000 status
okay
root@odroid:/home/odroid/_PJH# uname -a
Linux odroid 4.9.187-53 #1 SMP PREEMPT Fri Aug 9 06:12:18 -03 2019 aarch64 aarch64 aarch64 GNU/Linux
root@odroid:/home/odroid/_PJH# ls /dev/ttyS?
/dev/ttyS0  /dev/ttyS1

User avatar
odroid
Site Admin
Posts: 32690
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 212 times
Been thanked: 364 times
Contact:

Re: 오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by odroid » Thu Nov 14, 2019 4:33 pm

저는 ttyS가 3개 보입니다.

Code: Select all

root@odroid:~# fdtget /media/boot/meson64_odroidn2.dtb /serial@ffd23000 status
okay
root@odroid:~# fdtget /media/boot/meson64_odroidn2.dtb /serial@ffd24000 status
okay
root@odroid:~# uname -a
Linux odroid 4.9.196-63 #1 SMP PREEMPT Thu Oct 17 00:44:03 -03 2019 aarch64 aarch64 aarch64 GNU/Linux
root@odroid:~# ls -alp /dev/ttyS?                                                                  
crw------- 1 root tty     239, 0 Nov 14 07:30 /dev/ttyS0
crw-rw---- 1 root dialout 239, 1 Jan 28  2018 /dev/ttyS1
crw-rw---- 1 root dialout 239, 2 Jan 28  2018 /dev/ttyS2
마지막 dtb 수정하고 리부팅하셨는지요?
그리고 커널을 업데이트하고 다시 dtb를 수정해 보세요.
https://wiki.odroid.com/odroid-n2/os_im ... l_software

waldo414
Posts: 6
Joined: Thu Nov 14, 2019 4:07 pm
languages_spoken: korean
ODROIDs: n2
Has thanked: 0
Been thanked: 0
Contact:

Re: 오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by waldo414 » Thu Nov 14, 2019 4:42 pm

설정하고 리부팅하고 문제가 발생한 후에도 리부팅은 시도했는데 변화는 없습니다.

커널은 보내주신 eMMC 그대로 사용하였고 확인해보니 18.04.3 LTS로 위 링크의 커널과 동일한것같습니다.

waldo414
Posts: 6
Joined: Thu Nov 14, 2019 4:07 pm
languages_spoken: korean
ODROIDs: n2
Has thanked: 0
Been thanked: 0
Contact:

Re: 오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by waldo414 » Thu Nov 14, 2019 4:43 pm

Code: Select all

fd = open( "/dev/ttyS1", O_RDWR | O_NOCTTY );
        if(fd<0)
                printf("Not Good\n");
                ...
        write( fd, "S", 1);
        write( fd, ptr_X, 8);
        write( fd, "X", 1);
        write( fd, ptr_Y, 8);
        write( fd, "Y", 1);
또 Tx관해서도 문제를 발견했는데 현재 N2 보드에서 특정 임베디드보드로(3.3v 동작) UART 통신 작업중에 있는데 echo test > /dev/ttyS1 처럼 하나씩 보내는것은 확인되나

위와 같이 작성한 코드 에선 정상적으로 동작하진 않습니다.

User avatar
odroid
Site Admin
Posts: 32690
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 212 times
Been thanked: 364 times
Contact:

Re: 오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by odroid » Thu Nov 14, 2019 4:53 pm

위 링크 맨 아래에 보시면 커널 업데이트 하는 방법이 있습니다.
커널 업데이트를 하면 새로운 DTB로 덮어쓸 수 있으니, fdtput을 다시 실행시켜 보시길 바랍니다.

그리고 C 코드에서 tty open할때 flow-control관련 기능을 꺼보시길 바랍니다.

waldo414
Posts: 6
Joined: Thu Nov 14, 2019 4:07 pm
languages_spoken: korean
ODROIDs: n2
Has thanked: 0
Been thanked: 0
Contact:

Re: 오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by waldo414 » Wed Dec 04, 2019 2:58 pm

감사합니다 커널 업데이트후 UART 장치들이 모두 확인됩니다.

그런데 임베디드 보드와 연결후 Tx 신호는 원하는대로 보내지나 Rx 신호가 원하는 방식대로 동작하지않아 도움을 구합니다.

stty -F /dev/ttyS0 115200 cs8 -cstopb -parenb
Uart의 설정을 위와 같이 한 후 (baud rate 115200, 8 bits, 1 stop bit, no parity)

cat /dev/ttyS1
명령어 실행시 Odorid-Xu4 에서는 임베디드 보드에서 오는 문자열을 잘 받아오는 반면 N2 보드에서는 문자열이 출력되지 않으며 오히려 Tx 신호가 임베디드 보드단에 전해지고 있음이 확인됩니다.

Xu4와 N2사이의 UART 연결시는 문제없이 전송, 수신이 가능함을 확인하였습니다.

User avatar
odroid
Site Admin
Posts: 32690
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 212 times
Been thanked: 364 times
Contact:

Re: 오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by odroid » Wed Dec 04, 2019 3:31 pm

ODROID-N2는 ttyS0를 시스템 콘솔 포트로 사용하고 있으므로, 말씀하신 현상은 정상이라고 생각됩니다.
ttyS1이나 ttyS2로 테스트 해보시길 바랍니다.

waldo414
Posts: 6
Joined: Thu Nov 14, 2019 4:07 pm
languages_spoken: korean
ODROIDs: n2
Has thanked: 0
Been thanked: 0
Contact:

Re: 오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by waldo414 » Wed Dec 04, 2019 3:50 pm

사용하지 않는 ttyS0에만 설정을 주고있었네요 :? :?

그런데 동일한 설정을 ttyS1, ttyS2에 적용시켜 UART_EE_A와 UART_EE_B에 각각 테스트 해봐도 같은 문제가 발생합니다.

오실로스코프로 확인해보니 Rx에 들어오는 파형에는 문제가 없는데 cat 명령어를 사용하는 동안 주기적으로 Tx가 Low로 낮아졌다 High로 바뀝니다.

User avatar
odroid
Site Admin
Posts: 32690
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID
Has thanked: 212 times
Been thanked: 364 times
Contact:

Re: 오늘 온 보드가 UART 인식이 잘 안됩니다.

Unread post by odroid » Wed Dec 04, 2019 4:41 pm

echo 기능이 켜져있는것 아닐까요?
stty에 -echo 옵션을 넣어 보는것은 어떨까요?
https://stackoverflow.com/questions/563 ... a-terminal

그리고 양쪽 시스템에 minicom같은 터미널 프로그램으로 테스트 해보시길 권장합니다.

Post Reply

Return to “N2”

Who is online

Users browsing this forum: No registered users and 16 guests