기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
제가 안드로이드 태블렛 하나를 가지고 있는데요...
여기에 cp210x 드라이버를 올려야 되는 상황입니다.
커널소스도 없는 상태이고요.
커널소스는 다음주 중에 준다고 했는데...
지금 급하게 cp210x를 올려야 됩니다.
그래서 우선 같은 커널 버전을 사용하는 다른 제품 커널소스를 구해다가
arm 컴파일러로 컴파일 해서 cp210x.ko 모듈만 빼서 올려봤습니다.
그랬더니
#insmod cp210x.ko
insmod: init_module 'cp210x.ko' failed (Exec format error)
#dmesg
cp210x: no symbol version for module_layout
이렇게 오류가 나옵니다.
혹시 컴파일러 버젼도 같게 해야하나요?
간단하게 될줄 알았는데... 오늘 하루 종일 이거랑 씨름하네요... ㅠㅠ
----------
안드로이드 설정에 태블릿 정보 커널버전 보면 3.0.8+ 라고 나옵니다.
저는 커널 3.0.8로 컴파일 했고요.
3.0.8+ 하고 3.0.8하고 다른 버전 인가요? 이게 문제가 될 수 있을까요?
----------
태블릿 안에 있던 드라이버 모듈을 하나 빼서 file 명령어로 한번 비교 해 봤습니다.
# file 8192cu.ko (태블릿에 들어있는 드라이버 모듈)
8192cu.ko: ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped
# file cp210x.ko (제가 컴파일 한 드라이버 모듈)
cp210x.ko: ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped
똑같은데 왜 오류가 발생할까요? ㅡ,.ㅡ)a"
저 메시지는 보통 커널 버전이 안맞을때 나는 메시지 같은데요?
.ko 파일은 커널 버전이 동일해야 합니다. :)
ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped
->요건 요즘은 대부분 다 이렇게 되어 있어서, 별로 신경쓰지 않으셔도 됩니다.
cp210x는 커널 소스에 기본으로 포함되어 있는 것으로 아는데.. ^^