2.6커널 에서 WinModem모듈 등록할려고 2.4커널 컴파일 하는 도중에...
MW560LT Agere systems LT WinModem을 리눅스에서 테스트 할 일이 생겼습니다.
그래서 컴파일 해서 올리려고 보니
2.4.18까지만 정상동작 한다고 되어있더라구요. 그래서 2.4.18을 컴파일해서 올려보려고
다운받았습니다.
이제 이걸 컴파일하기 위해
일반적인 커널 컴파일 방법을 사용했을때
ln -s /linux-version/ /usr/src/linux
make mrproper
make menuconfig
까지 완료하고
make dep 를 수행하게 되면
Fedora core 6 에서는 genksyms가 없다고 나와서 2.6.20-1.2952.fc6버전
커널 소스를 받아서 컴파일 한 다음 /sbin 에 넣어주고 다시 실행하면
옵션 메세지가 출력되길래 확인해보니 옵션이 다르더군요.
2.6.20-1.2952.fc6 에 들어있는 건 genksyms version 2.5.60 이었고,
구글신에게 여쭈어보니 나오는 건
genksyms [-wq] [-dD] [-V] [-k version] [-p string] [output directory]
다음과 같은 옵션인 걸로 봐서는 커널 버전이 달라지면서 모듈 유틸로 바뀐 것으로 보고
2.4.18에 들어있는 genksyms를 사용하여 진행하였습니다. 옵션도 위와 같아서 올바른 파일로 봤습니다.
몇몇 파일이 없다고 나오는거 말고는 잘되더군요.ㅡㅡㅋ
이제 이미지를 생성하기 위해 make bzImage를 실행하면 다음과 같은 에러가 뜹니다.
---
/usr/src/kernels/linux-2.4.18/include/linux/smp.h:29: error: conflicting types for ‘smp_send_reschedule’
/usr/src/kernels/linux-2.4.18/include/asm/smp.h:65: error: previous declaration of ‘smp_send_reschedule’ was here
..
make: *** [init/main.o] 오류 1
---
에러 메세지를 보아하니, 헤더 파일을 두번 포함했다는거 같은데...(위 에러는 검색하니 나오는군요:))
커널 소스라 함부로 손을 못 대겠네요...oTL
www.kernel.org에서 다운받았는데, 제가 뭘 손봐야 할까요..
modutils-2.4.18 은 바이너리 패키지를 받아서, genksyms만 지정해놓고 썻습니다.
혹시나 싶어 init/main.c, include/linux/smp.h, include/asm/smp.h를 같이 올려봅니다.
.....파일 첨부가 안되는군요...oTL
해서 해당 부분...
init/main.c line 68-70 #ifdef CONFIG_X86_LOCAL_APIC #include <asm/smp.h> #endif
include/linux/smp.h line 25 /* * sends a 'reschedule' event to another CPU: */ extern void FASTCALL(smp_send_reschedule(int cpu));
include/asm/smp.h line 65 extern void smp_send_reschedule(int cpu);
당연히 안 되죠. 2.6
당연히 안 되죠. 2.6 커널과 2.4 커널은 구조가 다릅니다.
그리고 소프트웨어 모뎀은 대부분 배포판에서 패키지를 제공할 거 같은데요? fedora 6 winmodem 같은 키워드로 검색하세요.
추가: http://www.linmodems.org/ 사이트에 있는 scanModem 도구를 사용하면 도움을 줄 수 있습니다.
---- 절취선 ----
http://blog.peremen.name
답변 감사드립니다.
열심히 찾고 있습니다만, 2.6커널에서 사용가능한 것은 찾지를 못하였습니다.
제가 능력이 부족한 것인지...-0-
그래서 일단 scanmodem, lspci -vv, dmesg | grep tty, lshw결과값 올립니다.
보아하니 인식은 하고 있는거 같습니다.
wvdial 설정을 /dev/tty 하나씩 시도해보고는 있습니다만..
아직 안 보이는군요...oTL
추가: wvdialconf /etc/wvdial.conf 로 모뎀 포트를 찾아주는군요.
근데 결과는...oTL
자답이 되었습니다만..
http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6/
2.6커널용 드라이버가 있었네요..왜 못 찾았었는지;;
일단 저걸로 시도해봐야겠습니다.
그럼 ㅌㅌ
댓글 달기