기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
rtl8192cu wifi 모듈을 쓰고 잇는데요.. ( usb to wifi )
리눅스 보드의 카메라 데이터를 wifi로 전송을 하고 PC에서 받습니다.
처음에는 전송이 잘되다가 1시간 ~ 9시간 정도지나면 wifi가 죽드라구요. ㅠㅠ
[ 1235.470000] rtl8192c_sreset_xmit_status_check REG_TXDMA_STATUS:0x00006020
에러메세지와 함께.. ㅠ.ㅠ
PC쪽 어풀을 실행하고 cmd 창 에서 ping -t xxx.xxx.xxx.xxx 핑과 함께 보고 있는데..
보드 쪽에서 socket 통신할때 전송 방법도
select 함수 써가지고 write_fd 사용 했구요.
보내는 버퍼 크기도 1024 * 10 으로 했거든요.
PC쪽에서 읽어 갔을때 다시 다음 페킷 전송 하도록 해놯는데..
보드 는 살아 있습니다.
하지만 핑이 죽어버려요 ㅠ.ㅠ
왜이런걸까요?
드라이버 버그 일까요? ㅠ.ㅠ 리얼텍에서 허술하게 만들었을리는 없고 ㅡ.ㅡ;;
아님 커널 문제 일까요? ㅠ.ㅠ
1. PC에서의 핑이 죽으니 PC의 네트워크 쪽 문제는 아니고, 보드의 네트웤 문제로 보이고,
2. 세부적으로 원인을 찾기 위해서 일반적인(검증된) Network application(ftp...)으로도 문제가 있는 지 체크
3. 2번에서 문제가 발생한다면 고도리님 말씀처엄 wifi driver에 대한 업데이트 & 검증을 해야 할 것이고..
4. 필요하다면 network packet에 대한 dump 나 sniff를 돌려서 문제의 원인을 찾아야 할 듯합니다.
4. 2번에서 문제가 없다면 만드시 보드 어플에서 세부적으로 나누어서 디버깅이 필요할 것 같습니다.
1. 질문: 1024 * 10 이 1024개 짜리 10개를 ring buffer로 쓰셨다는 의미인가요?
2. 보통 wifi module 자체의 문제인 경우가 있습니다.....쩝
firmware update로 해결되는 경우도 있고요.
3. 가장 우선은 driver에 대한 버그패치를 먼저 찾아보시는게 나을 듯 합니다.