[완료]카메라구입처에서 받은 드라이버가 적재가 안됩니다.

yo-tteum의 이미지

GIGE vision Camera 용 리눅스버전 드라이버를 받았는데요.

라이브러리를 설치하고 나면 드라이버 폴더에 드라이버가 있는데.

Pro1000-2.6.9-55.ELhugemem.ko Pro1000-2.6.9-55.ELsmp.ko
Pro1000-2.6.9-55.EL.ko

이렇게 세개의 파일이 있습니다.

원래 제 리눅스 환경이 fedora core8 kernel 2.6.23 이었는데요. 여기서 저 모듈들이 안올라가서

본사에 문의했더니 core6 2.6.18에서 쓰는사람이 있다고해서 저도 core6 2.6.18로 바꿔서 해봤는데도 안되서

저 파일 이름에 있는것처럼 fedoracore3 2.6.9-1 로 바꾸고 해봤는데도

[root@localhost Drivers]# insmod Pro1000-2.6.9-55.EL.ko
insmod: error inserting 'Pro1000-2.6.9-55.EL.ko': -1 Invalid module format
[root@localhost Drivers]#

이렇게 나옵니다. 2.6.18에서 쓰고 있다는 사람은 도대체 뭘까요. 소스를 안주고 저렇게 ko 파일로만 줬습니다.
혹시 제가 간과한 부분이 있나요? 많은 조언 부탁드립니다.
그리고 저 드라이버이름에 나온 "RedHat Enterprise Linux 4.5( kernel 2.6.9-55 EL ) "을 받을 수 있는곳이 있나요? 너무 답답해서

CentOS가 클론이라는데 RedHat Enterprise Linux 4.5 의 클론버전은 CentOS4.5 가 맞나요?

저것과 동일한 환경에서 해보려고 합니다. 자꾸 2.6.18 에서 된다는 사람이 마음에 걸리네요. 해외의 다른 고객이라길래, 따로 연락해볼수도 없고 ㅠㅠ

파일을 한번 올려봅니다. 시간 나시는 분 심심풀이로 한번만 해보실 생각 없으신가요.

그리고 커널버전을 2.6.9-55.EL로 똑같이 바꾸려면 어디서 받나요. kernel.org에 가도 끝에 -55 이런식으로까지의 버전은 없는것 같던데 ㅠ

읽어주셔서 감사합니다.

File attachments: 
bushi의 이미지

modinfo 를 사용하시면 모듈에 대한 정보를 볼 수 있습니다.
어떤 놈을 올려야 할 지는 uname -a 의 결과를 보고 적당히 선택하세요.

redhat enterprise linux 혹은 centos 일 텐데,
전자는 redhat korea 에 문의해서 구입하시면 되고,
후자는 검색해서 다운로드하면 됩니다.
linux-2.6.9 를 사용하는 버전이 정확히 뭔지는 모르겠습니다.

insmod 혹은 modprobe 의 -f 옵션 참고하세요.

       -f --force
              Try to strip any versioning information from the  module,
              which  might  otherwise stop it from loading: this is the
              same as using both --force-vermagic  and  --force-modver-
              sion.  Naturally, these checks are there for your protec-
              tion, so using this option is <span><span>dangerous</span></span>.
 
              This applies to any modules inserted: both the module (or
              alias)  on  the  command line, and any modules it depends
              on.

OTL

송효진의 이미지

GigE Vision 이라는게 제품명이 아니고 기가비트 이더넷 통신을 하는 카메라를 지칭하는 말인가보군요.
좀 더 정확한 장치(제품)명으로 드라이버를 찾으면 나올거라고 생각됩니다.
이더넷 장치이니 lspci, lsusb 로는 안나오겠고,
카메라에 모델명이 적혀있지 않을까요?

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~
http://xenosi.de/

yo-tteum의 이미지

저 위에 드라이버가 해당 카메라 제조사로부터 받은 드라이버입니다. 지금 계속 시도중입니다. ㅠㅠ

mrjh76의 이미지

kernel-2.6.9-55.EL 버전에서 컴파일된 바이너리 드라이버를 받으셨으니,,,

해당 버전 커널을 설치하시고,,, 드라이버를 사용하시면 되겠네요!~

그냥 CentOS 4.5 버전 설치하시고,,, 사용하는게 가장 편할듯...

