2009년 11월 19일
리눅스 디바이스 드라이버 - Trying to free free IRQ7
cat /proc/interrupts 를 입력하면
7: 2 90 IO-APIC-edge parport0
parport에서 irq7을 사용중인 것을 확인할 수 있다. 따라서 parport 모듈을 내려줘야 한다.
lsmod | grep parport 를 입력하면
parport 39049 2 parport_pc,lp
parport_pc와 lp가 parport 모듈을 참조하고 있다. 따라서 parport를 내리기 전 이 2개를 먼저 내려줘야 한다.
나는 lp가 parport_pc도 참조하고 있어서 lp를 먼저 내려줬다.
rmmod lp
rmmod parport_pc
rmmod parport
다시 모듈을 올리고 인터럽트를 시도했더니 정상적으로 수행되었다.
참고로, 초반에 vmware에서 리눅스를 돌려 실행했는데 번번히 실패했다.
인터넷 검색을 해보니 저자가 vmware에서는 인터럽트가 안된다는 말도 적혀있고, vmware에서 프린터 포트를 제어할 때 parport 드라이버를 사용하기 때문에 parport 모듈을 내려버리면 안된다는 얘기도 있는듯...
(참고:http://yarmini.com/blog/suneung/122?TSSESSIONyarminicomblog=2822bd0e675c90c628878ad45e2ddd44)
새로 리눅스 설치하고 커널패닉이 떠서 또 삽질 해주고...ㄱ-
머나먼 길을 거쳐서 성공 ㅠㅠ)v
내가 바보 같았던 것은 디바이스 파일이 재부팅하면 사라지는지 몰랐던 것...;ㅅ;
어쩐지 프로그램 실행만 하면 죽더라니...
문제도 해결했으니 빨리 수업 진도 따라가자.=_=)
# by | 2009/11/19 22:28 | Linux | 트랙백




