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

안녕하세요! 오랜만에 질문을 올리게 되네요! ㅎ
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
6368 Apple TV 온보드 메모리 변경 가능할까요? [1] 당그니 2011-01-20 94744
6367 android pwm backlight 밝기 제어 [4] 김태영 2011-07-28 55215
6366 com.google.android.maps.jar는 어디서 얻는 것인가요??? [2] 천동이 2014-09-02 52340
6365 USB bluetooth dongle on jellybean [4] 신현호 2014-02-21 50336
6364 우분투 리눅스 ip 변경 도중에 "No such process" [5] 이세종 2009-04-01 46229
6363 OpenOCD 0.2.0 [1] 김광준 2009-10-24 44981
6362 [질문]memset, mmap, memcpy에 대해서 질문 있습니다. [5] 이태간 2007-05-22 44942
6361 libpcap 설치 [1] Apostasy 2011-04-12 44122
6360 램디스크 파일 시스템 만들기 [4] sinwho 2015-08-19 43730
6359 USB 포팅관련 질문드립니다. [1] 김승한 2010-01-07 33328
6358 android에 libusb porting 해보신 분?? [2] 꿈의사람 2014-02-13 29617
6357 오드로이드 배터리 패치 문의 [1] 이종문 2010-07-01 29073
6356 ODROID-T 2.2 셧다운 후 부팅이 안됩니다. [2] shkim 2010-10-02 26896
6355 오드로이드 디버깅이 안되네요... [2] 현쓰 2010-02-01 26611
6354 [질문]wince 이미지 다운로드시 에러 [3] 이태간 2008-04-06 26266
6353 slide event에 따른 landscape & portrait mode 전환 [1] 나영찬 2010-03-25 24673
6352 Andorid ALSA에 관해서...2 [1] 꺼북이 2011-05-18 24491
6351 wm1811 드라이버를 찾아요 [9] 김민욱 2016-11-01 18787
6350 이더넷 핀에서 값을 읽어 오고 싶은데요... [2] rubio 2013-07-09 13050
6349 usb host api 가 리눅스단에서도 사용가능한가요? [1] biokk 2014-02-07 11392

사용자 로그인