미러하는곳에서 해당 버전의 커널 패키지들이 많이 삭제 되었네요...

웹서핑 해보니,,, 아래 URL 에서 해당 커널 패키지를 찾을 수 있네요!

페도라6에 아래 커널 패키지는 의존성 문제로 설치되지 않을 수 있습니다.

http://afs.caspur.it/afs/italia/project/bigbox/e4/i386/updates-kernelonly/

yo-tteum의 이미지

CentOS설치후 기대를 하면서 떨리는 마음으로 명령을 내렸는데..

[root@localhost Drivers]# uname -r
2.6.9-55.ELsmp
[root@localhost Drivers]# insmod Pro1000-2.6.9-55.ELsmp.ko
insmod: error inserting 'Pro1000-2.6.9-55.ELsmp.ko': -13011 Success
[root@localhost Drivers]# ../Binaries/StartDriver
Loading module /usr/local/iPORT/Drivers/Pro1000-2.6.9-55.ELsmp.ko...insmod: error inserting '/usr/local/iPORT/Drivers/Pro1000-2.6.9-55.ELsmp.ko': -13011 Success
Module could not be loaded
check /var/log/message or dmesg for details
[root@localhost Drivers]#

-13011 Success 라는건 찾아봐도 안나오네요.
ㅡ ㅡ ;

혹시 gcc 버전이 달라도 이런경우가 생길 수 있나요?

[root@localhost Drivers]# modinfo Pro1000-2.6.9-55.ELsmp.ko
filename: Pro1000-2.6.9-55.ELsmp.ko
license: Proprietary
description: Pro/1000 Grabber adapter
author: Pleora Technologies Inc.
vermagic: 2.6.9-55.ELsmp SMP 686 REGPARM 4KSTACKS gcc-3.4
depends:
[root@localhost Drivers]# gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.6/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.6 20060404 (Red Hat 3.4.6-8)
[root@localhost Drivers]#

3.4와 3.4.6-8 인데..;

휴...

모듈을 적재할 때도 shared library 를 가져다 쓰는것인가요? 지금 라이브러리는 설치했는데 샘플소스를 컴파일 해봐도 make오류가 나거든요.

Makefile 내에
.check-vars:
@[ ! "$(IPORT_ROOT)" = "" ] || ( echo "IPORT_ROOT is not set"; exit 1 )
@[ -d $(IPORT_ROOT) ] || ( echo "IPORT_ROOT is not valid"; exit 1 )

이런 구문이 있고 IPORT_ROOT는 설치경로를 뜻하는 거라서 .bash_profile 에 "IPORT_ROOT=/usr/local/iPORT"
라고 해놨는데

[root@localhost Simple]# echo $IPORT_ROOT
/usr/local/iPORT
[root@localhost Simple]# make
IPORT_ROOT is not set
make: *** [.check-vars] Error 1
[root@localhost Simple]#

이렇게 됩니다. ..........

로그파일을 보면
Jan 9 17:32:21 localhost kernel: Pro/1000 Grabber Adapter Driver - Copyright (C) by Pleora Technologies Inc. 2003
Jan 9 17:32:21 localhost kernel: Pro/1000 Grabber Adapter Driver Loaded (major: 254)
Jan 9 17:32:21 localhost kernel: No adapters found
Jan 9 17:32:21 localhost kernel: Pro/1000 Grabber Adapter Driver Unloaded (major: 254)
Jan 9 17:35:17 localhost dhclient: DHCPREQUEST on eth0 to 192.168.153.254 port 67

항상 시도할때마다 이런식인데요. No adapters found는 왜나오는걸까요. 카메라도 장착 해놨는데요. ㅠ

mrjh76의 이미지

일단,,, 커널 모듈이랑... GCC 버전은 상관없어 보입니다.

모듈 문제는... 제조사에 문의를 하는게 좋을듯 합니다!

그리고 두번째... make 는... export 붙여주면 될 것 같습니다.

export IPORT_ROOT=/usr/local/iPORT

yo-tteum의 이미지

Makefile 마지막줄에

export IPORT_ROOT=/usr/local/iPORT

를 추가했더니 컴파일은 이제 되네요 ㅋㅋ

그런데 이제 컴파일이 에러가 납니다.

