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

안녕하세요! 오랜만에 질문을 올리게 되네요! ㅎ
S3C6410 보드를 사용하고 있고, Kernel은 2.6.28을 사용하고 있습니다.
 
SMSC LAN9215 LAN chip을 사용하고 있는데, 다소 문제가 있어,
smsc911x driver를 아래 사이트에서 하라는데로 대치를 하였습니다.

-------------------
MAINTAINERS | 6 +
 drivers/net/Kconfig      |   14 +
 drivers/net/Makefile     |    1 +
 drivers/net/phy/smsc.c   |   28 +
 drivers/net/smsc911x.c   | 2091 ++++++++++++++++++++++++++++++++++++++++++++++
 drivers/net/smsc911x.h   |  394 +++++++++
 include/linux/smsc911x.h |   42 + 7 files changed, 2576 insertions(+), 0 deletions(-)
 create mode 100644 drivers/net/smsc911x.c
 create mode 100644 drivers/net/smsc911x.h
 create mode 100644 include/linux/smsc911x.h
---------------------
 
즉 Kconfig, Makefile와 smsc.c 파일을 수정하고,
smsc911x.c, smsc911x.h와 include/linux/smsc911x.h 파일을 만들었습니다.
또한 make menuconfig 에서 기존 메뉴를 uncheck 하고 새로 추가된 메뉴에 check를 하였습니다.

그런데 smsc911x.c 파일에서 smsc911x_init_module 펑선은 지나가는데,
바로 다음에 불려져야 할 smsc911x_drv_probe 펑선이 불려지지 않습니다.
printk 문장을 위의 각 펑션 첫머리에 넣어서 확인을 하였습니다.
결국 드라이버가 제대로 올라 오지 못하는 것 같습니다. ㅠㅠㅠㅠㅠ;;
사이트에서 하라는거는 다 한것 같은데... 무얼 더 해야 되는지 모르겠네요~ㅠㅠ;;
 
고수님들의 행복한 조언을 부탁 드립니다.
꾸뻑~ㅎ
 
ps) 위의 create mode 100644는 무슨 뜻인가요? chmod 할때 주는거 같은데... 값이 너무 큰데...ㅜㅜ;;


죠니주니

2012.04.19 19:05:36
*.196.81.226

아키텍처단에

   platform_device_register(&smc91x_device);
이런식으로 추가를 해주신부분이 없으신게 아니신지요???

저런식으로 디바이스를 추가해주시고 네임을 맞춰주시면..

해당드라이버의 프로브 함수가 타는걸로 알고있는데요..

아키텍처부분을 살펴보시는게 좋을듯합니다..

프로브함수 안타는것은 아키텍처에서 디바이스를 등록해주지 않으셨을 확률이 있네요...

스페셜

2012.04.19 20:49:41
*.149.14.247

아하~ !! 그렇겠네요... 그걸 잊구 있었네요!

감사합니다. 당장 해 봐야겠습니다.

꾸뻑~~~^^*

스페셜

2012.04.19 23:10:14
*.149.14.247

그런데, 이미 test가 다 된 code 인것으로 알고 있는데,
아래의 serial debug message에 보면, memory allocation error가 발생하고 있습니다.

 

smsc911x: Driver version 2008-10-21.
JCHA, smsc911x_drv_probe(),step 01 !!!!!
vmap allocation failed: use vmalloc=<size> to increase size.
JCHA, smsc911x_drv_probe(),step 02 !!!!!
smsc911x: probe of smsc911x failed with error -12

 

그 위치의 소스를 보면,,

1957     printk("JCHA, smsc911x_drv_probe(),step 01 !!!!!\n");
1958     SET_NETDEV_DEV(dev, &pdev->dev);
1959
1960     pdata = netdev_priv(dev);
1961
1962     dev->irq = platform_get_irq(pdev, 0);
1963     pdata->ioaddr = ioremap_nocache(res->start, res_size);
1964
1965     printk("JCHA, smsc911x_drv_probe(),step 02 !!!!!\n");

 

이부분의 ioremap_nocache() function에서 발생하고 있는것 같습니다.
특별히 이상한 code는 아니데, 조금 난감합니다.

도와 주시면 감사하겠습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
5328 아이지 시스템 JTAG A1000 NAND Flash Loader (.axf) 파일 구... [5] 김진만 2009-03-18 1495
5327 안드로이드 dhcp 관련 질문드립니다. [5] 송형돈 2009-10-16 1495
5326 Exynos 5250 LCD 회전 [3] 윤동열 2013-02-08 1495
5325 무선랜 ?? <==완료 [3] 윤현승 2006-07-28 1494
5324 안드로이드 배터리 게이지 자동 업데이트 문의 [6] 이제현 2009-09-27 1494
5323 starting kernel 후 멈춥니다.. [15] kjh10101 2010-02-23 1494
5322 u-boot 관련 몇가지 질문이 있습니다. [3] Supsupi 2013-03-31 1494
5321 Android Booting시 screen mode(landscape/portlate) 변경 방법이 ... [2] yama 2011-10-08 1493
5320 동적라이브러리 링크 오류 [3] seokin 2012-01-03 1493
5319 제가 만든 모듈을 보드에 있는 커널에 삽입하려고 하니..아래와 같은... [1] 혜민아빠 2012-04-07 1493
5318 혹시 Android4.3에 들어온 Camera3 쪽 보고 계신분 없나요? EverydayMayday 2013-09-16 1492
5317 Arndale board 5250 용 커널 빌드시 에러 [5] realizeadream 2014-04-23 1492
5316 [완료]u-boot에서 tftp로 부트로더 올릴때 tftp에러 [3] 이재명 2007-06-21 1491
5315 삼성의 AP series 대리점에 대한 문의드립니다. [1] 어떤이의꿈 2012-11-26 1491
5314 [질문] jffs2 mount 에러 [2] 민세홍 2006-05-30 1490
5313 [완료] SMC91C111 driver 증상 한 번 봐주세요. [4] 강경완 2007-04-18 1490
5312 안드로이드 빌드, choosecombo 질문입니다. [1] 나노세컨드 2012-03-24 1490
5311 안드로이드 풀 빌드 시 구글 계정 사용할 수 있나요? [1] 코믹해커 2013-01-31 1490
5310 MAX8997 LDO15 관련 문의드립니다. [2] 혜정아빠 2013-06-12 1490
5309 qt 종료후 segmentation fault, Illegal instruction 오류. Supsupi 2012-04-26 1489

사용자 로그인