C2 안드로이드 유선랜 dhcp 문의입니다.

Post Reply
testki144
Posts: 11
Joined: Thu Dec 20, 2018 10:42 am
languages_spoken: korean
ODROIDs: c2, xu4
Has thanked: 0
Been thanked: 0
Contact:

C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by testki144 » Mon Sep 09, 2019 12:05 pm

안드로이드 C2보드와 IP를 할당해주는 서버를 동시에 키면 C2보드에서 네트워크가 정상동작하지 않습니다.

어느정도 시간후에 C2보드를 재부팅하면 네트워크가 정상적으로 동작합니다.

C2의 dhcpc의 타임아웃보다 서버의 부팅시간이 길어 IP를 받지 못하는 것으로 의심이 됩니다.

C2의 유선랜 dhcpc의 타임아웃이 설정되어있는지, 있다면 무한대로 늘리는 방법은 무엇인지 문의드립니다.

안드로이드는 selfinstall-odroidc2-eng-s905_6.0.1_master-111-v5.1.img 를 사용하고 있습니다.

User avatar
tobetter
Posts: 3899
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 38 times
Been thanked: 152 times
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by tobetter » Mon Sep 09, 2019 12:27 pm

IP를 못 받은 상황에서 랜케이블을 다시 꽂아보거나 설정에서 이더넷을 껐다가 켜보면 IP를 잡나요?

testki144
Posts: 11
Joined: Thu Dec 20, 2018 10:42 am
languages_spoken: korean
ODROIDs: c2, xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by testki144 » Mon Sep 09, 2019 3:12 pm

현장 서버를 내릴수가 없어서 유선랜과 무선랜 있는 노트북의 무선랜으로 인터넷을 연결하고 윈도우즈7의 인터넷공유 기능을 사용해 테스트를 했습니다.

인터넷공유 기능을 사용하기 전에 노트북의 유선랜포트와 C2의 랜포트를 케이블로 연결하고 C2의 전원을 인가했습니다.
10분정도 후에 노트북의 인터넷공유 기능을 활성화하면 C2에서 IP를 받지 못합니다.
그 상태에서 케이블을 제거하고 다시 연결하면 IP를 잡습니다.

설정에서 이더넷을 끄는 방법은 알지못해서 못해봤습니다.

이번 테스트에 사용한 C2는 selfinstall-odroidc2-eng-s905_6.0.1_master-114-v5.3.img 를 사용했습니다.

User avatar
codewalker
Posts: 715
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 30 times
Been thanked: 22 times
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by codewalker » Mon Sep 09, 2019 6:26 pm

1. 공유기의 DHCP 기능을 끄고 C2의 켜 줍니다.
2. 아래와 같이 DHCDCP daemon이 약 3~4분간 running으로 표시됩니다.

Code: Select all

root@odroidc2:/ # getprop | grep dhcp                                          
[dhcp.eth0.pid]: [3339]
[dhcp.eth0.reason]: [PREINIT]
[dhcp.eth0.result]: []
[init.svc.dhcpcd_eth0]: [running]
3. 그리고 일정 시간 이후 아래와 같이 stop됩니다.

Code: Select all

root@odroidc2:/ # getprop | grep dhcp                                          
[dhcp.eth0.pid]: [3339]
[dhcp.eth0.reason]: [PREINIT]
[dhcp.eth0.result]: [failed]
[init.svc.dhcpcd_eth0]: [stopped]
4. 그리고 공유기의 DHCP 기능 켜 주면 공유기가 reboot 합니다.
5. 공유기가 부팅 되면 dhcpcd daemon이 자동으로 running으로 바뀝니다.

Code: Select all

root@odroidc2:/ # getprop | grep dhcp                                          
[dhcp.eth0.pid]: [5655]
[dhcp.eth0.reason]: [PREINIT]
[dhcp.eth0.result]: []
[init.svc.dhcpcd_eth0]: [running]
6. 그리고 공유기가 완전 부팅하고 나면 ip를 가져 옵니다.

