기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.


현재 kernel 2.6.18을 기반으로 하여서 TCPIP 통신프로그램을 구현해 테스트 중에 


문제가 발생해 조언을 구할수 있을까 해서 질문을 드립니다.


정확한 테스트 환경은 OMAP-L137이라는 ARM9과 DSP 멀티코어 CPU에 커널 2,6.18버전을 올렸습니다. 


부팅이 되면 TCPIP 통신프로그램(서버)이 실행이 됩니다. 


통신프로그램은 pthread로 구현을 하였으며 사용자(클라이언트)가 어떤 명령어를 입력하면


read()함수를 이용해 TCP수신 버퍼에 저장된 명령어를 읽어와  


해당하는 결과 값을 사용자에게 전송하는 프로그램입니다.


문제가 발생하는 부분은 사용자에게 전송하는 부분으로 결과값을 write()함수를 이용해 TCP송신버퍼에


저장까지는 하는데 막상 사용자까지는 전송이 되지 않습니다. 


wireshark로 확인을 해봐도 패킷이 전송된 흔적이 없었습니다.


그리고 write()함수의 리턴값을 확인해 보면 전송하려는 바이트수가 넘어와 


수신버퍼에 정상적으로 저장이 된것 같습니다.


즉, 현재 테스트결과 판단되는 부분은 프로토콜상에서 전송을 안하는 것이 아닌가 하는 상황입니다.


이런 상황은 계속 발생하는 것은 아니고 명령어를 10만번 정도 주고 받다가 한번씩 발생합니다.


문제가 발생할수 있는 부분이 광범위하긴 하지만 


혹시 이런 경험을 해보셨다거나 관련된 내용을 아신다면 조언부탁드리겠습니다.


관리자

2014.01.10 04:23:30
*.200.239.210

lan driver나 lan의 문제로 보여집니다.

대부분 위와 같은 경우 그렇습니다.

 

예전 2006년도 모회사 칩을을 aesop-2440 board에 사용하려고 하다가 위와 같은 문제 때문에 포기한 적이 있습니다.

물론, 현재는 버그를 잡았는지 모르겠지만, 여하튼 유사 증상이 있었습니다.

SpecialCase

2014.01.10 06:21:36
*.177.158.129

사용하는 lan chip은 TI사의 DP83848인데 혹시 그 chip은 아니겠죠^^.

고도리

2014.01.10 04:34:50
*.200.239.210

lan chip 문제로 보여지는데, 어떤 칩인지 모르면 답이 힘들지 않을까 생각합니다.

linux에서 lan 쓰면서 그런 문제가 발생한다는 것은 대부분 lan문제인데,

어떤 칩인지 없어서 답이 힘듭니다.

참고로 말씀드리면, linux tcp/ip stack은 꽤 견고하게 짜여져 있습니다.

즉, 버그가 거의 없다라고 보시면 됩니다.

제가 테스트하던 장비(2.4.18, 2.6.18)도 1년 넘게 끄지 않고 사용 했었습니다.

SpecialCase

2014.01.10 06:24:16
*.177.158.129

사용하는 lan chip은 TI사의 DP83848입니다. lan chip은 전혀 의심하지 않았는데 한번 확인해 봐야겠습니다.

고도리

2014.01.10 04:56:05
*.200.239.210

참, cpu interface에서도 loss가 있을 수 있으니, cpu쪽 interface도 확인하시는게 맞을 듯 합니다.

 

깜빡했네요....가끔 bus가 이상한 짓을 하는 경우도 있으니깐요.

그래도한다

2014.01.19 07:12:42
*.86.40.34

L138 로 개발 의뢰 받아 2년전쯤에 수정 해준 적이 있는데, 

그 당시에도 네트웍에 문제가 많이 나와 고생 한 기억이 나네요.


언급한 파이칩을 보시는게 맞는듯 하고, 

스코프로 rx, tx, mdc, mdio 전부 찍어 봐야 할겁니다.


장치를 인식 하면 mdc 나 mdio 쪽은 이상 없다고 생각 될수도 있는데,

그게 또 여러 상황이 있는지라 그때 그때 다르더군요.


S/W 쪽은 파이 인식 부분부터 드라이버 디버깅 하면서 보시고,

H/W 쪽은 위에 말한것처럼 스코프 찍고 파형 확인 하면 원인 파악이 금방 될실듯 하네요.


List of Articles
번호 제목 글쓴이 날짜 조회 수sort
5828 [완료]printk & UART질문 [2] 조성철 2007-06-28 1874
5827 VMWARE 에서 이동식메모리가 인식이 되지 않는데..... [1] blue0sky 2014-01-07 1873
5826 안드로이드 sd카드 인식 문제 [2] 누구누구 2011-08-30 1872
5825 ARM에서 modified virtual address와 process id가 왜 필요할 까요... [3] 이종진 2009-03-16 1872
5824 Android - ALSA HAL 관련 문의 [1] 새희망 2012-02-08 1870
5823 MP2530에 LAN91C113 드라이버 질문 [1] 정순철 2009-08-01 1870
5822 [완료] 이솝 3차 보드 구입하기가 힘들어서 PCB를 제작할려고 하... [6] 황순일 2007-06-05 1864
5821 [ARNDALE BOARD] 오디오 관련해서 문의드립니다. file [3] 강현성 2013-02-05 1863
5820 vold 사용시 문제. [2] 김종현 2009-08-06 1863
5819 [Linux] SMSC911x Driver Upgrade 관련 질문... [3] 스페셜 2012-04-19 1862
5818 안드로이드 개발 서버 구축 (우분투 설치) [5] jacket 2011-02-17 1860
» TCPIP 통신에 관해 질문있습니다. [6] SpecialCase 2014-01-09 1858
5816 u-boot 에서 usb 메모리스틱 읽기...<==[완료!] [3] 이율삼 2006-08-12 1856
5815 android key up timeout 값 관련 [2] 신현호 2013-02-28 1855
5814 커널 패닉에러.. [1] 곰비 2011-09-27 1854
5813 u-boot ext3format, fastboot 문제점 nsys 2013-02-19 1853
5812 S3C6410에 Micro SD를 쓰는데 에러 발생 윤상인 2013-12-05 1847
5811 libusb 보드에서 드라이버 인식 [1] pedor11 2014-01-29 1846
5810 ethernet 초기화 [1] 권오혁 2013-04-20 1846
5809 디바이스드라이버 등록하는 방법 [2] 갱고 2011-12-16 1846

사용자 로그인