[root@localhost Simple]# make
g++ -g -D_UNIX_ -D_LINUX_ -D_DEBUG -I/usr/local/iPORT/Includes -c sample.cpp -o sample.o
g++ -L/usr/local/iPORT/Binaries -lCyUtils -lCyImg -lCyCom -lCyCam -lCyDisplay sample.o -o sample
/usr/bin/ld: warning: libSDL-1.2.so.0, needed by /usr/local/iPORT/Binaries/libCy Display.so, not found (try using -rpath or -rpath-link)
/usr/local/iPORT/Binaries/libCyDisplay.so: undefined reference to `SDL_Quit'
/usr/local/iPORT/Binaries/libCyDisplay.so: undefined reference to `SDL_UnlockSur face'
/usr/local/iPORT/Binaries/libCyDisplay.so: undefined reference to `SDL_LockSurfa ce'
/usr/local/iPORT/Binaries/libCyDisplay.so: undefined reference to `SDL_UpdateRec t'
/usr/local/iPORT/Binaries/libCyDisplay.so: undefined reference to `SDL_Init'
/usr/local/iPORT/Binaries/libCyDisplay.so: undefined reference to `SDL_GetError'
/usr/local/iPORT/Binaries/libCyDisplay.so: undefined reference to `SDL_FreeSurfa ce'
/usr/local/iPORT/Binaries/libCyDisplay.so: undefined reference to `SDL_GetVideoI nfo'
/usr/local/iPORT/Binaries/libCyDisplay.so: undefined reference to `SDL_SetVideoM ode'
collect2: ld returned 1 exit status
make: *** [sample] Error 1
[root@localhost Simple]#

마지막 에러
/usr/local/iPORT/Binaries/libCyDisplay.so: undefined reference to `SDL_SetVideoM

를 예로들면, 이런 레퍼런스가 없다고 하는것은, 그 드라이버 모듈이 적재가 안되어서 그런것 맞나요?

확실이 이제 드라이버모듈만 적재되면 되는 문제 맞겠죠? ㅠㅠ 한단계 전진할 수 있게 해주셔서 정말 감사합니다;

mrjh76의 이미지

모듈 드라이버 적재랑 컴파일과는 연관이 없습니다.

g++ -L/usr/local/iPORT/Binaries -lCyUtils -lCyImg -lCyCom -lCyCam -lCyDisplay sample.o -o sample

이 줄을 보면... -lSDL 이 빠져 있는것 같은데....

Makefile 에서...

-lSDL -L/usr/local/iPORT/Binaries -lCyUtils -lCyImg -lCyCom -lCyCam -lCyDisplay

와 같이 될수 있도록 추가해 보세요...

제 개인적인 생각에는 제조사에게... 제대로된 드라이버랑 라이브러리 제공하라고 하는게 더 좋을듯... 합니다!

문서도... 함께...

yo-tteum의 이미지

지속적인 답글 감사드립니다. 정말 미치겠습니다. 제조사는 gevicam 인데요 . 해당 제조사에서 드라이버를 제조하는것이아니고
GIGE vision 카메라들 드라이버 전문 회사인 pleora 사에 외주를 줘서 제작한다고 합니다. 그나마 리눅스계열 드라이버는
딱 두종류만 있네요. 지금 제가 삽질 하고 있는 내용이 이미 gevicam 사로부터 받은 라이브러리 파일과 드라이버입니다.
해당사에서 된다고 준 것들이 지금 이런 상황인 실정입니다. 그쪽 회사에도 윈도우쪽 비주얼 서포트 인력들은 있는데 리눅스쪽은 거의 전무한 실정이라고 합니다 . 외국의 어느 고객중에 2.6.18에서 설치해서 잘 쓰고 있다는 말만 해주네요 ㅠㅠ
그래서...제가 그냥 바보인거죠 ㅠㅠ 휴...

yo-tteum의 이미지

Pro1000 기가비트 이더넷 카드를 장착하고 나서는 busy 상태라고 모듈이 안올라가길래

lsmod로 보니까

e1000 이라는게 있어서 그걸 내리고 insmod 하니까 Pro1000 이라는 모듈이 올라갔습니다 ㅡ ㅜ

그리고 컴파일이 또 안되었었는데 ( 라이브러리가 없다는 ) 이것도 해당 모듈이 올라가 있으니까

컴파일이 됩니다. ㅠㅠ 도움주신분들 정말 감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.