도와주세요!!
여러곳의 포럼 게시판에 질문을 해봤는데 해결이 되지 안아서 FA포럼에도 질문을 하게되었습니다.
해결을 위한 실마리라도 찾고싶습니다.
사용한 보드는 망고100보드이며 부트로더에서 tftp로 커널이미지를 다운받기 전에
네트웤 점검을 하려고 했지만 이게 뜻대도 되지 않고 있습니다.
cross cable로 pc와 타겟보드를 연결하고 ping 테스트를 시도해보았습니다.
타겟보드에서 윈도우 pc로 ping을 보내보았지만 응답이 없습니다.
이더넷 컨트롤러는 제대로 올라간듯 보입니다만 autonego에서 실패하고 있습니다.
제 설정 상태는 다음과 같습니다. (첨부한 파일로 보시면 더욱 편합니다.)
<윈도우 pc>
ip 주소 : 192.168.10.100
서브넷 : 255.255.255.0
기본 게이트웨이 : 192.168.10.1
<임베디드 타겟보드>
ip 주소 : 192.168.10.20
서브넷 : 255.255.255.0
게이트웨이 : 192.168.10.1
<보드 메시지>
MANGO100 # pri
bootargs=rootfstype=jffs2 root=/dev/mtdblock2 init=/init console=ttySAC1,115200
bootcmd=nand read c0008000 40000 400000;bootm c0008000
bootdelay=5
baudrate=115200
ethaddr=00:40:5c:26:0a:5b
serverip=192.168.0.10
netmask=255.255.255.0
ipaddr=192.168.10.20
gatewayip=192.168.10.1
stdin=serial
stdout=serial
stderr=serial
Environment size: 318/16380 bytes
MANGO100 # ping 192.168.10.1
smc911x: initializing
smc911x: detected LAN9220 controller
smc911x: autonegotiation timed out
smc911x: MAC 00:40:5c:26:0a:5b
ping failed; host 192.168.10.1 is not alive
MANGO100 # ping 192.168.10.100
smc911x: initializing
smc911x: detected LAN9220 controller
smc911x: autonegotiation timed out
smc911x: MAC 00:40:5c:26:0a:5b
ping failed; host 192.168.10.100 is not alive
MANGO100 #
----------------------------------------------------------------------------------------
위와 같이 실패 메시지가 출력되며
케이블에 이상이 있을까 염려되어 pc 와 pc끼리 테스트를 했을때는 문제가 없었습니다.
어떤 설정에 문제가 있는걸까요?? 방화벽은 없습니다.
그리고 또 궁금한 것 한가지!! 타겟보드와 pc사이에 크로스 케이블을 연결을 하면 네트웤 설정에 관계없이
윈도우상에서 제어판에 네트웤 설정중에서 [로컬영역연결] 부분에 알수없는 네트웤이라던지 네트웤 연결됨이라는
링크가 연결되었다는 메시지가 보여야 되지 않나요?? 케이블을 뺐다꼈다 해보아도 언플러그드 상태로
링크상태가 변하지 않는것을보니 이더넷포트에서 인식조차 되지 않는것이 아닌가하는
느낌이 듭니다... 도움 부탁드립니다.
유영창님 답글 감사합니다. 이 질문에 대한 답변을 처음 받아보네요.. 눈물 좀 닦고 ㅋ
제가 당장 허브를 구할 방법이 없어서 사용중인 iptime 공유기를 가지고 시험을 해보았습니다.
직접 눈으로 케이블의 선배열을 보아서는 크로스 케이블이 맞습니다.
pc와의 연결시에 링크가 살아났고 ping의 응답이 있는것으로 보아서
말씀하신대로 iptime공유기 내부의 스위치칩에서 utp케이블 종류를 감지하여 자동으로 바꾸어 주는 것 같습니다.
두번째로 보드와 허브의 연결을 해보았습니다. 링크 LED의 반응없습니다.
해당 보드의 게시판에서 케이블을 연결했을 경우가 아니라
ping 명령어를 사용한다든지 해서 패킷을 주고 받아야
LED가 들어온다는 문구를 보았던 기억이 있어서
보드의 게이트웨이와 ip대역대를 iptime 공유기의 192.168.0.X 으로 맞추어 놓고
ping 을 때려보아도 역시나 LED off에 autonego fail이네요...
케이블 문제가 아니라고 판단되는데 다른 관점에서 파악할 방법이 있다면
조금이라도 말씀해주시면 감사하겠습니다.
음.. 퇴근시간이 다 되셨겠군요~ 좋은하루 보내세요.
언제든 답변을 기다리겠습니다.
만약 케이블 문제가 아니라면..
제가 보기에는 보드의 하드웨어 적인 문제를 검토해 볼 필요가 있을 듯 합니다.
칩 초기화가 되었다고 이더넷에 하드웨어가 정상이라고 볼수는 없습니다.
컨트롤러는 이더넷의 MAC 까지만 처리하고 그 나머지는 PHY 라고 하는 컨트롤러가 처리 합니다.
이 PHY 는 실제로 허브나 다른 이더넷 PHY와 초기에 통신을 합니다.
소프트웨어적으로 자동 디텍션을 하라고 했다면 PHY끼리 통신해야 합니다.
허브와 통신에 실패 해서 링크 불이 들어 오지 않는다면
그것은 PHY 측 하드웨어 문제로 볼수 있는 것이지요
보통 부트로더 상에서는 해당 PHY 초기화를 하드웨어 초기화 처리 루틴에서 하는 경우도 있고
실제로 네트워크를 할때 초기화 하는 경우도 있습니다.
일반적으로 리눅스까지 그냥 진행 시켜서 동작 시켜보면 리눅스는 대부분 부팅 과정에서 AUTO 로 놓으면
자동으로 진행합니다. 즉 링크불은 켜져 있어야 한다는 것이죠
현재 위에 셋팅 상태로 보았을때는 별로 문제가 없어 보입니다.
아무래도 하드웨어 불량이 아닐까 생각됩니다.
케이블 문제가 아닐까 추측해 봅니다.
네트워크 칩에 따라서 TX , RX 선을 자동으로 인식해서 전환해 주는 칩이 있고
그렇지 않은 칩이 있습니다.
크로스 케이블이어야 하는데 정말 크로스 케이블일지는 확인이 필요하다고 생각합니다.
PC와 PC 사이에 잘되는 것은 요즘 PC 들이 자동으로 연동하기 때문이지요
다음과 같은 절차로 케이블을 먼저 확인해 주세요
1. 일반적인 허브를 하나 구하십시오 ( 공유기도 괜찮습니다. )
비싼 허브가 아닌 성능이 떨어지는 허브를 사용해 주시기 바랍니다.
비싼 허브는 케이블을 자동으로 절체할 수 있기 때문입니다.
2. 해당 케이블을 PC 와 허브로 연결하시고 링크 LED가 동작하는지 확인해 주세요
3. 동일한 방식으로 보드와 허브를 연결하시고 링크 LED가 동작하는지 확인해 주세요
이때 링크가 된다면 해당 케이블은 크로스 케이블이 아니고 보드는 자동으로 선을 절체하지 못하는 칩이 증명되는 겁니다.
4. 이때 안된다면 해당 케이블은 크로스 케이블이므로 케이블 문제가 아니기 때문에 다른 문제의 관점에서 접근해야 겠죠.