기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
S3C6410보드에 SMSC LAN9215 를 사용하고 있습니다.
타겟보드에서 LAN이 100BaseT / Full duplex 일 때 Freeze되는 문제가 있어서 살펴봤더니
LAN911X 드라이버가 올라가 있는겁니다. 드라이버가 잘 못 올라가있었던거죠. ㅠㅠ
LAN9215 드라이버를 찾아보니 Linux Kernel 2.6.29 버전부터 들어있었습니다.
smsc911x.[c/h] 파일을 받아서 Linux Kernel 2.6.28에 넣었더니
인터페이스가 다른지 빌드 에러가 납니다. 어떻게 해야하죠?
http://lwn.net/Articles/193683/
http://article.gmane.org/gmane.linux.network/40747
요런 사이트 보고 작업하고 있긴 한데 Opps가...
혹시 경험 있으신분 조언좀 부탁드립니다.
커널 2.6.28 용 LAN9215 드라이버(smsc911x.c) 를 구해서 이것저것 실험해 보고 있습니다.
LAN921{5,6,7,8} 드라이버(smc911x.c)를 올렸을 때 발생했던 문제점 (100M Full Duplex일 때 이더넷이 Freeze 되는 현상)은 사라졌습니다.
하지만 부팅때 irq 관련 에러가 뜨고... 하지만 동작은 합니다.
(초보라 무슨뜻인지 몰라서 열심히 찾아보고있는 중입니다)
irq 111: nobody cared (try booting with the "irqpoll" option)
[<c0363500>] (dump_stack+0x0/0x14) from [<c00868dc>] (__report_bad_irq+0x38/0x90)
[<c00868a4>] (__report_bad_irq+0x0/0x90) from [<c0086a7c>] (note_interrupt+0x148/0x1cc)
...중략...
구느님의 도움을 받아 성공하였습니다.
죽는 현상 없으며 속도 잘 나오고 Full Duplex 모드도 아주 잘 동작합니다.
물론 약간의 수정이 있었고 kernel parameter도 추가하였네요.
도움주신분들께 감사드립니다.
제 기억으로 커널에 있는 드라이버로 포팅하면 안될겁니다.
업체분이시라면 칩 회사나 대리점을 통해서 9215드라이버 요청하면 어렵지 않게 받을 수 있을껍니다.
포팅하는데도 그렇게 어렵지 않게 말그대로 그냥 포팅수준으로 작업을 마무리 하실수있으실 겁니다.