Winmodem 모듈 등록시 궁금한 것이 있습니다.
글쓴이: bff38auxo / 작성시간: 월, 2007/06/18 - 6:26오후
이전에 http://kldp.org/node/83291 와 같은 글타래를 올린 적 있습니다.
드라이버를 찾아서 컴파일 시도를 하였지만 알 수 없는 버그가 나오더군요:(
그래서 검색을 해 보니 우분투 포럼에서는 이미 사용자 수준의 패치가 나와있었습니다.
동일한 범위의 Device ID를 사용하고, 메인테이너도 같아서
패치가 적용된 파일을 받아 컴파일하여 등록까지 무사히 마쳤습니다.
패치 내용
patchltmodem diff -Nru ltmodem-2.6-alk-8.orig/lt_modem.c ltmodem-2.6-alk-8/lt_modem.c --- ltmodem-2.6-alk-8.orig/lt_modem.c 2005-12-12 03:18:55.000000000 +0200 +++ ltmodem-2.6-alk-8/lt_modem.c 2006-04-19 21:43:32.142640500 +0300 @@ -120,14 +120,14 @@ static int vendor_id = 0; static int device_id = 0; -MODULE_PARM(vendor_id, "i"); +module_param(vendor_id, int, 0); MODULE_PARM_DESC(vendor_id, "Vendor ID of the Lucent Modem e.g. vendor_id=0x11c1"); -MODULE_PARM(device_id, "i"); +module_param(device_id, int, 0); MODULE_PARM_DESC(device_id, "Device ID of the Lucent Modem e.g. device_id=0x0440"); static int Forced[4] = {-1,-1,-1,0}; -MODULE_PARM(Forced, "4i"); +module_param_array(Forced, int, NULL, 0); MODULE_PARM_DESC(Forced, "Forced Irq,BaseAddress,ComAddress[,NoDetect] of the Lucent Modem e.g. Forced=3,0x130,0x2f8"); static diff -Nru ltmodem-2.6-alk-8.orig/serial.c ltmodem-2.6-alk-8/serial.c --- ltmodem-2.6-alk-8.orig/serial.c 2005-12-12 03:07:17.000000000 +0200 +++ ltmodem-2.6-alk-8/serial.c 2006-09-21 21:53:08.055717500 +0300 @@ -732,7 +732,9 @@ .devfs_name = "tts/LT", .dev_name = "ttyLT", #else +# if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)) .devfs_name = "tts/LTM", +# endif .dev_name = "ttyLTM", #endif .major = 62,
그런데 minicom에서 장치 설정 후 들어가게 되면 시스템이 먹통이 되네요:(
바로 < minicom > 으로 실행해도 그렇고, < minicom -s > 로 설정 후 를 해도 마찬가지입니다.ㅜㅜ
minicom 설정 (다른 부분은 변경하지 않았습니다.)
Serial port setup A - Serial Device : /dev/modem B - Lockfile Location : /var/lock C - Callin Program D - Callout Program E - Bps/Par/Bits : 1200 8N1 F - Hardware Flow Control : Yes G - Software Flow Control : No
사용한 환경은 다음과 같습니다.
Kernel ver: 2.6.20-1.2952.fc6
모듈 등록 절차
mknod --mode=0660 /dev/ttyLTM0 c 62 64 change owner and group owner to match /dev/ttyS0 ln -s /dev/ttyLTM0 /dev/modem make cp *.ko /lib/modules/`uname -r`/serial depmod -a
modprobe.conf 에 추가한 내용
alias /dev/modem ltserial alias char-major-62 ltserial alias /dev/ttyLTM0 ltserial
lsmod 결과
ltserial 15024 0 ltmodem 560720 1 ltserial
Forums:
자답입니다만...
커널 2.6.12 이후 버전용 드라이버는
http://linmodems.technion.ac.il/packages/ltmodem/kernel-2.6/martian
여기에 올라와있더군요...:)
그중 최신 버전인 martian-full-20061203.tar.gz 로 하니 잘되었습니다.
참고로,
kmodule디렉토리로 가서
make modules
make install
해주셔야 모듈이 설치됩니다.
부팅시마다 자동으로 모듈을 등록하려면
scripts디렉토리에서 'automate.sh를 실행해 주시면' 됩니다.
댓글 달기