DHCPCD daemon은 종료되지 않고 ethernet 신호가 들어오면 dhcpcd daemon은 다시 polling하는 것 처럼 보입니다.
Last edited by codewalker on Mon Sep 09, 2019 6:30 pm, edited 1 time in total.

User avatar
codewalker
Posts: 715
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 30 times
Been thanked: 22 times
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by codewalker » Mon Sep 09, 2019 6:29 pm

만약 c2가 DHCP서버가 완전 부팅 시간 이후에 부팅 해야 한다면 /internal/boot.ini에 bootdelay를 이용하여 일정 시간 이후에 부팅 시키는 것은 어떨지요?

testki144
Posts: 11
Joined: Thu Dec 20, 2018 10:42 am
languages_spoken: korean
ODROIDs: c2, xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by testki144 » Mon Sep 09, 2019 6:43 pm

공유기는 재부팅을 하기 때문에 ethernet 신호를 보내주는것으로 보이고

저희 서버는 dhcpd 시작시점에 따로 ethernet 신호를 보내주지 않아서 발생하는 문제인것 같습니다.

문제를 해결하는 방안으로 C2의 부트 딜레이를 더 주는것은 재부팅하는 경우 빠르게 서비스가 동작되어야해서 적용하기 힘듭니다.

dhcpcd를 계속 running 상태가 되도록 해주는 방법이나 dhcpcd가 다시 running 상태가 되도록 해주는 명령어는 없을까요??

User avatar
tobetter
Posts: 3899
Joined: Mon Feb 25, 2013 10:55 am
languages_spoken: Korean, English
ODROIDs: X, X2, U2, U3, XU3, C1
Location: Paju, South Korea
Has thanked: 38 times
Been thanked: 152 times
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by tobetter » Mon Sep 09, 2019 6:44 pm

testki144 wrote:
Mon Sep 09, 2019 6:43 pm
공유기는 재부팅을 하기 때문에 ethernet 신호를 보내주는것으로 보입니다.

서버가 dhcpd 시작시점에 따로 ethernet 신호를 보내주지 않아서 발생하는 문제인것 같습니다.

문제를 해결하는 방안으로 C2의 부트 딜레이를 더 주는것은 재부팅하는 경우 빠르게 서비스가 동작되어야해서 적용하기 힘듭니다.

dhcpcd를 계속 running 상태가 되도록 해주는 방법이나 dhcpcd가 다시 running 상태가 되도록 해주는 명령어는 없을까요??
연결이 안되는 경우 Shell에서 ifconfig로 eth0를 down했다가 up을 시키면 어떨까요?

User avatar
codewalker
Posts: 715
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 30 times
Been thanked: 22 times
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by codewalker » Tue Sep 10, 2019 10:12 am

dhcpcd daemon을 보고 있는데 말씀 하신 것 처럼 dhcpcd가 timeout 되어서 발생하는 문제처럼 보이지 않습니다.
RJ45에 link led가 들어 오면 dhcpcd는 running 상태이고 link led가 껴져 있다면 dhcpcd는 stop됩니다. DHCP 서버의 상태와 상관 없어 보입니다.
network이 연결되어 있다면 dhcpcd는 계속 running 상태라고 생각됩니다.

처음 말씀하신 상태, 즉 서버와 c2를 같이 부팅하고 c2가 어떤 상태인지 확인 해보시기 바랍니다.
RJ45의 link led가 어떤 상태인지? dhcpcd 서비스의 상태가 어떤 상태인지?

dhcpcd_eth0이 stopped 상태라면 강제로 "start dhcpcd_eth0" 이렇게 시도 해 봐도 dhcpcd_eth0 서비스는 running 상태로 바뀌지 않습니다.

testki144
Posts: 11
Joined: Thu Dec 20, 2018 10:42 am
languages_spoken: korean
ODROIDs: c2, xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by testki144 » Tue Sep 10, 2019 10:49 am

답변 감사드립니다.

말씀대로 먼저 데몬, RJ45 등 C2의 상태를 좀더 확인해보겠습니다.

testki144
Posts: 11
Joined: Thu Dec 20, 2018 10:42 am
languages_spoken: korean
ODROIDs: c2, xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by testki144 » Tue Sep 10, 2019 12:36 pm

서버로 테스트한 결과입니다.
오른쪽 LED가 USB포트와 가까운쪽 RJ45 LED입니다.

1. 서버와 C2 동시 전원인가
[ 23.383931@0] libphy: stmmac-0:00 - Link is Up - 100/Full
왼쪽 LED On 오른쪽 LED Off

2. 서버부팅중
[ 61.383913@0] libphy: stmmac-0:00 - Link is Down
[ 62.383917@0] libphy: stmmac-0:00 - Link is Up - 1000/Full
왼쪽 LED Off 오른쪽 LED On

3. 몇분후
up time: 00:03:17, idle time: 00:12:28, sleep time: 00:00:00
[dhcp.eth0.pid]: [3252]
[dhcp.eth0.reason]: [PREINIT]
[dhcp.eth0.result]: []
[init.svc.dhcpcd_eth0]: [running]
up time: 00:03:45, idle time: 00:14:22, sleep time: 00:00:00
[dhcp.eth0.pid]: [3252]
[dhcp.eth0.reason]: [PREINIT]
[dhcp.eth0.result]: [failed]
[init.svc.dhcpcd_eth0]: [stopped]
왼쪽 LED Off 오른쪽 LED On

4. 서버부팅완료
왼쪽 LED Off 오른쪽 LED On
dhcpcd stopped
ip할당실패

5. 케이블 제거후 다시 연결
[ 526.383913@0] libphy: stmmac-0:00 - Link is Down
[ 528.383948@0] libphy: stmmac-0:00 - Link is Up - 1000/Full
왼쪽 LED Off 오른쪽 LED On
dhcpcd running
ip할당성공

User avatar
codewalker
Posts: 715
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 30 times
Been thanked: 22 times
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by codewalker » Tue Sep 10, 2019 2:20 pm

제가 가진 AP로는 말씀하신 상황 재현이 어렵습니다.
아래와 같이 명령어를 줬을 때 케이블 다시 연결 하지 않거나 c2를 재부팅 하지 않아도 되는지 확인 부탁드립니다.

Code: Select all

$ su
# ifconfig eth0 down
# ifconfig eth0 up
위 명령어로 ip를 할당 받을 수 있다면 다음과 같이 makebootini.sh 파일에 추가하여 보시기 바랍니다.

Code: Select all

$ adb remount
$ adb shell
# vi /system/bin/makebootini.sh

#!/bin/sh
if [ -e "/internal/boot.ini" ]
then
    break
else
    cp /system/etc/boot.ini.template /internal/boot.ini
fi

if [ -e "/internal/Image" ]
then
    break
else
    cp /system/etc/Image /internal/Image
fi


while true; do
    result=`getprop dhcp.eth0.result`
    if [ "$result" == "failed" ]; then
        result=`getprop init.svc.dhcpcd_eth0`
        if [ "$result" == "stopped" ]; then
            ifconfig eth0 down
            sleep 1
            ifconfig eth0 up
        fi
    elif [ "$result" == "ok" ]; then
        break
    fi
    sleep 30
done

testki144
Posts: 11
Joined: Thu Dec 20, 2018 10:42 am
languages_spoken: korean
ODROIDs: c2, xu4
Has thanked: 0
Been thanked: 0
Contact:

Re: C2 안드로이드 유선랜 dhcp 문의입니다.

Unread post by testki144 » Tue Sep 10, 2019 4:00 pm

ifconfig down/up 으로 해결이 되었습니다.

올려주신 스크립트를 적용해서 테스트 해보니 잘동작합니다.

도움 주셔서 감사합니다~

Post Reply

Return to “C0/C1/C1+/C2”

Who is online

Users browsing this forum: No registered users and 0 guests